Merge pull request #17719 from civicrm/5.27
authorSeamus Lee <seamuslee001@gmail.com>
Wed, 1 Jul 2020 01:26:16 +0000 (11:26 +1000)
committerGitHub <noreply@github.com>
Wed, 1 Jul 2020 01:26:16 +0000 (11:26 +1000)
5.27

486 files changed:
CRM/ACL/DAO/ACL.php
CRM/ACL/DAO/ACLCache.php
CRM/ACL/DAO/EntityRole.php
CRM/Activity/BAO/Activity.php
CRM/Activity/BAO/Query.php
CRM/Activity/DAO/Activity.php
CRM/Activity/DAO/ActivityContact.php
CRM/Activity/Form/Activity.php
CRM/Activity/Import/Parser.php
CRM/Activity/Page/Tab.php
CRM/Activity/Selector/Search.php
CRM/Admin/Form/ContactType.php
CRM/Admin/Form/Extensions.php
CRM/Admin/Form/Navigation.php
CRM/Admin/Form/SettingTrait.php
CRM/Api4/Page/AJAX.php
CRM/Api4/Page/Api4Explorer.php
CRM/Batch/BAO/Batch.php
CRM/Batch/DAO/Batch.php
CRM/Batch/DAO/EntityBatch.php
CRM/Bridge/OG/CiviCRM.php
CRM/Bridge/OG/Drupal.php
CRM/Bridge/OG/Utils.php
CRM/Campaign/BAO/Petition.php
CRM/Campaign/DAO/Campaign.php
CRM/Campaign/DAO/CampaignGroup.php
CRM/Campaign/DAO/Survey.php
CRM/Campaign/Form/Survey/Delete.php
CRM/Campaign/Page/Petition/Confirm.php
CRM/Case/DAO/Case.php
CRM/Case/DAO/CaseActivity.php
CRM/Case/DAO/CaseContact.php
CRM/Case/DAO/CaseType.php
CRM/Case/XMLProcessor.php
CRM/Case/XMLProcessor/Process.php
CRM/Case/XMLProcessor/Report.php
CRM/Contact/BAO/Contact.php
CRM/Contact/BAO/ContactType.php
CRM/Contact/BAO/Group.php
CRM/Contact/BAO/Query.php
CRM/Contact/BAO/SearchCustom.php
CRM/Contact/DAO/ACLContactCache.php
CRM/Contact/DAO/Contact.php
CRM/Contact/DAO/ContactType.php
CRM/Contact/DAO/DashboardContact.php
CRM/Contact/DAO/Group.php
CRM/Contact/DAO/GroupContact.php
CRM/Contact/DAO/GroupContactCache.php
CRM/Contact/DAO/GroupNesting.php
CRM/Contact/DAO/GroupOrganization.php
CRM/Contact/DAO/Relationship.php
CRM/Contact/DAO/RelationshipType.php
CRM/Contact/DAO/SavedSearch.php
CRM/Contact/DAO/SubscriptionHistory.php
CRM/Contact/Form/Search/Custom/PriceSet.php
CRM/Contact/Form/Search/Custom/ZipCodeRange.php
CRM/Contact/Form/Task.php
CRM/Contact/Form/Task/EmailTrait.php
CRM/Contact/Import/ImportJob.php
CRM/Contact/Page/AJAX.php
CRM/Contact/Page/DedupeMerge.php
CRM/Contact/Page/View/Summary.php
CRM/Contact/Task.php
CRM/Contribute/BAO/Contribution.php
CRM/Contribute/DAO/Contribution.php
CRM/Contribute/DAO/ContributionPage.php
CRM/Contribute/DAO/ContributionProduct.php
CRM/Contribute/DAO/ContributionRecur.php
CRM/Contribute/DAO/ContributionSoft.php
CRM/Contribute/DAO/Premium.php
CRM/Contribute/DAO/PremiumsProduct.php
CRM/Contribute/DAO/Product.php
CRM/Contribute/DAO/Widget.php
CRM/Contribute/Form/AbstractEditPayment.php
CRM/Contribute/Form/AdditionalInfo.php
CRM/Contribute/Form/CancelSubscription.php
CRM/Contribute/Form/Contribution/Confirm.php
CRM/Contribute/Form/Contribution/Main.php
CRM/Contribute/Form/Task/Invoice.php
CRM/Contribute/Form/Task/Status.php
CRM/Contribute/Form/UpdateBilling.php
CRM/Contribute/Import/Parser.php
CRM/Core/BAO/Country.php
CRM/Core/BAO/CustomField.php
CRM/Core/BAO/CustomGroup.php
CRM/Core/BAO/CustomValueTable.php
CRM/Core/BAO/FinancialTrxn.php
CRM/Core/CodeGen/Specification.php
CRM/Core/Controller.php
CRM/Core/DAO.php
CRM/Core/DAO/ActionLog.php
CRM/Core/DAO/ActionMapping.php
CRM/Core/DAO/ActionSchedule.php
CRM/Core/DAO/Address.php
CRM/Core/DAO/AddressFormat.php
CRM/Core/DAO/AllCoreTables.php
CRM/Core/DAO/Cache.php
CRM/Core/DAO/Component.php
CRM/Core/DAO/Country.php
CRM/Core/DAO/County.php
CRM/Core/DAO/CustomField.php
CRM/Core/DAO/CustomGroup.php
CRM/Core/DAO/Dashboard.php
CRM/Core/DAO/Discount.php
CRM/Core/DAO/Domain.php
CRM/Core/DAO/Email.php
CRM/Core/DAO/EntityFile.php
CRM/Core/DAO/EntityTag.php
CRM/Core/DAO/Extension.php
CRM/Core/DAO/File.php
CRM/Core/DAO/IM.php
CRM/Core/DAO/Job.php
CRM/Core/DAO/JobLog.php
CRM/Core/DAO/LocBlock.php
CRM/Core/DAO/LocationType.php
CRM/Core/DAO/Log.php
CRM/Core/DAO/MailSettings.php
CRM/Core/DAO/Managed.php
CRM/Core/DAO/Mapping.php
CRM/Core/DAO/MappingField.php
CRM/Core/DAO/Menu.php
CRM/Core/DAO/MessageTemplate.php
CRM/Core/DAO/Navigation.php
CRM/Core/DAO/Note.php
CRM/Core/DAO/OpenID.php
CRM/Core/DAO/OptionGroup.php
CRM/Core/DAO/OptionValue.php
CRM/Core/DAO/Phone.php
CRM/Core/DAO/PreferencesDate.php
CRM/Core/DAO/PrevNextCache.php
CRM/Core/DAO/PrintLabel.php
CRM/Core/DAO/RecurringEntity.php
CRM/Core/DAO/Setting.php
CRM/Core/DAO/StateProvince.php
CRM/Core/DAO/StatusPreference.php
CRM/Core/DAO/SystemLog.php
CRM/Core/DAO/Tag.php
CRM/Core/DAO/Timezone.php
CRM/Core/DAO/UFField.php
CRM/Core/DAO/UFGroup.php
CRM/Core/DAO/UFJoin.php
CRM/Core/DAO/UFMatch.php
CRM/Core/DAO/Website.php
CRM/Core/DAO/WordReplacement.php
CRM/Core/DAO/Worldregion.php
CRM/Core/Error.php
CRM/Core/Form.php
CRM/Core/Form/Date.php
CRM/Core/I18n.php
CRM/Core/IDS.php
CRM/Core/JobManager.php
CRM/Core/Page/AJAX.php
CRM/Core/Page/Basic.php
CRM/Core/Page/Redirect.php
CRM/Core/Payment.php
CRM/Core/Payment/AuthorizeNet.php
CRM/Core/Payment/AuthorizeNetIPN.php
CRM/Core/Payment/BaseIPN.php
CRM/Core/Payment/Dummy.php
CRM/Core/Payment/Elavon.php
CRM/Core/Payment/FirstData.php
CRM/Core/Payment/Form.php
CRM/Core/Payment/Manual.php
CRM/Core/Payment/PayJunction.php
CRM/Core/Payment/PayPalIPN.php
CRM/Core/Payment/PayPalProIPN.php
CRM/Core/Payment/PayflowPro.php
CRM/Core/Payment/ProcessorForm.php
CRM/Core/Payment/Realex.php
CRM/Core/Payment/eWAY.php
CRM/Core/Permission.php
CRM/Core/PseudoConstant.php
CRM/Core/Region.php
CRM/Core/SelectValues.php
CRM/Core/Selector/Base.php
CRM/Core/Smarty/plugins/modifier.crmMoney.php
CRM/Custom/Form/ChangeFieldType.php
CRM/Custom/Form/Field.php
CRM/Custom/Form/Group.php
CRM/Custom/Form/Option.php
CRM/Custom/Import/Parser.php
CRM/Custom/Page/Field.php
CRM/Custom/Page/Option.php
CRM/Cxn/CiviCxnHttp.php
CRM/Cxn/DAO/Cxn.php
CRM/Dedupe/DAO/Exception.php
CRM/Dedupe/DAO/Rule.php
CRM/Dedupe/DAO/RuleGroup.php
CRM/Dedupe/Merger.php
CRM/Event/BAO/Participant.php
CRM/Event/BAO/ParticipantPayment.php
CRM/Event/Cart/BAO/Cart.php
CRM/Event/Cart/BAO/EventInCart.php
CRM/Event/Cart/DAO/Cart.php
CRM/Event/Cart/DAO/EventInCart.php
CRM/Event/DAO/Event.php
CRM/Event/DAO/Participant.php
CRM/Event/DAO/ParticipantPayment.php
CRM/Event/DAO/ParticipantStatusType.php
CRM/Event/Form/ManageEvent/Repeat.php
CRM/Event/Form/ManageEvent/TabHeader.php
CRM/Event/Form/Participant.php
CRM/Event/Form/Registration.php
CRM/Event/Form/Registration/Register.php
CRM/Event/Form/SelfSvcTransfer.php
CRM/Event/Import/Parser.php
CRM/Event/Page/ParticipantListing.php
CRM/Export/BAO/Export.php
CRM/Export/BAO/ExportProcessor.php
CRM/Export/Controller/Standalone.php
CRM/Export/Form/Select.php
CRM/Extension/Manager/Payment.php
CRM/Extension/Manager/Search.php
CRM/Financial/BAO/FinancialType.php
CRM/Financial/BAO/Payment.php
CRM/Financial/BAO/PaymentProcessor.php
CRM/Financial/BAO/PaymentProcessorType.php
CRM/Financial/DAO/Currency.php
CRM/Financial/DAO/EntityFinancialAccount.php
CRM/Financial/DAO/EntityFinancialTrxn.php
CRM/Financial/DAO/FinancialAccount.php
CRM/Financial/DAO/FinancialItem.php
CRM/Financial/DAO/FinancialTrxn.php
CRM/Financial/DAO/FinancialType.php
CRM/Financial/DAO/PaymentProcessor.php
CRM/Financial/DAO/PaymentProcessorType.php
CRM/Financial/DAO/PaymentToken.php
CRM/Financial/Form/FrontEndPaymentFormTrait.php
CRM/Financial/Page/FinancialTypeAccount.php
CRM/Friend/DAO/Friend.php
CRM/Friend/Form.php
CRM/Grant/DAO/Grant.php
CRM/Group/Form/Edit.php
CRM/Import/DataSource/CSV.php
CRM/Logging/ReportSummary.php
CRM/Mailing/ActionTokens.php
CRM/Mailing/BAO/MailingJob.php
CRM/Mailing/DAO/BouncePattern.php
CRM/Mailing/DAO/BounceType.php
CRM/Mailing/DAO/Mailing.php
CRM/Mailing/DAO/MailingAB.php
CRM/Mailing/DAO/MailingComponent.php
CRM/Mailing/DAO/MailingGroup.php
CRM/Mailing/DAO/MailingJob.php
CRM/Mailing/DAO/Recipients.php
CRM/Mailing/DAO/Spool.php
CRM/Mailing/DAO/TrackableURL.php
CRM/Mailing/Event/DAO/Bounce.php
CRM/Mailing/Event/DAO/Confirm.php
CRM/Mailing/Event/DAO/Delivered.php
CRM/Mailing/Event/DAO/Forward.php
CRM/Mailing/Event/DAO/Opened.php
CRM/Mailing/Event/DAO/Queue.php
CRM/Mailing/Event/DAO/Reply.php
CRM/Mailing/Event/DAO/Subscribe.php
CRM/Mailing/Event/DAO/TrackableURLOpen.php
CRM/Mailing/Event/DAO/Unsubscribe.php
CRM/Member/BAO/Membership.php
CRM/Member/DAO/Membership.php
CRM/Member/DAO/MembershipBlock.php
CRM/Member/DAO/MembershipLog.php
CRM/Member/DAO/MembershipPayment.php
CRM/Member/DAO/MembershipStatus.php
CRM/Member/DAO/MembershipType.php
CRM/Member/Form/Membership.php
CRM/Member/Form/MembershipRenewal.php
CRM/Member/Form/Task/Batch.php
CRM/Member/Import/Parser.php
CRM/Member/Page/DashBoard.php
CRM/Member/Page/MembershipStatus.php
CRM/PCP/BAO/PCP.php
CRM/PCP/DAO/PCP.php
CRM/PCP/DAO/PCPBlock.php
CRM/PCP/Form/Campaign.php
CRM/PCP/Form/PCPAccount.php
CRM/Pledge/BAO/Pledge.php
CRM/Pledge/BAO/PledgeBlock.php
CRM/Pledge/DAO/Pledge.php
CRM/Pledge/DAO/PledgeBlock.php
CRM/Pledge/DAO/PledgePayment.php
CRM/Price/BAO/PriceSet.php
CRM/Price/DAO/LineItem.php
CRM/Price/DAO/PriceField.php
CRM/Price/DAO/PriceFieldValue.php
CRM/Price/DAO/PriceSet.php
CRM/Price/DAO/PriceSetEntity.php
CRM/Price/Form/Field.php
CRM/Price/Form/Option.php
CRM/Profile/Form.php
CRM/Profile/Page/Dynamic.php
CRM/Profile/Page/Listings.php
CRM/Profile/Page/MultipleRecordFieldsListing.php
CRM/Profile/Page/View.php
CRM/Queue/DAO/QueueItem.php
CRM/Queue/Page/Runner.php
CRM/Queue/Queue/Sql.php
CRM/Queue/Queue/SqlParallel.php [new file with mode: 0644]
CRM/Report/DAO/ReportInstance.php
CRM/Report/Form.php
CRM/Report/Form/Activity.php
CRM/Report/Form/Contact/LoggingSummary.php
CRM/Report/Form/Contribute/Bookkeeping.php
CRM/Report/Form/Contribute/Summary.php
CRM/Report/Form/Grant/Statistics.php
CRM/Report/Page/Options.php
CRM/SMS/DAO/Provider.php
CRM/UF/Form/Inline/Preview.php
CRM/UF/Page/ProfileEditor.php
CRM/Upgrade/Form.php
CRM/Upgrade/Incremental/General.php
CRM/Upgrade/Incremental/php/FiveTwentyEight.php [new file with mode: 0644]
CRM/Upgrade/Incremental/php/FourThree.php
CRM/Upgrade/Incremental/sql/5.28.alpha1.mysql.tpl [new file with mode: 0644]
CRM/Upgrade/Page/Upgrade.php
CRM/Utils/Check/Component/Env.php
CRM/Utils/Check/Component/OptionGroups.php
CRM/Utils/Date.php
CRM/Utils/File.php
CRM/Utils/Hook.php
CRM/Utils/HttpClient.php
CRM/Utils/JS.php
CRM/Utils/Money.php
CRM/Utils/Number.php
CRM/Utils/Request.php
CRM/Utils/SQL/Insert.php
CRM/Utils/String.php
CRM/Utils/System/Drupal8.php
CRM/Utils/Type.php
Civi/Angular/ChangeSet.php
Civi/Angular/Page/Modules.php
Civi/Api4/Action/Domain/Get.php
Civi/Api4/Action/Entity/Get.php
Civi/Api4/Action/GetActions.php
Civi/Api4/Entity.php
Civi/Api4/Generic/AbstractEntity.php
Civi/Api4/Generic/BasicGetAction.php
Civi/Api4/Generic/BasicGetFieldsAction.php
Civi/Api4/Generic/DAOEntity.php
Civi/Api4/Generic/DAOGetAction.php
Civi/Api4/Generic/Result.php
Civi/Api4/Generic/Traits/ArrayQueryActionTrait.php
Civi/Api4/Query/Api4SelectQuery.php
Civi/Api4/Query/SqlFunction.php
Civi/Api4/Query/SqlFunctionABS.php [moved from CRM/Admin/Page/Setting.php with 51% similarity]
Civi/Api4/Query/SqlFunctionAVG.php
Civi/Api4/Query/SqlFunctionCOALESCE.php [new file with mode: 0644]
Civi/Api4/Query/SqlFunctionCONCAT.php [new file with mode: 0644]
Civi/Api4/Query/SqlFunctionCOUNT.php
Civi/Api4/Query/SqlFunctionCURDATE.php [new file with mode: 0644]
Civi/Api4/Query/SqlFunctionGREATEST.php [new file with mode: 0644]
Civi/Api4/Query/SqlFunctionGROUP_CONCAT.php [new file with mode: 0644]
Civi/Api4/Query/SqlFunctionISNULL.php [new file with mode: 0644]
Civi/Api4/Query/SqlFunctionLEAST.php [new file with mode: 0644]
Civi/Api4/Query/SqlFunctionLOWER.php [new file with mode: 0644]
Civi/Api4/Query/SqlFunctionMAX.php
Civi/Api4/Query/SqlFunctionMIN.php
Civi/Api4/Query/SqlFunctionNULLIF.php [new file with mode: 0644]
Civi/Api4/Query/SqlFunctionREPLACE.php [new file with mode: 0644]
Civi/Api4/Query/SqlFunctionROUND.php [new file with mode: 0644]
Civi/Api4/Query/SqlFunctionSUM.php
Civi/Api4/Query/SqlFunctionUPPER.php [new file with mode: 0644]
Civi/Core/Event/SmartyErrorEvent.php [new file with mode: 0644]
Civi/Core/Resolver.php
Civi/Core/Themes.php
Civi/Install/Requirements.php
Civi/Payment/PropertyBag.php
Civi/Test/CiviTestListener.php
Civi/Test/CiviTestListenerPHPUnit7.php [new file with mode: 0644]
Civi/Test/Data.php
Civi/Test/DbTestTrait.php
Civi/Test/TAP.php
Civi/Test/TAPLegacy.php [new file with mode: 0644]
ang/api4Explorer/Clause.html
ang/api4Explorer/Explorer.html
ang/api4Explorer/Explorer.js
ang/crmUi.js
api/v3/Membership.php
api/v3/examples/Event/ContactRefCustomField.ex.php
api/v3/examples/Event/Create.ex.php
api/v3/examples/Event/Get.ex.php
api/v3/examples/Event/IsCurrentOption.ex.php
api/v3/examples/Event/IsFullOption.ex.php
api/v3/examples/Participant/NestedEventGet.ex.php
api/v3/utils.php
composer.json
composer.lock
contributor-key.yml
css/crm-menubar.css
ext/sequentialcreditnotes/sequentialcreditnotes.civix.php
install/civicrm.php
install/index.php
js/Common.js
js/crm.datepicker.js
phpunit.xml.dist
setup/plugins/installDatabase/FlushDrupal8.civi-setup.php
sql/civicrm_generated.mysql
templates/CRM/Contact/Form/Task/SMS.tpl
templates/CRM/Contribute/Form/AdditionalInfo/AdditionalDetail.tpl
templates/CRM/Contribute/Form/AdditionalInfo/Payment.tpl
templates/CRM/Contribute/Form/AdditionalPayment.tpl
templates/CRM/Contribute/Form/Contribution.tpl
templates/CRM/Contribute/Form/Contribution/Main.tpl
templates/CRM/Contribute/Form/Contribution/OnBehalfOf.tpl
templates/CRM/Contribute/Page/ContributionRecurSelector.tpl
templates/CRM/Core/BillingBlock.tpl
templates/CRM/Custom/Form/Group.tpl
templates/CRM/Event/Cart/Form/Checkout/ThankYou.tpl
templates/CRM/Event/Page/EventInfo.tpl
templates/CRM/Member/Page/MembershipStatus.tpl
templates/CRM/common/l10n.js.tpl
tests/phpunit/CRM/Activity/BAO/ActivityTest.php
tests/phpunit/CRM/Activity/Selector/SearchTest.php
tests/phpunit/CRM/Campaign/Form/CampaignTest.php
tests/phpunit/CRM/Case/BAO/CaseTest.php
tests/phpunit/CRM/Case/Form/SearchTest.php [new file with mode: 0644]
tests/phpunit/CRM/Case/XMLProcessor/ProcessTest.php
tests/phpunit/CRM/Contact/BAO/ContactType/ContactTypeTest.php
tests/phpunit/CRM/Contact/SelectorTest.php
tests/phpunit/CRM/Contribute/Form/ContributionTest.php
tests/phpunit/CRM/Core/BAO/CustomFieldTest.php
tests/phpunit/CRM/Core/CommunityMessagesTest.php
tests/phpunit/CRM/Core/I18n/LocaleTest.php
tests/phpunit/CRM/Core/JobManagerTest.php
tests/phpunit/CRM/Core/Payment/AuthorizeNetTest.php
tests/phpunit/CRM/Core/PseudoConstantTest.php
tests/phpunit/CRM/Custom/Form/OptionTest.php [new file with mode: 0644]
tests/phpunit/CRM/Event/BAO/ChangeFeeSelectionTest.php
tests/phpunit/CRM/Event/Form/ParticipantTest.php
tests/phpunit/CRM/Extension/ManagerTest.php
tests/phpunit/CRM/Financial/BAO/FinancialAccountTest.php
tests/phpunit/CRM/Financial/BAO/FinancialTypeTest.php
tests/phpunit/CRM/Member/Form/MembershipRenewalTest.php
tests/phpunit/CRM/Upgrade/Incremental/BaseTest.php
tests/phpunit/CRM/Utils/DateTest.php
tests/phpunit/CRM/Utils/JSTest.php
tests/phpunit/CRM/Utils/MoneyTest.php
tests/phpunit/Civi/Payment/PropertyBagTest.php
tests/phpunit/CiviTest/CiviTestSuite.php
tests/phpunit/CiviTest/CiviUnitTestCase.php
tests/phpunit/api/v3/ContactTest.php
tests/phpunit/api/v3/ContributionRecurTest.php
tests/phpunit/api/v3/ContributionSoftTest.php
tests/phpunit/api/v3/ContributionTest.php
tests/phpunit/api/v3/GrantTest.php
tests/phpunit/api/v3/LoggingTest.php
tests/phpunit/api/v3/MembershipTypeTest.php
tests/phpunit/api/v3/PaymentTest.php
tests/phpunit/api/v3/SyntaxConformanceTest.php
tests/phpunit/api/v4/Action/BasicActionsTest.php
tests/phpunit/api/v4/Action/ComplexQueryTest.php
tests/phpunit/api/v4/Action/ContactGetTest.php
tests/phpunit/api/v4/Action/GetFromArrayTest.php
tests/phpunit/api/v4/Entity/ParticipantTest.php
tests/phpunit/api/v4/Query/Api4SelectQueryTest.php
tests/phpunit/api/v4/Query/OptionValueJoinTest.php
tools/extensions/org.civicrm.angularex/angularex.civix.php
tools/scripts/phpunit
xml/schema/Activity/Activity.xml
xml/schema/Campaign/Campaign.xml
xml/schema/Campaign/Survey.xml
xml/schema/Case/Case.xml
xml/schema/Contact/Contact.xml
xml/schema/Contact/ContactType.xml
xml/schema/Contact/Group.xml
xml/schema/Contact/Relationship.xml
xml/schema/Contribute/Contribution.xml
xml/schema/Contribute/ContributionRecur.xml
xml/schema/Core/Address.xml
xml/schema/Core/CustomGroup.xml
xml/schema/Core/Domain.xml
xml/schema/Core/Email.xml
xml/schema/Core/IM.xml
xml/schema/Core/Navigation.xml
xml/schema/Core/Note.xml
xml/schema/Core/Phone.xml
xml/schema/Core/Tag.xml
xml/schema/Core/Website.xml
xml/schema/Event/Event.xml
xml/schema/Event/Participant.xml
xml/schema/Grant/Grant.xml
xml/schema/Mailing/Mailing.xml
xml/schema/Member/Membership.xml
xml/schema/Pledge/Pledge.xml
xml/schema/Report/ReportInstance.xml
xml/templates/dao.tpl
xml/version.xml

index e9b76b01d3bc6a6c03e0286ee9148c92c343c015..9ea04070d348cf83277cf26b27bf8eceb9822dad 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/ACL/ACL.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:3b22e42a53e4863614014323e5b98526)
+ * (GenCodeChecksum:0af7d1843e1f675978451550b843ba68)
  */
 
 /**
@@ -113,6 +113,13 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('ACLs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 958223b878aec7441021362a76a74424dde6f39f..832948e99a523b77aa93b7853901696335a65b34 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/ACL/ACLCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:976ef3393c10c32cacd6c6405b892533)
+ * (GenCodeChecksum:ca99bbbd188d9c890d47e35c1b0b3bbd)
  */
 
 /**
@@ -64,6 +64,13 @@ class CRM_ACL_DAO_ACLCache extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('ACLCaches');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 151848107d12864b05cf73363aaa11be01811e57..31e3c98fd480558f4ec12da189dcc24006e22c48 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/ACL/EntityRole.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:72c64ec6e3120ef60450b00939325d62)
+ * (GenCodeChecksum:b7e097df726e1a5c5c3e495b4583db7a)
  */
 
 /**
@@ -71,6 +71,13 @@ class CRM_ACL_DAO_EntityRole extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Entity Roles');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 1efa8202448fde0067d7347565f84e571a285b2a..cea9b5335563ab4345c81826129bf032bf8e8f11 100644 (file)
@@ -905,13 +905,15 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
    */
   public function addSelectWhereClause() {
     $clauses = [];
-    // @todo - check if $permissedActivityTYpes === all activity types and do not add critieria if so.
     $permittedActivityTypeIDs = self::getPermittedActivityTypes();
+    $allActivityTypes = self::buildOptions('activity_type_id');
     if (empty($permittedActivityTypeIDs)) {
       // This just prevents a mysql fail if they have no access - should be extremely edge case.
       $permittedActivityTypeIDs = [0];
     }
-    $clauses['activity_type_id'] = ('IN (' . implode(', ', $permittedActivityTypeIDs) . ')');
+    if (array_keys($allActivityTypes) !== array_keys($permittedActivityTypeIDs)) {
+      $clauses['activity_type_id'] = ('IN (' . implode(', ', $permittedActivityTypeIDs) . ')');
+    }
 
     $contactClause = CRM_Utils_SQL::mergeSubquery('Contact');
     if ($contactClause) {
@@ -1770,8 +1772,7 @@ WHERE      activity.id IN ($activityIds)";
     // @todo - use api - remove lots of wrangling above. Remove deprecated fatal & let form layer
     // deal with any exceptions.
     if (is_a(self::create($activityParams), 'CRM_Core_Error')) {
-      CRM_Core_Error::fatal("Failed creating Activity for $component of id {$activity->id}");
-      return FALSE;
+      throw new CRM_Core_Exception("Failed creating Activity for $component of id {$activity->id}");
     }
   }
 
@@ -2132,7 +2133,7 @@ AND cl.modified_id  = c.id
 
     // TODO: ideally we should retrieve all fields from xml, in this case since activity processing is done
     // my case hence we have defined fields as case_*
-    if ($name == 'Activity') {
+    if ($name === 'Activity') {
       $exportableFields = CRM_Activity_DAO_Activity::export();
       $exportableFields['source_contact_id'] = [
         'title' => ts('Source Contact ID'),
index 808b672e451a56b3edf9a78b2f831c904479b6db..c36e6829a7d16d5c3f93251a71e5e557b07783e3 100644 (file)
@@ -28,22 +28,13 @@ class CRM_Activity_BAO_Query {
       $query->_tables['civicrm_activity'] = $query->_whereTables['civicrm_activity'] = 1;
     }
 
-    if (!empty($query->_returnProperties['activity_type_id'])) {
-      $query->_select['activity_type_id'] = 'activity_type.value as activity_type_id';
+    if (!empty($query->_returnProperties['activity_type_id'])
+      || !empty($query->_returnProperties['activity_type'])
+    ) {
+      $query->_select['activity_type_id'] = 'civicrm_activity.activity_type_id';
       $query->_element['activity_type_id'] = 1;
       $query->_tables['civicrm_activity'] = 1;
-      $query->_tables['activity_type'] = 1;
-      $query->_whereTables['civicrm_activity'] = 1;
-      $query->_whereTables['activity_type'] = 1;
-    }
-
-    if (!empty($query->_returnProperties['activity_type'])) {
-      $query->_select['activity_type'] = 'activity_type.label as activity_type';
-      $query->_element['activity_type'] = 1;
-      $query->_tables['civicrm_activity'] = 1;
-      $query->_tables['activity_type'] = 1;
       $query->_whereTables['civicrm_activity'] = 1;
-      $query->_whereTables['activity_type'] = 1;
     }
 
     if (!empty($query->_returnProperties['activity_subject'])) {
index 042eb4cb047da33a9d7e317687fedabe5f19c04e..f18b5de937b1deebcaddb8852d2dbb3dca4ab1b1 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Activity/Activity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a6494c64eb7395b2221ab118a480c951)
+ * (GenCodeChecksum:a80e5c13f6c26348a2479ed9851d18a1)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_activity';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-tasks';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -215,6 +222,13 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Activities');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
@@ -314,10 +328,12 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
           'title' => ts('Activity Date'),
           'description' => ts('Date and time this activity is scheduled to occur. Formerly named scheduled_date_time.'),
+          'required' => FALSE,
           'import' => TRUE,
           'where' => 'civicrm_activity.activity_date_time',
           'headerPattern' => '/(activity.)?date(.time$)?/i',
           'export' => TRUE,
+          'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
@@ -658,7 +674,7 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
           'required' => FALSE,
           'where' => 'civicrm_activity.created_date',
           'export' => TRUE,
-          'default' => 'NULL',
+          'default' => 'CURRENT_TIMESTAMP',
           'table_name' => 'civicrm_activity',
           'entity' => 'Activity',
           'bao' => 'CRM_Activity_BAO_Activity',
@@ -780,14 +796,6 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
         'localizable' => FALSE,
         'sig' => 'civicrm_activity::0::status_id',
       ],
-      'index_medium_id' => [
-        'name' => 'index_medium_id',
-        'field' => [
-          0 => 'medium_id',
-        ],
-        'localizable' => FALSE,
-        'sig' => 'civicrm_activity::0::medium_id',
-      ],
       'index_is_current_revision' => [
         'name' => 'index_is_current_revision',
         'field' => [
index 71039019af3d1941e928aefcd1231d45402eaaa4..e37d3b7839f3f1863ddd24bc172cc8da8fa6c125 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Activity/ActivityContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:51894f9aa59e1fed6591b4aa3632e6a6)
+ * (GenCodeChecksum:51e1279768073419675c95b4792366a8)
  */
 
 /**
@@ -64,6 +64,13 @@ class CRM_Activity_DAO_ActivityContact extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Activity Contacts');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index f208f8ff6c568d4865ee41c92d110750f748b7b9..afaaffac73ac6b7a2eb3fa122a4770008d9171aa 100644 (file)
@@ -582,7 +582,7 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
     }
     if (empty($defaults['priority_id'])) {
       $priority = CRM_Core_PseudoConstant::get('CRM_Activity_DAO_Activity', 'priority_id');
-      $defaults['priority_id'] = array_search('Normal', $priority);
+      $defaults['priority_id'] = CRM_Core_PseudoConstant::getKey('CRM_Activity_DAO_Activity', 'priority_id', 'Normal');
     }
     if (empty($defaults['status_id'])) {
       $defaults['status_id'] = CRM_Core_OptionGroup::getDefaultValue('activity_status');
index b3b5871aff1455688526f8c966dd74e7ed123672..d74f955ca08d97b75e28383cd92fc318a9e7a89c 100644 (file)
@@ -67,7 +67,7 @@ abstract class CRM_Activity_Import_Parser extends CRM_Import_Parser {
     $totalRowCount = NULL
   ) {
     if (!is_array($fileName)) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('Unable to determine import file');
     }
     $fileName = $fileName['name'];
 
index 8a650924ccb12a7f5988140fcf78a1530650fcfa..bca1f8abbe222158ac8da45fa5b7a2e3cde5932b 100644 (file)
@@ -154,7 +154,7 @@ class CRM_Activity_Page_Tab extends CRM_Core_Page {
       in_array($action, [CRM_Core_Action::UPDATE, CRM_Core_Action::VIEW])
     ) {
       if (!CRM_Activity_BAO_Activity::checkPermission($this->_id, $action)) {
-        CRM_Core_Error::fatal(ts('You are not authorized to access this page.'));
+        CRM_Core_Error::statusBounce(ts('You are not authorized to access this page.'));
       }
     }
 
index d0367750cb8b118cd742f979b7e393e262286da7..10c76703c287250e2186161e7f320637adbea912 100644 (file)
@@ -154,37 +154,6 @@ class CRM_Activity_Selector_Search extends CRM_Core_Selector_Base implements CRM
 
     $this->_activityClause = $activityClause;
 
-    // CRM-12675
-    $components = CRM_Core_Component::getNames();
-    $componentClause = [];
-    foreach ($components as $componentID => $componentName) {
-      // CRM-19201: Add support for searching CiviCampaign and CiviCase
-      // activities. For CiviCase, "access all cases and activities" is
-      // required here rather than "access my cases and activities" to
-      // prevent those with only the later permission from seeing a list
-      // of all cases which might present a privacy issue.
-      // @todo this is the cause of the current devastatingly bad performance on
-      // activity search - it involves a bad join.
-      // The correct fix is to use the permission infrastrucutre - ie. add in the
-      // clause generated by CRM_Activity_BAO_Query::addSelectWhere
-      // but some testing needs to check that before making the change
-      // see https://github.com/civicrm/civicrm-core/blob/be2fb01f90f5f299dd07402a41fed7c7c7567f00/CRM/Utils/SQL.php#L48
-      // for how it's done in the api kernel.
-      if (!CRM_Core_Permission::access($componentName, TRUE, TRUE)) {
-        $componentClause[] = " (activity_type.component_id IS NULL OR activity_type.component_id <> {$componentID}) ";
-      }
-    }
-
-    if (!empty($componentClause)) {
-      $componentRestriction = implode(' AND ', $componentClause);
-      if (empty($this->_activityClause)) {
-        $this->_activityClause = $componentRestriction;
-      }
-      else {
-        $this->_activityClause .= ' AND ' . $componentRestriction;
-      }
-    }
-
     // type of selector
     $this->_action = $action;
     $this->_query = new CRM_Contact_BAO_Query($this->_queryParams,
index ae4a4b2501c4adc9b3a9983e38383a4b67657e5c..857977f01e3220f5778417e0495c78671f7a38d9 100644 (file)
@@ -121,9 +121,7 @@ class CRM_Admin_Form_ContactType extends CRM_Admin_Form {
         $params['is_active'] = 1;
       }
     }
-    if ($this->_action & CRM_Core_Action::ADD) {
-      $params['name'] = ucfirst(CRM_Utils_String::munge($params['label']));
-    }
+
     $contactType = CRM_Contact_BAO_ContactType::add($params);
     CRM_Core_Session::setStatus(ts("The Contact Type '%1' has been saved.",
       [1 => $contactType->label]
index 51b32eeeceb95073ae2d584245cce8a29c611b32..dc7687671bfa0af9ec60bd74997c64493e8842f8 100644 (file)
@@ -57,7 +57,7 @@ class CRM_Admin_Form_Extensions extends CRM_Admin_Form {
 
       case CRM_Core_Action::UPDATE:
         if (!CRM_Extension_System::singleton()->getBrowser()->isEnabled()) {
-          CRM_Core_Error::fatal(ts('The system administrator has disabled this feature.'));
+          CRM_Core_Error::statusBounce(ts('The system administrator has disabled this feature.'));
         }
         $info = CRM_Extension_System::singleton()->getBrowser()->getExtension($this->_key);
         $extInfo = CRM_Admin_Page_Extensions::createExtendedInfo($info);
@@ -65,7 +65,7 @@ class CRM_Admin_Form_Extensions extends CRM_Admin_Form {
         break;
 
       default:
-        CRM_Core_Error::fatal(ts('Unsupported action'));
+        CRM_Core_Error::statusBounce(ts('Unsupported action'));
     }
 
   }
index 510d039c13722d28cd9ee39d80f16f9f17aa6401..0b21a818d970c1838ee40b4c32d2161e36a0aff9 100644 (file)
@@ -67,7 +67,7 @@ class CRM_Admin_Form_Navigation extends CRM_Admin_Form {
     $this->add('select', 'permission_operator', NULL, $operators);
 
     //make separator location configurable
-    $separator = [ts('None'), ts('After menu element'), ts('Before menu element')];
+    $separator = CRM_Core_SelectValues::navigationMenuSeparator();
     $this->add('select', 'has_separator', ts('Separator'), $separator);
 
     $active = $this->add('advcheckbox', 'is_active', ts('Enabled'));
index 5c52de39e94316946c88969a035000dc77c90901..345bef9d2a01a7068c117fb6fdbb66331eae1a35 100644 (file)
@@ -227,7 +227,7 @@ trait CRM_Admin_Form_SettingTrait {
           $this->addRadio($setting, $props['title'], [1 => ts('Yes'), 0 => ts('No')], CRM_Utils_Array::value('html_attributes', $props), '&nbsp;&nbsp;');
         }
         elseif ($add === 'add') {
-          $this->add($props['html_type'], $setting, $props['title'], $options);
+          $this->add($props['html_type'], $setting, $props['title'], $options, FALSE, $props['html_extra'] ?? NULL);
         }
         else {
           $this->$add($setting, $props['title'], $options);
@@ -290,7 +290,7 @@ trait CRM_Admin_Form_SettingTrait {
       'advmultiselect' => 'Element',
     ];
     $mapping += array_fill_keys(CRM_Core_Form::$html5Types, '');
-    return $mapping[$htmlType];
+    return $mapping[$htmlType] ?? '';
   }
 
   /**
index 300fc3361210592dce51248ba3025b6d99cfe187..2e6854f9b0537c08196e2ad339c1627b09ba9dff 100644 (file)
@@ -129,6 +129,7 @@ class CRM_Api4_Page_AJAX extends CRM_Core_Page {
     foreach (get_class_vars(get_class($result)) as $key => $val) {
       $vals[$key] = $result->$key;
     }
+    unset($vals['rowCount']);
     $vals['count'] = $result->count();
     return $vals;
   }
index c5280bb2573ebd292bb90ca704d780d17922006c..3daba0733836d8b0966bde5fbf613d298bfc36f6 100644 (file)
@@ -70,7 +70,9 @@ class CRM_Api4_Page_Api4Explorer extends CRM_Core_Page {
         if (is_subclass_of($className, '\Civi\Api4\Query\SqlFunction')) {
           $fns[] = [
             'name' => $className::getName(),
+            'title' => $className::getTitle(),
             'params' => $className::getParams(),
+            'category' => $className::getCategory(),
           ];
         }
       }
index f44c0e4999485fcd03a7a35621bd2bd1ba4e9a9c..3bb93f140b70980255282f987bf5c2a0d85476ec 100644 (file)
@@ -579,12 +579,10 @@ class CRM_Batch_BAO_Batch extends CRM_Batch_DAO_Batch {
    */
   public static function exportFinancialBatch($batchIds, $exportFormat, $downloadFile) {
     if (empty($batchIds)) {
-      CRM_Core_Error::fatal(ts('No batches were selected.'));
-      return;
+      throw new CRM_Core_Exception(ts('No batches were selected.'));
     }
     if (empty($exportFormat)) {
-      CRM_Core_Error::fatal(ts('No export format selected.'));
-      return;
+      throw new CRM_Core_Exception(ts('No export format selected.'));
     }
     self::$_exportFormat = $exportFormat;
 
@@ -594,7 +592,7 @@ class CRM_Batch_BAO_Batch extends CRM_Batch_DAO_Batch {
       $exporter = new $exporterClass();
     }
     else {
-      CRM_Core_Error::fatal("Could not locate exporter: $exporterClass");
+      throw new CRM_Core_Exception("Could not locate exporter: $exporterClass");
     }
     $export = [];
     $exporter->_isDownloadFile = $downloadFile;
index cfd39dc2c037b07f385ebd3bb6742e8ca7f9a28e..53ca4769c18feeddf378245492a9574a9a25488f 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Batch/Batch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ec065dd0aaa794ee44d5fb2216deac3d)
+ * (GenCodeChecksum:a1b3aef6caf88c912e7cc40e1220ae67)
  */
 
 /**
@@ -153,6 +153,13 @@ class CRM_Batch_DAO_Batch extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Batches');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 39a106071a4a05f53e66a950291525f24bd46d1d..59f336addae3d3b75eed049f9d648280814ca4a3 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Batch/EntityBatch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:d086b52bbce9c11d89087feea79f1bf0)
+ * (GenCodeChecksum:a88f13eb18fecbda3f310bd2e1f97767)
  */
 
 /**
@@ -64,6 +64,13 @@ class CRM_Batch_DAO_EntityBatch extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Entity Batches');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index a9272d43ec65ab53837a14b93272ce3df86a40ec..9c24642a24385d4c262d3aa267b2be69ed6d5b11 100644 (file)
@@ -35,7 +35,7 @@ class CRM_Bridge_OG_CiviCRM {
    * @param $group
    */
   public static function groupAdd($groupID, $group) {
-    $ogID = CRM_Bridge_OG_Utils::ogID($groupID, FALSE);
+    $ogID = CRM_Bridge_OG_Utils::ogID($groupID);
 
     $node = new StdClass();
     if ($ogID) {
@@ -69,7 +69,7 @@ class CRM_Bridge_OG_CiviCRM {
    * @param $group
    */
   public static function groupDelete($groupID, $group) {
-    $ogID = CRM_Bridge_OG_Utils::ogID($groupID, FALSE);
+    $ogID = CRM_Bridge_OG_Utils::ogID($groupID);
     if (!$ogID) {
       return;
     }
@@ -84,7 +84,7 @@ class CRM_Bridge_OG_CiviCRM {
    */
   public static function groupContact($groupID, $contactIDs, $op) {
     $config = CRM_Core_Config::singleton();
-    $ogID = CRM_Bridge_OG_Utils::ogID($groupID, FALSE);
+    $ogID = CRM_Bridge_OG_Utils::ogID($groupID);
 
     if (!$ogID) {
       return;
index 60e560ab1f4dcf9a3626433e3164fc587f6b8694..7a8b0be8b574e950272ab947dbcb3d15875a2888 100644 (file)
@@ -204,7 +204,7 @@ SELECT v.id
 
     $contactID = CRM_Bridge_OG_Utils::contactID($params['uf_id']);
     if (!$contactID) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception(' no contact found');
     }
 
     // get the group id of this OG
index 0e5dc67e48b4af6ef3ece8e2cdd7b6528c4883f9..5fb44c7d8182653e11f928660b718157ae5c2db9 100644 (file)
@@ -56,12 +56,11 @@ class CRM_Bridge_OG_Utils {
 
   /**
    * @param int $groupID
-   * @param bool $abort
    *
    * @return int|null|string
    * @throws Exception
    */
-  public static function ogID($groupID, $abort = TRUE) {
+  public static function ogID($groupID) {
     $source = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Group',
       $groupID,
       'source'
@@ -73,9 +72,6 @@ class CRM_Bridge_OG_Utils {
         return $matches[1];
       }
     }
-    if ($abort) {
-      CRM_Core_Error::fatal();
-    }
     return NULL;
   }
 
@@ -97,7 +93,7 @@ class CRM_Bridge_OG_Utils {
     CRM_Core_BAO_UFMatch::synchronizeUFMatch($account, $ufID, $account->mail, 'Drupal');
     $contactID = CRM_Core_BAO_UFMatch::getContactId($ufID);
     if (!$contactID) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('no contact found');
     }
     return $contactID;
   }
@@ -108,7 +104,7 @@ class CRM_Bridge_OG_Utils {
    * @param bool $abort
    *
    * @return null|string
-   * @throws Exception
+   * @throws \CRM_Core_Exception
    */
   public static function groupID($source, $title = NULL, $abort = FALSE) {
     $query = "
@@ -126,7 +122,7 @@ SELECT id
     if ($abort &&
       !$groupID
     ) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('no group found');
     }
 
     return $groupID;
index 406b38f70f8bf4c70ff52a8671bf0b3608b1804b..72e2151a640f88cd0311b723df4243efee7a7227 100644 (file)
@@ -266,8 +266,7 @@ AND         tag_id = ( SELECT id FROM civicrm_tag WHERE name = %2 )";
       return TRUE;
     }
     else {
-      CRM_Core_Error::fatal(ts('Petition Id and/or Activity Id is not of the type Positive.'));
-      return FALSE;
+      throw new CRM_Core_Exception(ts('Petition Id and/or Activity Id is not of the type Positive.'));
     }
   }
 
@@ -561,7 +560,7 @@ AND         tag_id = ( SELECT id FROM civicrm_tag WHERE name = %2 )";
     $petitionInfo = [];
     CRM_Campaign_BAO_Survey::retrieve($petitionParams, $petitionInfo);
     if (empty($petitionInfo)) {
-      CRM_Core_Error::fatal('Petition doesn\'t exist.');
+      throw new CRM_Core_Exception('Petition doesn\'t exist.');
     }
 
     //get the default domain email address.
index a4679965b7368d24ba0a8be90fb6941e8e45b00b..44d5047685d99f4488952033bfc943ecd0424dc5 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Campaign/Campaign.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f69a15a0b3ca2db78b4981c73b7d1757)
+ * (GenCodeChecksum:859dab84ee64d9d58287ba723faf3774)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_campaign';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-bullhorn';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -155,6 +162,13 @@ class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Campaigns');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 3f3e3a5a53198990a2f066f82f3c1c9e6f4d2020..34d9a35f82cb1245a623e32e9c5136c800319a3c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Campaign/CampaignGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5b64d5b0724ee405d4ec21c7a1ce7372)
+ * (GenCodeChecksum:c245f47a5db1f3cd039da4cf06b667d1)
  */
 
 /**
@@ -71,6 +71,13 @@ class CRM_Campaign_DAO_CampaignGroup extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Campaign Groups');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index fc324d9cce63084c21a11bed4d49cff8b1e25ccb..b718426fe184e3018d8b7b91b6f03b5cf1be7b75 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Campaign/Survey.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f7cedbe0c777cf7b99c543e80ff5cf0b)
+ * (GenCodeChecksum:44d3b1a60152ac9eb8080e80b3b11d2c)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_survey';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-clipboard';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -176,6 +183,13 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Surveys');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index d08d968accc7901c3905570fc125012bc4bdca5d..db6dd1148811160836b25ffde4e77c2f540c4b2e 100644 (file)
@@ -77,7 +77,7 @@ class CRM_Campaign_Form_Survey_Delete extends CRM_Core_Form {
       CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/campaign', 'reset=1&subPage=survey'));
     }
     else {
-      CRM_Core_Error::fatal(ts('Delete action is missing expected survey ID.'));
+      CRM_Core_Error::statusBounce(ts('Delete action is missing expected survey ID.'));
     }
   }
 
index f434ae785c4367810c4807a8bbdc33a191feedb5..eac97297f77daf6a274ed654b865be47c9a3856f 100644 (file)
@@ -36,7 +36,7 @@ class CRM_Campaign_Page_Petition_Confirm extends CRM_Core_Page {
       !$subscribe_id ||
       !$hash
     ) {
-      CRM_Core_Error::fatal(ts("Missing input parameters"));
+      CRM_Core_Error::statusBounce(ts("Missing input parameters"));
     }
 
     $result = $this->confirm($contact_id, $subscribe_id, $hash, $activity_id, $petition_id);
index 1b89c1a00c564f4065674c6fb05f1b051234d0d1..a2fd729d800a4efed794832a7e323e45c03649ac 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/Case.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:02b3ed592b9c45f74b0d398c8cf25efd)
+ * (GenCodeChecksum:faa618f0586b8f1f8b581cbde6c279dc)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_case';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-folder-open';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -104,6 +111,13 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Cases');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index c2a0755fb605a40b4c8ca873e4201a52e82f6e8a..d699322587aa0ed568a3c889746b7df366e7f49b 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/CaseActivity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:555cd1b20eead1100aa77725a7dd2057)
+ * (GenCodeChecksum:51e6c7e07af84da07b90145b2dd8c0df)
  */
 
 /**
@@ -57,6 +57,13 @@ class CRM_Case_DAO_CaseActivity extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Case Activities');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index b9050ee69437af529461e467fce577a1ad9755dd..2265eb94bcf5976b8337a78513d8225d7857fa33 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/CaseContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:882177c38c507306b2a456e4cf0303fa)
+ * (GenCodeChecksum:cf45b00165fe5bdad9b216e46091e3e6)
  */
 
 /**
@@ -57,6 +57,13 @@ class CRM_Case_DAO_CaseContact extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Case Contacts');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 990d3337cb3a04516ba88b4e97ac26af4f28cd64..a05b62c5357ac60a37e773e41f81de29f95cfdea 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/CaseType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:dfde3b4da5d2f8fd1d41d48398c86e46)
+ * (GenCodeChecksum:91266a2984e12a7526d5a6b13a901c63)
  */
 
 /**
@@ -92,6 +92,13 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Case Types');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 1b8780c99127107a0248c85806e950c2c673e192..9f9ef223e919dde93635b6ee81c06f5eab48f313 100644 (file)
@@ -62,12 +62,15 @@ class CRM_Case_XMLProcessor {
   }
 
   /**
+   * @deprecated
+   *
    * @param bool $indexName
    * @param bool $all
    *
    * @return array
    */
   public static function &allActivityTypes($indexName = TRUE, $all = FALSE) {
+    CRM_Core_Error::deprecatedFunctionWarning('CRM_Case_PseudoConstant::caseActivityType');
     if (self::$activityTypes === NULL) {
       self::$activityTypes = CRM_Case_PseudoConstant::caseActivityType($indexName, $all);
     }
index 9307f2bb905a61f408e0121b175186bcd3200943..6bffb852dd88434b1218146bb3f405b7c8d3a932 100644 (file)
@@ -253,7 +253,7 @@ class CRM_Case_XMLProcessor_Process extends CRM_Case_XMLProcessor {
    * @return array
    */
   public function activityTypes($activityTypesXML, $maxInst = FALSE, $isLabel = FALSE, $maskAction = FALSE) {
-    $activityTypes = &$this->allActivityTypes(TRUE, TRUE);
+    $activityTypes = CRM_Case_PseudoConstant::caseActivityType(TRUE, TRUE);
     $result = [];
     foreach ($activityTypesXML as $activityTypeXML) {
       foreach ($activityTypeXML as $recordXML) {
@@ -404,7 +404,7 @@ AND        a.is_deleted = 0
    */
   public function createActivity($activityTypeXML, &$params) {
     $activityTypeName = (string) $activityTypeXML->name;
-    $activityTypes = &$this->allActivityTypes(TRUE, TRUE);
+    $activityTypes = CRM_Case_PseudoConstant::caseActivityType(TRUE, TRUE);
     $activityTypeInfo = $activityTypes[$activityTypeName] ?? NULL;
 
     if (!$activityTypeInfo) {
index 1fdff0091560ac78eaddb1df5ada09e492a3ca8e..6479980996dcb28fbd3f910cc09635ebb8a5bc69 100644 (file)
@@ -771,7 +771,7 @@ LIMIT  1
       $activityTypes = $form->getActivityTypes($xml, $activitySetName);
     }
     else {
-      $activityTypes = CRM_Case_XMLProcessor::allActivityTypes(FALSE, TRUE);
+      $activityTypes = CRM_Case_PseudoConstant::caseActivityType(FALSE, TRUE);
     }
 
     if (!$activityTypes) {
index d795677303dafdb5505580db666eb2e118098c24..2bb378d1d365ccb0f3de4ea418d8555e31c3a4fa 100644 (file)
@@ -175,7 +175,7 @@ class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact {
     // Since hash was required, make sure we have a 0 value for it (CRM-1063).
     // @todo - does this mean we can remove this block?
     // Fixed in 1.5 by making hash optional, only do this in create mode, not update.
-    if ((!array_key_exists('hash', $contact) || !$contact->hash) && !$contact->id) {
+    if ((!isset($contact->hash) || !$contact->hash) && !$contact->id) {
       $allNull = FALSE;
       $contact->hash = md5(uniqid(rand(), TRUE));
     }
index 42fb2ba54dfba4508c01424c1c0732aa5d14fee3..b356a39616edcc2146ad02fa5b23772986384fbe 100644 (file)
@@ -26,7 +26,7 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType {
    * @param array $defaults
    *   (reference ) an assoc array to hold the flattened values.
    *
-   * @return CRM_Contact_BAO_ContactType|null
+   * @return CRM_Contact_DAO_ContactType|null
    *   object on success, null otherwise
    */
   public static function retrieve(&$params, &$defaults) {
@@ -48,13 +48,14 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType {
    */
   public static function isActive($contactType) {
     $contact = self::contactTypeInfo(FALSE);
-    $active = array_key_exists($contactType, $contact);
-    return $active;
+    return array_key_exists($contactType, $contact);
   }
 
   /**
    * Retrieve basic contact type information.
    *
+   * @todo - call getAllContactTypes & return filtered results.
+   *
    * @param bool $includeInactive
    *
    * @return array
@@ -112,6 +113,8 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType {
   /**
    * Retrieve all subtypes Information.
    *
+   * @todo - call getAllContactTypes & return filtered results.
+   *
    * @param array $contactType
    *   ..
    * @param bool $all
@@ -218,55 +221,26 @@ WHERE  subtype.name IS NOT NULL AND subtype.parent_id IS NOT NULL {$ctWHERE}
   /**
    * Retrieve info array about all types i.e basic + subtypes.
    *
+   * @todo deprecate calling this with $all = TRUE in favour of getAllContactTypes
+   * & ideally add getActiveContactTypes & call that from this fully
+   * deprecated function.
+   *
    * @param bool $all
    *
    * @return array
    *   Array of basic types + all subtypes.
+   * @throws \API_Exception
    */
   public static function contactTypeInfo($all = FALSE) {
-    static $_cache = NULL;
-
-    if ($_cache === NULL) {
-      $_cache = [];
-    }
-
-    $argString = $all ? 'CRM_CT_CTI_1' : 'CRM_CT_CTI_0';
-    if (!array_key_exists($argString, $_cache)) {
-      $cache = CRM_Utils_Cache::singleton();
-      $_cache[$argString] = $cache->get($argString);
-      if (!$_cache[$argString]) {
-        $_cache[$argString] = [];
-
-        $sql = '
-SELECT type.*, parent.name as parent, parent.label as parent_label
-FROM      civicrm_contact_type type
-LEFT JOIN civicrm_contact_type parent ON type.parent_id = parent.id
-WHERE  type.name IS NOT NULL
-';
-        if ($all === FALSE) {
-          $sql .= ' AND type.is_active = 1';
+    $contactTypes = self::getAllContactTypes();
+    if (!$all) {
+      foreach ($contactTypes as $index => $value) {
+        if (!$value['is_active']) {
+          unset($contactTypes[$index]);
         }
-
-        $dao = CRM_Core_DAO::executeQuery($sql,
-          [],
-          FALSE,
-          'CRM_Contact_DAO_ContactType'
-        );
-        while ($dao->fetch()) {
-          $value = [];
-          CRM_Core_DAO::storeValues($dao, $value);
-          if (array_key_exists('parent_id', $value)) {
-            $value['parent'] = $dao->parent;
-            $value['parent_label'] = $dao->parent_label;
-          }
-          $_cache[$argString][$dao->name] = $value;
-        }
-
-        $cache->set($argString, $_cache[$argString]);
       }
     }
-
-    return $_cache[$argString];
+    return $contactTypes;
   }
 
   /**
@@ -278,6 +252,7 @@ WHERE  type.name IS NOT NULL
    *
    * @return array
    *   Array of basictypes with name as 'built-in name' and 'label' as value
+   * @throws \API_Exception
    */
   public static function contactTypePairs($all = FALSE, $typeName = NULL, $delimiter = NULL) {
     $types = self::contactTypeInfo($all);
@@ -327,6 +302,7 @@ WHERE  type.name IS NOT NULL
       $_cache = [];
     }
 
+    // @todo - call getAllContactTypes & return filtered results.
     $argString = $all ? 'CRM_CT_GSE_1' : 'CRM_CT_GSE_0';
     $argString .= $isSeparator ? '_1' : '_0';
     $argString .= $separator;
@@ -577,12 +553,16 @@ WHERE name = %1';
    * @return object|void
    * @throws \CRM_Core_Exception
    */
-  public static function add(&$params) {
+  public static function add($params) {
 
     // label or name
     if (empty($params['id']) && empty($params['label'])) {
+      // @todo consider throwing exception instead.
       return NULL;
     }
+    if (empty($params['id']) && empty($params['name'])) {
+      $params['name'] = ucfirst(CRM_Utils_String::munge($params['label']));
+    }
     if (!empty($params['parent_id']) &&
       !CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_ContactType', $params['parent_id'])
     ) {
@@ -592,7 +572,6 @@ WHERE name = %1';
     $contactType = new CRM_Contact_DAO_ContactType();
     $contactType->copyValues($params);
     $contactType->id = $params['id'] ?? NULL;
-    $contactType->is_active = CRM_Utils_Array::value('is_active', $params, 0);
 
     $contactType->save();
     if ($contactType->find(TRUE)) {
@@ -604,7 +583,7 @@ WHERE name = %1';
     if (!empty($params['id'])) {
       $newParams = [
         'label' => ts("New %1", [1 => $contact]),
-        'is_active' => $active,
+        'is_active' => $contactType->is_active,
       ];
       CRM_Core_BAO_Navigation::processUpdate(['name' => "New $contactName"], $newParams);
     }
@@ -657,7 +636,8 @@ WHERE name = %1';
   /**
    * @param string $typeName
    *
-   * @return mixed
+   * @return string
+   * @throws \API_Exception
    */
   public static function getLabel($typeName) {
     $types = self::contactTypeInfo(TRUE);
@@ -803,14 +783,16 @@ WHERE extends = %1 AND ' . implode(" OR ", $subTypeClause);
 
   /**
    * Function that does something.
-   * @todo what does this function do?
    *
    * @param int $contactID
-   * @param $contactType
+   * @param string $contactType
    * @param array $oldSubtypeSet
    * @param array $newSubtypeSet
    *
    * @return bool
+   * @throws \CRM_Core_Exception
+   *
+   * @todo what does this function do?
    */
   public  static function deleteCustomSetForSubtypeMigration(
     $contactID,
@@ -840,6 +822,8 @@ WHERE extends = %1 AND ' . implode(" OR ", $subTypeClause);
    * @param array $subtypesToPreserve
    *
    * @return bool
+   *
+   * @throws \CRM_Core_Exception
    */
   public static function deleteCustomRowsOfSubtype($gID, $subtypes = [], $subtypesToPreserve = []) {
     if (!$gID or empty($subtypes)) {
@@ -885,6 +869,8 @@ WHERE ($subtypeClause)";
    *   Entity id.
    *
    * @return null|string
+   *
+   * @throws \CRM_Core_Exception
    */
   public static function deleteCustomRowsForEntityID($customTable, $entityID) {
     $customTable = CRM_Utils_Type::escape($customTable, 'String');
@@ -892,4 +878,28 @@ WHERE ($subtypeClause)";
     return CRM_Core_DAO::singleValueQuery($query, [1 => [$entityID, 'Integer']]);
   }
 
+  /**
+   * Get all contact types, leveraging caching.
+   *
+   * @return array
+   *
+   * @throws \API_Exception
+   */
+  protected static function getAllContactTypes() {
+    if (!Civi::cache('contactTypes')->has('all')) {
+      $contactTypes = (array) ContactType::get()->setCheckPermissions(FALSE)
+        ->setSelect(['id', 'name', 'label', 'description', 'is_active', 'is_reserved', 'image_URL', 'parent_id', 'parent_id:name', 'parent_id:label'])
+        ->execute()->indexBy('name');
+
+      foreach ($contactTypes as $id => $contactType) {
+        $contactTypes[$id]['parent'] = $contactType['parent_id:name'];
+        $contactTypes[$id]['parent_label'] = $contactType['parent_id:label'];
+        unset($contactTypes[$id]['parent_id:name'], $contactTypes[$id]['parent_id:label']);
+      }
+      Civi::cache('contactTypes')->set('all', $contactTypes);
+    }
+    $contactTypes = Civi::cache('contactTypes')->get('all');
+    return $contactTypes;
+  }
+
 }
index ec214b8142010ba25c5b9cc44b1597245f0c7fe9..8ce1289fae26a7a22a2aeef09ebfb4529566f03e 100644 (file)
@@ -52,6 +52,9 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
    * @param int $id Group id.
    */
   public static function discard($id) {
+    if (!$id || !is_numeric($id)) {
+      throw new CRM_Core_Exception('Invalid group request attempted');
+    }
     CRM_Utils_Hook::pre('delete', 'Group', $id, CRM_Core_DAO::$_nullArray);
 
     $transaction = new CRM_Core_Transaction();
@@ -912,7 +915,7 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
       $action = array_sum(array_keys($newLinks));
 
       // CRM-9936
-      if (array_key_exists('is_reserved', $object)) {
+      if (property_exists($object, 'is_reserved')) {
         //if group is reserved and I don't have reserved permission, suppress delete/edit
         if ($object->is_reserved && !$reservedPermission) {
           $action -= CRM_Core_Action::DELETE;
@@ -921,7 +924,7 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
         }
       }
 
-      if (array_key_exists('is_active', $object)) {
+      if (property_exists($object, 'is_active')) {
         if ($object->is_active) {
           $action -= CRM_Core_Action::ENABLE;
         }
index 694f6a84d420a3fdc6f2ae0baf8a2142ca97b44a..3b1340a0d09c21a1036b1d5307ccf8c2915ad458 100644 (file)
@@ -2049,7 +2049,7 @@ class CRM_Contact_BAO_Query {
             $this->_params[$id][1]
           );
           $this->_qill[0][] = ts("%1 %2 %3", [
-            1 => $field['title'],
+            1 => $field['title'] ?? '',
             2 => $qillop,
             3 => $qillVal,
           ]);
@@ -2323,7 +2323,7 @@ class CRM_Contact_BAO_Query {
             }
             // we don't know when this might happen
             else {
-              CRM_Core_Error::fatal(ts("%1 is not a valid operator", [1 => $operator]));
+              throw new CRM_Core_Exception(ts("%1 is not a valid operator", [1 => $operator]));
             }
           }
         }
@@ -2417,7 +2417,7 @@ class CRM_Contact_BAO_Query {
       $tName = str_replace(' ', '_', $tName);
       return [$tName, $fldName];
     }
-    CRM_Core_Error::fatal();
+    throw new CRM_Core_Exception('Cannot determine location table information');
   }
 
   /**
@@ -2973,7 +2973,7 @@ class CRM_Contact_BAO_Query {
 
     if (is_array($value) && count($value) > 1) {
       if (strpos($op, 'IN') === FALSE && strpos($op, 'NULL') === FALSE) {
-        CRM_Core_Error::fatal(ts("%1 is not a valid operator", [1 => $op]));
+        throw new CRM_Core_Exception(ts("%1 is not a valid operator", [1 => $op]));
       }
       $this->_useDistinct = TRUE;
     }
@@ -3033,10 +3033,7 @@ class CRM_Contact_BAO_Query {
       if ($op === '!=') {
         $groupIds = '';
         if (!empty($regularGroupIDs)) {
-          $groupIds = CRM_Utils_Type::validate(
-            implode(',', (array) $regularGroupIDs),
-            'CommaSeparatedIntegers'
-          );
+          $groupIds = CRM_Utils_Type::validate(implode(',', (array) $regularGroupIDs), 'CommaSeparatedIntegers');
         }
         $clause = "{$gcTable}.contact_id NOT IN (SELECT contact_id FROM civicrm_group_contact cgc WHERE cgc.group_id = $groupIds )";
       }
@@ -3283,10 +3280,7 @@ WHERE  $smartGroupClause
     // implode array, then remove all spaces
     $value = str_replace(' ', '', implode(',', (array) $value));
     if (!empty($value)) {
-      $value = CRM_Utils_Type::validate(
-        $value,
-        'CommaSeparatedIntegers'
-      );
+      $value = CRM_Utils_Type::validate($value, 'CommaSeparatedIntegers');
     }
 
     $useAllTagTypes = $this->getWhereValues('all_tag_types', $grouping);
@@ -3294,7 +3288,7 @@ WHERE  $smartGroupClause
 
     $etTable = "`civicrm_entity_tag-" . uniqid() . "`";
 
-    if ($useAllTagTypes[2]) {
+    if (!empty($useAllTagTypes[2])) {
       $this->_tables[$etTable] = $this->_whereTables[$etTable]
         = " LEFT JOIN civicrm_entity_tag {$etTable} ON ( {$etTable}.entity_id = contact_a.id  AND {$etTable}.entity_table = 'civicrm_contact') ";
 
@@ -3696,7 +3690,7 @@ WHERE  $smartGroupClause
     }
     CRM_Utils_Type::validateAll($contactIds, 'Positive');
     if (!empty($contactIds)) {
-      $this->_where[0][] = " ( contact_a.id IN (" . implode(',', $contactIds) . " ) ) ";
+      $this->_where[0][] = ' ( contact_a.id IN (' . implode(',', $contactIds) . " ) ) ";
     }
   }
 
@@ -4243,7 +4237,7 @@ WHERE  $smartGroupClause
     // Note we do not currently set mySql to handle timezones, so doing this the old-fashioned way
     $today = date('Ymd');
     //check for active, inactive and all relation status
-    if ($relStatus[2] == 0) {
+    if (empty($relStatus[2])) {
       $where[$grouping][] = "(
 civicrm_relationship.is_active = 1 AND
 ( civicrm_relationship.end_date IS NULL OR civicrm_relationship.end_date >= {$today} ) AND
@@ -5053,6 +5047,28 @@ civicrm_relationship.start_date > {$today}
         $this->_skipDeleteClause
       );
 
+      if (isset($this->_tables['civicrm_activity'])) {
+        $bao = new CRM_Activity_BAO_Activity();
+        $clauses = $subclauses = [];
+        foreach ((array) $bao->addSelectWhereClause() as $field => $vals) {
+          if ($vals && $field !== 'id') {
+            $clauses[] = $bao->tableName() . ".$field " . $vals;
+          }
+          elseif ($vals) {
+            $subclauses[] = "$field " . implode(" AND $field ", (array) $vals);
+          }
+        }
+        if ($subclauses) {
+          $clauses[] = $bao->tableName() . '.`id` IN (SELECT `id` FROM `' . $bao->tableName() . '` WHERE ' . implode(' AND ', $subclauses) . ')';
+        }
+        if (!empty($clauses) && $this->_permissionWhereClause) {
+          $this->_permissionWhereClause .= ' AND (' . implode(' AND ', $clauses) . ')';
+        }
+        elseif (!empty($clauses)) {
+          $this->_permissionWhereClause .= '(' . implode(' AND ', $clauses) . ')';
+        }
+      }
+
       // regenerate fromClause since permission might have added tables
       if ($this->_permissionWhereClause) {
         //fix for row count in qill (in contribute/membership find)
@@ -6415,9 +6431,8 @@ AND   displayRelType.is_active = 1
           if (empty($fieldSpec['bao'])) {
             continue;
           }
-          $sortedOptions = $fieldSpec['bao']::buildOptions($fieldSpec['name'], NULL, [
-            'orderColumn' => CRM_Utils_Array::value('labelColumn', $pseudoConstantMetadata, 'label'),
-          ]);
+          $sortedOptions = $fieldSpec['bao']::buildOptions($fieldSpec['name']);
+          natcasesort($sortedOptions);
           $fieldIDsInOrder = implode(',', array_keys($sortedOptions));
           // Pretty sure this validation ALSO happens in the order clause & this can't be reached but...
           // this might give some early warning.
index 548ec894aa5357ddd22f9d5fe7155fc54427a19b..fd18da44305633bc7fc07a224bf767cad02085f9 100644 (file)
@@ -76,7 +76,7 @@ class CRM_Contact_BAO_SearchCustom {
 
     $error = include_once $customSearchFile;
     if ($error == FALSE) {
-      CRM_Core_Error::fatal('Custom search file: ' . $customSearchFile . ' does not exist. Please verify your custom search settings in CiviCRM administrative panel.');
+      throw new CRM_Core_Exception('Custom search file: ' . $customSearchFile . ' does not exist. Please verify your custom search settings in CiviCRM administrative panel.');
     }
 
     return [$customSearchID, $customSearchClass, $formValues];
@@ -93,7 +93,7 @@ class CRM_Contact_BAO_SearchCustom {
     list($customSearchID, $customSearchClass, $formValues) = self::details($csID, $ssID);
 
     if (!$customSearchID) {
-      CRM_Core_Error::fatal('Could not resolve custom search ID');
+      throw new CRM_Core_Exception('Could not resolve custom search ID');
     }
 
     // instantiate the new class
index f41534251394b08bba83e243e6b553a98020e824..1ff549c96843b273a75927cbaeed2f70e42f62b4 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/ACLContactCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:74b0413eb512bbd0ecddcb1391ce3c3b)
+ * (GenCodeChecksum:6ab50b60a3e996451e8e35f730207f46)
  */
 
 /**
@@ -64,6 +64,13 @@ class CRM_Contact_DAO_ACLContactCache extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('ACLContact Caches');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 7acdddd04c42b2137073755e4b1e7eedc8c49740..9638d28f4b04c89c064aa9b32119762f082c8196 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/Contact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e811ca59eee757951e6e190a318f9749)
+ * (GenCodeChecksum:6d8b87302a9cecf71150fc71ca3879dd)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_contact';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-address-book-o';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -386,6 +393,13 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Contacts');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index b8fbb30568e0ae9dbfe09b9c37740c3cae58c665..6baf936e73dc2bf232077d189a0031c3945daf36 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/ContactType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:3ad338181596a9b5e3a9f6549fd381c9)
+ * (GenCodeChecksum:32038ad57ffa86a8e233d1d337d69f20)
  */
 
 /**
@@ -92,6 +92,13 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Contact Types');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
@@ -132,6 +139,7 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_STRING,
           'title' => ts('Name'),
           'description' => ts('Internal name of Contact Type (or Subtype).'),
+          'required' => TRUE,
           'maxlength' => 64,
           'size' => CRM_Utils_Type::BIG,
           'where' => 'civicrm_contact_type.name',
@@ -206,6 +214,7 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
           'title' => ts('Contact Type Is Active?'),
           'description' => ts('Is this entry active?'),
           'where' => 'civicrm_contact_type.is_active',
+          'default' => '1',
           'table_name' => 'civicrm_contact_type',
           'entity' => 'ContactType',
           'bao' => 'CRM_Contact_BAO_ContactType',
@@ -217,6 +226,7 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
           'title' => ts('Contact Type is Reserved?'),
           'description' => ts('Is this contact type a predefined system type'),
           'where' => 'civicrm_contact_type.is_reserved',
+          'default' => '0',
           'table_name' => 'civicrm_contact_type',
           'entity' => 'ContactType',
           'bao' => 'CRM_Contact_BAO_ContactType',
index 1e890bdd2f8b13f54e023edadae0de7d1cb28166..5ceac6dcbab8ba29eacc134fa947c68ae3f25b04 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/DashboardContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:65a1fcc31732f320ae7193e2a111f72b)
+ * (GenCodeChecksum:ebe84476b55f9383d54e5a645f657f83)
  */
 
 /**
@@ -76,6 +76,13 @@ class CRM_Contact_DAO_DashboardContact extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Dashboard Contacts');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index ac08331c79809bfc61f263919fe44570836ffa48..62c7b43119afd4cef88df6b82fe995eccfc3eb1d 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/Group.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:d166e1dc365b62901602a50d4fb8b727)
+ * (GenCodeChecksum:06233cafdd53c046ba9008ae8af40a1b)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_group';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-users';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -174,6 +181,13 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Groups');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 6eac2f5d0f70590bb3cc3f9301f914a59146fd20..55c67491a103707708fe23a90463247e55ac2308 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:dcc7fe36954bd34340026bb6af5235ef)
+ * (GenCodeChecksum:a2d4155bf9e67023136598c9ca86be31)
  */
 
 /**
@@ -78,6 +78,13 @@ class CRM_Contact_DAO_GroupContact extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Group Contacts');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 621584fd56d9d3ebbd63f446b7d4f25003e09e3f..10760ac2d799f691ac39a1c52f6466f1de66b206 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupContactCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e0978847d01b9b3f7819759f8171344c)
+ * (GenCodeChecksum:773c4e4cbe66d404e30e3dffa2dcb8a1)
  */
 
 /**
@@ -57,6 +57,13 @@ class CRM_Contact_DAO_GroupContactCache extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Group Contact Caches');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index ffa4501a3b05fc7535b30401a9e5150f3cc6a3d5..0af54cf3a366490e28d4e0ccfacc5c107fa50906 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupNesting.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:3dbfee8b12a7e1edeaaf4ead4e48db7e)
+ * (GenCodeChecksum:9d8fbfd3582d798a3536300ed7848d85)
  */
 
 /**
@@ -57,6 +57,13 @@ class CRM_Contact_DAO_GroupNesting extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Group Nestings');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 712628dc3bbee81831970fbe73962bf7a81a41ba..84b18a513fbc91e223ecdbff69928ca86804977e 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupOrganization.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:fad51ea5930a191661af5319a25e99c7)
+ * (GenCodeChecksum:12abfd5fb4d2eef796fec3a526338538)
  */
 
 /**
@@ -57,6 +57,13 @@ class CRM_Contact_DAO_GroupOrganization extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Group Organizations');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 3602e3afd1e2e89c97a634e558d1507a46c8a478..0fdcca5d9d184d1aec26954ebcb78e10e342385b 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/Relationship.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:376227269d8c1c224c357387d0862a9f)
+ * (GenCodeChecksum:f512c36730defcd334c0e6ccc896e7fb)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_relationship';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-handshake-o';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -113,6 +120,13 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Relationships');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index b0b7bb8300a4390b057c7641708bd2f35c267beb..1fe25654f2be9b5244efdff946487f53c179ee5b 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/RelationshipType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:727adcb362121a8c027992f37aa8e7f6)
+ * (GenCodeChecksum:81dab8a4d80601fe4afa3dc1556cc804)
  */
 
 /**
@@ -120,6 +120,13 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Relationship Types');
+  }
+
   /**
    * Returns all the column names of this table
    *
index f607b006b03180fa29ef3124cb8e2a11e6724c52..c9c55e6c1cff61a6b63fa1a1303fdd19934cf479 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/SavedSearch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a60876bf99e330f6a463247686a92f31)
+ * (GenCodeChecksum:f84f342e55d9bbc420ff499c2789ab48)
  */
 
 /**
@@ -78,6 +78,13 @@ class CRM_Contact_DAO_SavedSearch extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Saved Searches');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 29f6238d9f18bbe16e4aa84cac1ee97fe723c882..cb8cae3491b0a62a14d6e25e51c277560a3d7331 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/SubscriptionHistory.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:28bbce4d536484d73c7ade80e3ec9448)
+ * (GenCodeChecksum:a927d94545a8c48923591a3cd494c6be)
  */
 
 /**
@@ -85,6 +85,13 @@ class CRM_Contact_DAO_SubscriptionHistory extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Subscription Histories');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 327bc9004502be2787411fa46fa4ad8af9dc7b5b..74e5aa006ebb9d4f39f12cf71a98c3bf3593161e 100644 (file)
@@ -225,7 +225,7 @@ AND    p.entity_id    = e.id
     if ($dao->fetch() &&
       !$dao->price_set_id
     ) {
-      CRM_Core_Error::fatal(ts('There are no events with Price Sets'));
+      throw new CRM_Core_Exception(ts('There are no events with Price Sets'));
     }
 
     // get all the fields and all the option values associated with it
index 594462f0e1118218a3afe79d970e384cb8fa2cf7..98887e8f2e4cc573b8b3b3c768d4df66afc21714 100644 (file)
@@ -146,16 +146,22 @@ LEFT JOIN civicrm_email   email   ON ( email.contact_id = contact_a.id AND
    * @return string
    */
   public function where($includeContactIDs = FALSE) {
-    $params = [];
-
     $low = CRM_Utils_Array::value('postal_code_low',
       $this->_formValues
     );
     $high = CRM_Utils_Array::value('postal_code_high',
       $this->_formValues
     );
+    $errorMessage = NULL;
     if ($low == NULL || $high == NULL) {
-      CRM_Core_Error::statusBounce(ts('Please provide start and end postal codes'),
+      $errorMessage = ts('Please provide start and end postal codes.');
+    }
+
+    if (!is_numeric($low) || !is_numeric($high)) {
+      $errorMessage = ts('This search only supports numeric postal codes.');
+    }
+    if ($errorMessage) {
+      CRM_Core_Error::statusBounce($errorMessage,
         CRM_Utils_System::url('civicrm/contact/search/custom',
           "reset=1&csid={$this->_formValues['customSearchID']}",
           FALSE, NULL, FALSE, TRUE
index b478fb486799a1a2112338fdef9c504a1cdcac56..7a7d57093f11a28483ad04f6968d2306318f465b 100644 (file)
@@ -86,8 +86,6 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
     $form->_contactIds = [];
     $form->_contactTypes = [];
 
-    $useTable = (CRM_Utils_System::getClassName($form->controller->getStateMachine()) == 'CRM_Export_StateMachine_Standalone');
-
     $isStandAlone = in_array('task', $form->urlPath) || in_array('standalone', $form->urlPath);
     if ($isStandAlone) {
       list($form->_task, $title) = CRM_Contact_Task::getTaskAndTitleByClass(get_class($form));
@@ -137,13 +135,6 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
     $crmContactTaskTasks = CRM_Contact_Task::taskTitles();
     $form->assign('taskName', CRM_Utils_Array::value($form->_task, $crmContactTaskTasks));
 
-    if ($useTable) {
-      $tempTable = CRM_Utils_SQL_TempTable::build()->setCategory('tskact')->setDurable()->setId($qfKey);
-      $form->_componentTable = $tempTable->getName();
-      $tempTable->drop();
-      $tempTable->createWithColumns('contact_id int primary key');
-    }
-
     // all contacts or action = save a search
     if ((CRM_Utils_Array::value('radio_ts', self::$_searchFormValues) == 'ts_all') ||
       ($form->_task == CRM_Contact_Task::SAVE_SEARCH)
@@ -151,34 +142,10 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
       // since we don't store all contacts in prevnextcache, when user selects "all" use query to retrieve contacts
       // rather than prevnext cache table for most of the task actions except export where we rebuild query to fetch
       // final result set
-      if ($useTable) {
-        $allCids = Civi::service('prevnext')->getSelection($cacheKey, "getall");
-      }
-      else {
-        $allCids[$cacheKey] = self::getContactIds($form);
-      }
+      $allCids[$cacheKey] = self::getContactIds($form);
 
       $form->_contactIds = [];
-      if ($useTable) {
-        $count = 0;
-        $insertString = [];
-        foreach ($allCids[$cacheKey] as $cid => $ignore) {
-          $count++;
-          $insertString[] = " ( {$cid} ) ";
-          if ($count % 200 == 0) {
-            $string = implode(',', $insertString);
-            $sql = "REPLACE INTO {$form->_componentTable} ( contact_id ) VALUES $string";
-            CRM_Core_DAO::executeQuery($sql);
-            $insertString = [];
-          }
-        }
-        if (!empty($insertString)) {
-          $string = implode(',', $insertString);
-          $sql = "REPLACE INTO {$form->_componentTable} ( contact_id ) VALUES $string";
-          CRM_Core_DAO::executeQuery($sql);
-        }
-      }
-      elseif (empty($form->_contactIds)) {
+      if (empty($form->_contactIds)) {
         // filter duplicates here
         // CRM-7058
         // might be better to do this in the query, but that logic is a bit complex
@@ -201,13 +168,7 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
         // need to perform action on only selected contacts
         foreach (self::$_searchFormValues as $name => $value) {
           if (substr($name, 0, CRM_Core_Form::CB_PREFIX_LEN) == CRM_Core_Form::CB_PREFIX) {
-            $contactID = substr($name, CRM_Core_Form::CB_PREFIX_LEN);
-            if ($useTable) {
-              $insertString[] = " ( {$contactID} ) ";
-            }
-            else {
-              $form->_contactIds[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN);
-            }
+            $form->_contactIds[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN);
           }
         }
       }
@@ -215,12 +176,7 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
         // fetching selected contact ids of passed cache key
         $selectedCids = Civi::service('prevnext')->getSelection($cacheKey);
         foreach ($selectedCids[$cacheKey] as $selectedCid => $ignore) {
-          if ($useTable) {
-            $insertString[] = " ( {$selectedCid} ) ";
-          }
-          else {
-            $form->_contactIds[] = $selectedCid;
-          }
+          $form->_contactIds[] = $selectedCid;
         }
       }
 
index f5fe8739cfb6fc1771a43822cc691f013eabe8da..fb5e6ff51289720245aaca6104a66901b6528473 100644 (file)
@@ -213,26 +213,26 @@ trait CRM_Contact_Form_Task_EmailTrait {
         'options' => ['limit' => 0],
       ])['values'];
 
+      // The contact task supports passing in email_id in a url. It supports a single email
+      // and is marked as having been related to CiviHR.
+      // The array will look like $this->_toEmail = ['email' => 'x', 'contact_id' => 2])
+      // If it exists we want to use the specified email which might be different to the primary email
+      // that we have.
+      if (!empty($this->_toEmail['contact_id']) && !empty($allContactDetails[$this->_toEmail['contact_id']])) {
+        $allContactDetails[$this->_toEmail['contact_id']]['email'] = $this->_toEmail['email'];
+      }
+
       // perform all validations on unique contact Ids
       foreach ($allContactDetails as $contactId => $value) {
         if ($value['do_not_email'] || empty($value['email']) || !empty($value['is_deceased']) || $value['on_hold']) {
           $this->setSuppressedEmail($contactId, $value);
         }
-        else {
-          $email = $value['email'];
-
-          // build array's which are used to setdefaults
-          if (in_array($contactId, $this->_toContactIds)) {
-            $this->_toContactDetails[$contactId] = $this->_contactDetails[$contactId] = $value;
-            // If a particular address has been specified as the default, use that instead of contact's primary email
-            if (!empty($this->_toEmail) && $this->_toEmail['contact_id'] == $contactId) {
-              $email = $this->_toEmail['email'];
-            }
-            $toArray[] = [
-              'text' => '"' . $value['sort_name'] . '" <' . $email . '>',
-              'id' => "$contactId::{$email}",
-            ];
-          }
+        elseif (in_array($contactId, $this->_toContactIds)) {
+          $this->_toContactDetails[$contactId] = $this->_contactDetails[$contactId] = $value;
+          $toArray[] = [
+            'text' => '"' . $value['sort_name'] . '" <' . $value['email'] . '>',
+            'id' => "$contactId::{$value['email']}",
+          ];
         }
       }
 
index 7940288294753483f09debf74bc25282075c5796..b598bd3cd3ca539ab50dbc48c682a42ccd26c031 100644 (file)
@@ -93,7 +93,7 @@ class CRM_Contact_Import_ImportJob {
    */
   public function isComplete($dropIfComplete = TRUE) {
     if (!$this->_statusFieldName) {
-      CRM_Core_Error::fatal("Could not get name of the import status field");
+      throw new CRM_Core_Exception("Could not get name of the import status field");
     }
     $query = "SELECT * FROM $this->_tableName
                   WHERE  $this->_statusFieldName = 'NEW' LIMIT 1";
index 069aff30d9955b28091114929e1ff14d2f1ed7c1..4b91252858b3dd1877334767b67bf765abef44dd 100644 (file)
@@ -770,7 +770,7 @@ LIMIT {$offset}, {$rowCount}
   public static function getSearchOptionsFromRequest() {
     $searchParams = [];
     $searchData = $_REQUEST['search'] ?? NULL;
-    $searchData['value'] = CRM_Utils_Type::escape($searchData['value'], 'String');
+    $searchData['value'] = CRM_Utils_Type::escape($searchData['value'] ?? NULL, 'String');
     $selectorElements = [
       'is_selected',
       'is_selected_input',
index 0282912a5e2b3914fc30c6ad9b42150827feba1b..b4bf18bafa03473ddfd4628be5eca3a12426db26 100644 (file)
@@ -56,7 +56,7 @@ class CRM_Contact_Page_DedupeMerge extends CRM_Core_Page {
     $criteria = json_decode($criteria, TRUE);
     $cacheKeyString = CRM_Dedupe_Merger::getMergeCacheKeyString($rgid, $gid, $criteria, TRUE, $limit);
 
-    if ($mode == 'aggressive' && !CRM_Core_Permission::check('force merge duplicate contacts')) {
+    if ($mode === 'aggressive' && !CRM_Core_Permission::check('force merge duplicate contacts')) {
       CRM_Core_Session::setStatus(ts('You do not have permission to force merge duplicate contact records'), ts('Permission Denied'), 'error');
       CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/contact/dedupefind', $urlQry));
     }
@@ -122,6 +122,7 @@ class CRM_Contact_Page_DedupeMerge extends CRM_Core_Page {
    *
    * @throws \CRM_Core_Exception
    * @throws \CiviCRM_API3_Exception
+   * @throws \API_Exception
    */
   public static function callBatchMerge(CRM_Queue_TaskContext $ctx, $rgid, $gid, $mode = 'safe', $batchLimit, $isSelected, $criteria, $searchLimit) {
     CRM_Dedupe_Merger::batchMerge($rgid, $gid, $mode, $batchLimit, $isSelected, $criteria, TRUE, FALSE, $searchLimit);
index 7861eb14918258cbabbc76802b017707f8cc913e..a9f61ee85c27cf6f7cff9fff09da041290844622 100644 (file)
@@ -420,7 +420,7 @@ class CRM_Contact_Page_View_Summary extends CRM_Contact_Page_View {
         'count' => CRM_Contact_BAO_Contact::getCountComponent($id, $this->_contactId, $group['table_name']),
         'hideCount' => !$group['is_multiple'],
         'class' => 'livePage',
-        'icon' => 'crm-i fa-gear',
+        'icon' => 'crm-i ' . ($group['icon'] ?: 'fa-gear'),
       ];
       $weight += 10;
     }
index 9498e45db2fd61da95c02e8549502eb334cce117..06696a2953056d701bd5f0eafcd512b7de7df6b4 100644 (file)
@@ -48,21 +48,25 @@ class CRM_Contact_Task extends CRM_Core_Task {
           'title' => ts('Group - add contacts'),
           'class' => 'CRM_Contact_Form_Task_AddToGroup',
           'url' => 'civicrm/task/add-to-group',
+          'icon' => 'fa-user-plus',
         ),
         self::GROUP_REMOVE => array(
           'title' => ts('Group - remove contacts'),
           'class' => 'CRM_Contact_Form_Task_RemoveFromGroup',
           'url' => 'civicrm/task/remove-from-group',
+          'icon' => 'fa-user-plus',
         ),
         self::TAG_ADD => array(
           'title' => ts('Tag - add to contacts'),
           'class' => 'CRM_Contact_Form_Task_AddToTag',
           'url' => 'civicrm/task/add-to-tag',
+          'icon' => 'fa-tags',
         ),
         self::TAG_REMOVE => array(
           'title' => ts('Tag - remove from contacts'),
           'class' => 'CRM_Contact_Form_Task_RemoveFromTag',
           'url' => 'civicrm/task/remove-from-tag',
+          'icon' => 'fa-tag',
         ),
         self::TASK_EXPORT => array(
           'title' => ts('Export contacts'),
@@ -80,12 +84,14 @@ class CRM_Contact_Task extends CRM_Core_Task {
           'class' => 'CRM_Contact_Form_Task_Email',
           'result' => TRUE,
           'url' => 'civicrm/task/send-email',
+          'icon' => 'fa-paper-plane-o',
         ),
         self::TASK_DELETE => array(
           'title' => ts('Delete contacts'),
           'class' => 'CRM_Contact_Form_Task_Delete',
           'result' => FALSE,
           'url' => 'civicrm/task/delete-contact',
+          'icon' => 'fa-trash',
         ),
         self::RECORD_CONTACTS => array(
           'title' => ts('Add activity'),
@@ -111,6 +117,7 @@ class CRM_Contact_Task extends CRM_Core_Task {
           'class' => 'CRM_Contact_Form_Task_Label',
           'result' => TRUE,
           'url' => 'civicrm/task/make-mailing-label',
+          'icon' => 'fa-print',
         ),
         self::BATCH_UPDATE => array(
           'title' => ts('Update multiple contacts'),
@@ -120,22 +127,26 @@ class CRM_Contact_Task extends CRM_Core_Task {
           ),
           'result' => TRUE,
           'url' => 'civicrm/task/pick-profile',
+          'icon' => 'fa-pencil',
         ),
         self::PDF_LETTER => array(
           'title' => ts('Print/merge document'),
           'class' => 'CRM_Contact_Form_Task_PDF',
           'result' => TRUE,
           'url' => 'civicrm/task/print-document',
+          'icon' => 'fa-file-pdf-o',
         ),
         self::EMAIL_UNHOLD => array(
           'title' => ts('Email - unhold addresses'),
           'class' => 'CRM_Contact_Form_Task_Unhold',
           'url' => 'civicrm/task/unhold-email',
+          'icon' => 'fa-unlock',
         ),
         self::COMMUNICATION_PREFS => array(
           'title' => ts('Communication preferences - alter'),
           'class' => 'CRM_Contact_Form_Task_AlterPreferences',
           'url' => 'civicrm/task/alter-contact-preference',
+          'icon' => 'fa-check-square-o',
         ),
         self::RESTORE => array(
           'title' => ts('Restore contacts from trash'),
index 655a9c63ac4d3df7b3a7dd69fbb4a1db0352ec5a..10501932192fd8a196c2cbcd2a3fcae5fa5ab200 100644 (file)
@@ -1944,7 +1944,7 @@ LEFT JOIN civicrm_option_value contribution_status ON (civicrm_contribution.cont
     }
 
     if (empty($clauses)) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('No Where clauses defined when deleting address');
     }
 
     $condition = implode(' OR ', $clauses);
@@ -2115,7 +2115,7 @@ LEFT JOIN  civicrm_contribution contribution ON ( componentPayment.contribution_
     $ids['contributionPage'] = NULL;
 
     if (!$baseIPN->validateData($input, $ids, $objects, FALSE)) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('Unable to validate supplied data');
     }
 
     $memberships = &$objects['membership'];
index 8d736f25f108d4ee5de0701162a23160670e9380..493a0ae7d50f0b13ada9dcdb4f96397d2c00557e 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Contribution.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0954aa2ae3574927fda6614f14168fc8)
+ * (GenCodeChecksum:37ea1e1c100be249d416ec13f8269c52)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_contribution';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-credit-card';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -241,6 +248,13 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Contributions');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 7f73b6daa3973612bd1a8e5423214eeaad99c885..3961bf10533b4aa78be2542d8db3c6eda8d901dd 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionPage.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:382259aca3342191a285c0984cab168b)
+ * (GenCodeChecksum:95842d15d54a368f68e6531a1b16797b)
  */
 
 /**
@@ -358,6 +358,13 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Contribution Pages');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index b938f4a6e915f18dc165d3f598deb1c8aa490007..cb4a36ae88a2c1125e4d16fd15ed65f66215d2ab 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionProduct.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:559257fd322f405c912fe7507fcb1cb3)
+ * (GenCodeChecksum:ebb8b8950e36872fffdc5ffcf1fc426f)
  */
 
 /**
@@ -96,6 +96,13 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Contribution Products');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 192721f6e66711024e83d3d64e504249f4158953..b45c41efafb8cdf70ebfccb70c4a6a5a4f091ce8 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionRecur.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1c6a0e2a296ffbb530eee381975b9d17)
+ * (GenCodeChecksum:0a7eaba45ea7d692276b351cd9cee473)
  */
 
 /**
@@ -235,6 +235,13 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Recurring Contributions');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 47e60a3f44b8e50f82970f9c5b21665fe4842c70..efcf47ff94336c0546cc9e2c72fc95cfbbd10e0b 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionSoft.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:7fbb150189946e587cb80c075945e5ba)
+ * (GenCodeChecksum:c03f89f9fba7d8b9c3b863393e617a78)
  */
 
 /**
@@ -100,6 +100,13 @@ class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Contribution Softs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 48741f75d78bf66989bdc6cd5be0fb55de4647cc..b97ea8d3acd68fa525582c32bd8342382ca7c9c2 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Premium.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cd90a0aedd51eaf91e1977705e80071f)
+ * (GenCodeChecksum:62ca558719cfe842066d2fb208df2f76)
  */
 
 /**
@@ -107,6 +107,13 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Premiums');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 1b03fc00d81fb5b66a84dd59c2bb84f29404f510..16f572925a1973fabb30cabc26ed8db68eb57a5d 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/PremiumsProduct.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:444f1def563a1e986ddf0ac56f5b2e84)
+ * (GenCodeChecksum:c0e05c7f98e0801599d18ab12b1937a7)
  */
 
 /**
@@ -69,6 +69,13 @@ class CRM_Contribute_DAO_PremiumsProduct extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Premiums Products');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index f474e3a7935f6e604ca4f96560ad831d71e5bab4..511bd5ee1b6e8144c38c2b0e467cf88d1116b8c8 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Product.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0af317e71745b39afb378570922fab90)
+ * (GenCodeChecksum:ba0100c0ce50f67d39a4e131474de7e1)
  */
 
 /**
@@ -166,6 +166,13 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Products');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 0705b3e744efc81f353ac55be13144b9f474c251..b6ce0b9763e4334be530565ac3d32c14e205b2af 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Widget.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5623f4ecd23646d12dd4278675006d7a)
+ * (GenCodeChecksum:aca8ff271ebf96332e4273589061f8a9)
  */
 
 /**
@@ -137,6 +137,13 @@ class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Widgets');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index fd7447efd8d2fd076a377796f9336674433016bd..380a0f7fee839edee9d37a4e82b50bc9ceef0ab7 100644 (file)
@@ -414,7 +414,7 @@ WHERE  contribution_id = {$id}
       //get all status
       $allStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name');
       if (!($paymentStatusID == array_search('Pending', $allStatus) || $paymentStatusID == array_search('Overdue', $allStatus))) {
-        CRM_Core_Error::fatal(ts("Pledge payment status should be 'Pending' or  'Overdue'."));
+        CRM_Core_Error::statusBounce(ts("Pledge payment status should be 'Pending' or  'Overdue'."));
       }
 
       //get the pledge values associated with given pledge payment.
@@ -537,13 +537,12 @@ WHERE  contribution_id = {$id}
         $this->_params['payment_processor_id'],
         ($this->_mode == 'test')
       );
-      $this->assign('credit_card_exp_date', CRM_Utils_Date::mysqlToIso(CRM_Utils_Date::format($this->_params['credit_card_exp_date'])));
-      $this->assign('credit_card_number', CRM_Utils_System::mungeCreditCard($this->_params['credit_card_number']));
-      $this->assign('credit_card_type', CRM_Utils_Array::value('credit_card_type', $this->_params));
     }
     $this->_params['ip_address'] = CRM_Utils_System::ipAddress();
 
-    self::formatCreditCardDetails($this->_params);
+    $valuesForForm = self::formatCreditCardDetails($this->_params);
+    $this->assignVariables($valuesForForm, ['credit_card_exp_date', 'credit_card_type', 'credit_card_number']);
+
     foreach ($this->submittableMoneyFields as $moneyField) {
       if (isset($this->_params[$moneyField])) {
         $this->_params[$moneyField] = CRM_Utils_Rule::cleanMoney($this->_params[$moneyField]);
@@ -563,9 +562,13 @@ WHERE  contribution_id = {$id}
    *
    * @param array $params
    *
-   * @return void
+   * @return array An array of params suitable for assigning to the form/tpl
    */
   public static function formatCreditCardDetails(&$params) {
+    if (!empty($params['credit_card_exp_date'])) {
+      $params['year'] = CRM_Core_Payment_Form::getCreditCardExpirationYear($params);
+      $params['month'] = CRM_Core_Payment_Form::getCreditCardExpirationMonth($params);
+    }
     if (!empty($params['credit_card_type'])) {
       $params['card_type_id'] = CRM_Core_PseudoConstant::getKey('CRM_Core_BAO_FinancialTrxn', 'card_type_id', $params['credit_card_type']);
     }
@@ -576,6 +579,11 @@ WHERE  contribution_id = {$id}
       $params['year'] = CRM_Core_Payment_Form::getCreditCardExpirationYear($params);
       $params['month'] = CRM_Core_Payment_Form::getCreditCardExpirationMonth($params);
     }
+
+    $tplParams['credit_card_exp_date'] = isset($params['credit_card_exp_date']) ? CRM_Utils_Date::mysqlToIso(CRM_Utils_Date::format($params['credit_card_exp_date'])) : NULL;
+    $tplParams['credit_card_type'] = CRM_Utils_Array::value('credit_card_type', $params);
+    $tplParams['credit_card_number'] = CRM_Utils_System::mungeCreditCard(CRM_Utils_Array::value('credit_card_number', $params));
+    return $tplParams;
   }
 
   /**
index 75caf72c7b145cb1e8a569de5a606e87e8b7fd79..29403fad6488d37fcf8e45f24d2381c657ca6fc8 100644 (file)
@@ -291,7 +291,7 @@ class CRM_Contribute_Form_AdditionalInfo {
   /**
    * Send email receipt.
    *
-   * @param CRM_Core_Form $form
+   * @param \CRM_Core_Form $form
    *   instance of Contribution form.
    * @param array $params
    *   (reference ) an assoc array of name/value pairs.
@@ -359,13 +359,8 @@ class CRM_Contribute_Form_AdditionalInfo {
         $form->_bltID
       ));
 
-      $date = CRM_Utils_Date::format($params['credit_card_exp_date']);
-      $date = CRM_Utils_Date::mysqlToIso($date);
-      $form->assign('credit_card_type', $params['credit_card_type'] ?? NULL);
-      $form->assign('credit_card_exp_date', $date);
-      $form->assign('credit_card_number',
-        CRM_Utils_System::mungeCreditCard($params['credit_card_number'])
-      );
+      $valuesForForm = CRM_Contribute_Form_AbstractEditPayment::formatCreditCardDetails($params);
+      $form->assignVariables($valuesForForm, ['credit_card_exp_date', 'credit_card_type', 'credit_card_number']);
     }
     else {
       //offline contribution
index 3cd63518c969a88c854047256504c2600663e740..3d0003796ef17921d23f333df25dc55405ba80d6 100644 (file)
@@ -55,6 +55,7 @@ class CRM_Contribute_Form_CancelSubscription extends CRM_Contribute_Form_Contrib
       'frequency_interval' => $this->getSubscriptionDetails()->frequency_interval,
       'frequency_unit' => $this->getSubscriptionDetails()->frequency_unit,
       'installments' => $this->getSubscriptionDetails()->installments,
+      'selfService' => $this->isSelfService(),
     ];
 
     if ($this->_crid) {
index 4d81a49d533688af8234f51e67b9a83fe63d994a..f478e80e708e3530ca2b2fee3962e677c4077719 100644 (file)
@@ -282,10 +282,7 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr
     $this->_params['tax_amount'] = $this->get('tax_amount');
     $this->_useForMember = $this->get('useForMember');
 
-    if (isset($this->_params['credit_card_exp_date'])) {
-      $this->_params['year'] = CRM_Core_Payment_Form::getCreditCardExpirationYear($this->_params);
-      $this->_params['month'] = CRM_Core_Payment_Form::getCreditCardExpirationMonth($this->_params);
-    }
+    CRM_Contribute_Form_AbstractEditPayment::formatCreditCardDetails($this->_params);
 
     $this->_params['currencyID'] = CRM_Core_Config::singleton()->defaultCurrency;
 
@@ -1889,7 +1886,7 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr
       // contribution amount to be null, so that it will not show
       // contribution amount same as membership amount.
       //@todo - merge with section above
-      if ($this->_membershipBlock['is_separate_payment']
+      if (!empty($this->_membershipBlock['is_separate_payment'])
         && !empty($this->_values['fee'][$priceField->id])
         && CRM_Utils_Array::value('name', $this->_values['fee'][$priceField->id]) == 'contribution_amount'
         && CRM_Utils_Array::value("price_{$priceField->id}", $this->_params) == '-1'
index b55883cbee07507fc61baea02d5c5dff05052d35..c8e0ccfddc681d49b9395f2a7321b5314c73471f 100644 (file)
@@ -454,7 +454,7 @@ class CRM_Contribute_Form_Contribution_Main extends CRM_Contribute_Form_Contribu
       }
     }
     if (empty($this->_values['fee']) && empty($this->_ccid)) {
-      CRM_Core_Error::fatal(ts('This page does not have any price fields configured or you may not have permission for them. Please contact the site administrator for more details.'));
+      throw new CRM_Core_Exception(ts('This page does not have any price fields configured or you may not have permission for them. Please contact the site administrator for more details.'));
     }
 
     //we have to load confirm contribution button in template
@@ -703,7 +703,7 @@ class CRM_Contribute_Form_Contribution_Main extends CRM_Contribute_Form_Contribu
       }
 
       // CRM-12233
-      if ($membershipIsActive && !$self->_membershipBlock['is_required']
+      if ($membershipIsActive && empty($self->_membershipBlock['is_required'])
         && $self->_values['amount_block_is_active']
       ) {
         $membershipFieldId = $contributionFieldId = $errorKey = $otherFieldId = NULL;
index 5e9bedcf0794f78cedc441b4014992a92cba3495..d189158cd8a0402c128c2309da5751b33bc0e47c 100644 (file)
@@ -229,7 +229,7 @@ class CRM_Contribute_Form_Task_Invoice extends CRM_Contribute_Form_Task {
       $ids['event'] = $detail['event'] ?? NULL;
 
       if (!$invoiceElements['baseIPN']->validateData($input, $ids, $objects, FALSE)) {
-        CRM_Core_Error::fatal();
+        CRM_Core_Error::statusBounce('Supplied data was not able to be validated');
       }
 
       $contribution = &$objects['contribution'];
index c8acc1e8ff88e65a559b25f33d5f0a29e5a1e31c..e3c2a6e7daa1b769f2e689ddc4efc3b55755c9dc 100644 (file)
@@ -234,7 +234,7 @@ AND    co.id IN ( $contribIDs )";
       $ids['event'] = $details[$row['contribution_id']]['event'] ?? NULL;
 
       if (!$baseIPN->validateData($input, $ids, $objects, FALSE)) {
-        CRM_Core_Error::fatal();
+        CRM_Core_Error::statusBounce('Supplied data was not able to be validated');
       }
 
       $contribution = &$objects['contribution'];
index b7d9e550f121c606709c1f41a4532cbb88150ced..9a1b1a939464cb7748b178ece0161b8acfa56836 100644 (file)
@@ -200,10 +200,11 @@ class CRM_Contribute_Form_UpdateBilling extends CRM_Contribute_Form_Contribution
     }
     $processorParams['state_province'] = CRM_Core_PseudoConstant::stateProvince($params["billing_state_province_id-{$this->_bltID}"], FALSE);
     $processorParams['country'] = CRM_Core_PseudoConstant::country($params["billing_country_id-{$this->_bltID}"], FALSE);
-    $processorParams['month'] = $processorParams['credit_card_exp_date']['M'];
-    $processorParams['year'] = $processorParams['credit_card_exp_date']['Y'];
+    $processorParams['month'] = CRM_Core_Payment_Form::getCreditCardExpirationMonth($processorParams);
+    $processorParams['year'] = CRM_Core_Payment_Form::getCreditCardExpirationYear($processorParams);
     $processorParams['subscriptionId'] = $this->getSubscriptionDetails()->processor_id;
     $processorParams['amount'] = $this->_subscriptionDetails->amount;
+    $message = '';
     $updateSubscription = $this->_paymentProcessor['object']->updateSubscriptionBillingInfo($message, $processorParams);
     if (is_a($updateSubscription, 'CRM_Core_Error')) {
       CRM_Core_Error::displaySessionError($updateSubscription);
@@ -333,10 +334,7 @@ class CRM_Contribute_Form_UpdateBilling extends CRM_Contribute_Form_Contribution
       list($donorDisplayName, $donorEmail) = CRM_Contact_BAO_Contact::getContactDetails($this->_subscriptionDetails->contact_id);
       $tplParams['contact'] = array('display_name' => $donorDisplayName);
 
-      $date = CRM_Utils_Date::format($processorParams['credit_card_exp_date']);
-      $tplParams['credit_card_exp_date'] = CRM_Utils_Date::mysqlToIso($date);
-      $tplParams['credit_card_number'] = CRM_Utils_System::mungeCreditCard($processorParams['credit_card_number']);
-      $tplParams['credit_card_type'] = $processorParams['credit_card_type'];
+      $tplParams = array_merge($tplParams, CRM_Contribute_Form_AbstractEditPayment::formatCreditCardDetails($processorParams));
 
       $sendTemplateParams = array(
         'groupName' => $this->_subscriptionDetails->membership_id ? 'msg_tpl_workflow_membership' : 'msg_tpl_workflow_contribution',
index e36f742fc1b1eb3a0932951a28ce63efd1e3e59c..87637bb6294d58a8bbcf63b63e1b1777741d6622 100644 (file)
@@ -128,7 +128,7 @@ abstract class CRM_Contribute_Import_Parser extends CRM_Import_Parser {
     $totalRowCount = NULL
   ) {
     if (!is_array($fileName)) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('Unable to determine import file');
     }
     $fileName = $fileName['name'];
 
index 10934d932c11c74c22eceda9bbde41268ffc78bb..49413ba891d41640a39a644efa0aad4ef9ba5d08 100644 (file)
@@ -57,7 +57,7 @@ class CRM_Core_BAO_Country extends CRM_Core_DAO_Country {
     if (!isset(Civi::$statics[__CLASS__]['countryLimit'])) {
       $countryIsoCodes = CRM_Core_PseudoConstant::countryIsoCode();
       $country = [];
-      $countryLimit = Civi::settings()->get('countryLimit');
+      $countryLimit = Civi::settings()->get('countryLimit') ?? [];
       if (is_array($countryLimit)) {
         foreach ($countryLimit as $val) {
           // CRM-12007
index 7c6350553b5757a5532eb0a35680a28698867746..8d21bb42f356e547347bbfbea611f13c081d61bf 100644 (file)
@@ -794,25 +794,12 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField {
           $qf->add('text', $elementName . '_to', ts('To'), $field->attributes);
         }
         else {
-          $choice = [];
           parse_str($field->attributes, $radioAttributes);
           $radioAttributes = array_merge($radioAttributes, $customFieldAttributes);
-
-          foreach ($options as $v => $l) {
-            $choice[] = $qf->createElement('radio', NULL, '', $l, (string) $v, $radioAttributes);
-          }
-          $element = $qf->addGroup($choice, $elementName, $label);
-          $optionEditKey = 'data-option-edit-path';
-          if (isset($selectAttributes[$optionEditKey])) {
-            $element->setAttribute($optionEditKey, $selectAttributes[$optionEditKey]);
-          }
-
-          if ($useRequired && !$search) {
-            $qf->addRule($elementName, ts('%1 is a required field.', [1 => $label]), 'required');
-          }
-          else {
-            $element->setAttribute('allowClear', TRUE);
+          if ($search || empty($useRequired)) {
+            $radioAttributes['allowClear'] = TRUE;
           }
+          $qf->addRadio($elementName, $label, $options, $radioAttributes, NULL, $useRequired);
         }
         break;
 
@@ -1084,6 +1071,20 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField {
         }
         else {
           $display = CRM_Utils_Array::value($value, $field['options'], '');
+          // For float type (see Number and Money) $value would be decimal like
+          // 1.00 (because it is stored in db as decimal), while options array
+          // key would be integer like 1. In this case expression on line above
+          // would return empty string (default value), despite the fact that
+          // matching option exists in the array.
+          // In such cases we could just get intval($value) and fetch matching
+          // option again, but this would not work if key is float like 5.6.
+          // So we need to truncate trailing zeros to make it work as expected.
+          if ($display === '' && strpos($value, '.') !== FALSE) {
+            // Use round() to truncate trailing zeros, e.g:
+            // 10.00 -> 10, 10.60 -> 10.6, 10.69 -> 10.69.
+            $value = (string) round($value, 5);
+            $display = $field['options'][$value] ?? '';
+          }
         }
         break;
 
index 0f08b2779845a96f62783cc979f69d4921524cd2..fa57ff1561b8513c3eec4d79e4f90a5b55f13c55 100644 (file)
@@ -106,6 +106,7 @@ class CRM_Core_BAO_CustomGroup extends CRM_Core_DAO_CustomGroup {
       'help_post',
       'is_active',
       'is_multiple',
+      'icon',
     ];
     $current_db_version = CRM_Core_DAO::singleValueQuery("SELECT version FROM civicrm_domain WHERE id = " . CRM_Core_Config::domainID());
     $is_public_version = $current_db_version >= '4.7.19' ? 1 : 0;
@@ -1096,6 +1097,7 @@ ORDER BY civicrm_custom_group.weight,
       $group['extra'] = ['gid' => $customGroupDAO->id];
       $group['table_name'] = $customGroupDAO->table_name;
       $group['is_multiple'] = $customGroupDAO->is_multiple;
+      $group['icon'] = $customGroupDAO->icon;
       $groups[] = $group;
     }
 
index 0a724557b86e4a90eef27b879bf604b0fe3193df..14fe2848f61b8249a6643cfc75a94cc55a6f7c0e 100644 (file)
@@ -47,25 +47,31 @@ class CRM_Core_BAO_CustomValueTable {
         $set = [];
         $params = [];
         $count = 1;
-        foreach ($fields as $field) {
-          if (!$sqlOP) {
-            $entityID = $field['entity_id'];
-            $hookID = $field['custom_group_id'];
-            $isMultiple = $field['is_multiple'];
-            if (array_key_exists('id', $field)) {
-              $sqlOP = "UPDATE $tableName ";
-              $where = " WHERE  id = %{$count}";
-              $params[$count] = [$field['id'], 'Integer'];
-              $count++;
-              $hookOP = 'edit';
-            }
-            else {
-              $sqlOP = "INSERT INTO $tableName ";
-              $where = NULL;
-              $hookOP = 'create';
-            }
-          }
 
+        $firstField = reset($fields);
+        $entityID = $firstField['entity_id'];
+        $hookID = $firstField['custom_group_id'];
+        $isMultiple = $firstField['is_multiple'];
+        if (array_key_exists('id', $firstField)) {
+          $sqlOP = "UPDATE $tableName ";
+          $where = " WHERE  id = %{$count}";
+          $params[$count] = [$firstField['id'], 'Integer'];
+          $count++;
+          $hookOP = 'edit';
+        }
+        else {
+          $sqlOP = "INSERT INTO $tableName ";
+          $where = NULL;
+          $hookOP = 'create';
+        }
+
+        CRM_Utils_Hook::customPre($hookOP,
+          $hookID,
+          $entityID,
+          $fields
+        );
+
+        foreach ($fields as $field) {
           // fix the value before we store it
           $value = $field['value'];
           $type = $field['type'];
index f3c242da19f318724f959037693f25d16d900094..e4aeae7bd23d41900fdbc47d1dc39bb60af8e00a 100644 (file)
@@ -417,7 +417,7 @@ WHERE ceft.entity_id = %1";
         'financial_account_id' => $financialAccount,
         'contact_id' => CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Domain', CRM_Core_Config::domainID(), 'contact_id'),
         'created_date' => date('YmdHis'),
-        'transaction_date' => date('YmdHis'),
+        'transaction_date' => $params['trxnParams']['trxn_date'],
         'amount' => $amount,
         'description' => 'Fee',
         'status_id' => CRM_Core_PseudoConstant::getKey('CRM_Financial_BAO_FinancialItem', 'status_id', 'Paid'),
index 00e3d74a06bedd01d5ac8beaaa6053d84a537fa2..5bca8cb225346a9c0dc04cd203a9a8be8af0e244 100644 (file)
@@ -209,6 +209,8 @@ class CRM_Core_CodeGen_Specification {
       'sourceFile' => $sourceFile,
       'fileName' => $klass . '.php',
       'objectName' => $klass,
+      'title' => $tableXML->title ?? self::nameToTitle($klass),
+      'icon' => $tableXML->icon ?? NULL,
       'labelName' => substr($name, 8),
       'className' => $this->classNames[$name],
       'bao' => (file_exists($baoPath . $klass . '.php') ? str_replace('DAO', 'BAO', $this->classNames[$name]) : $this->classNames[$name]),
@@ -339,7 +341,7 @@ class CRM_Core_CodeGen_Specification {
       default:
         $field['phpType'] = $this->value('phpType', $fieldXML, $type);
         $field['sqlType'] = $type;
-        if ($type == 'int unsigned') {
+        if ($type == 'int unsigned' || $type == 'tinyint') {
           $field['phpType'] = 'int';
           $field['crmType'] = 'CRM_Utils_Type::T_INT';
         }
@@ -741,4 +743,15 @@ class CRM_Core_CodeGen_Specification {
     return 'CRM_Utils_Type::HUGE';
   }
 
+  /**
+   * Converts an entity name to a user friendly string.
+   *
+   * @param string $name
+   * return string
+   */
+  public static function nameToTitle(string $name) {
+    $name = preg_replace('/([a-z])([A-Z])/', '$1 $2', $name);
+    return CRM_Utils_String::pluralize($name);
+  }
+
 }
index 0550fb39f372e3d9a2c14033cb1d030f16e37e1b..4a4254c25505eab19aecbaf5105742fe943f76cc 100644 (file)
@@ -284,11 +284,23 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
       return NULL;
     }
 
-    $key = $_REQUEST['qfKey'] ?? NULL;
-    if (!$key && $_SERVER['REQUEST_METHOD'] === 'GET') {
+    // We need a form key. Check _POST first, then _GET.
+    // @todo Note: we currently have to check $_REQUEST, too, since that
+    // is currently overwritten by civicrm_api3_contribution_page_validate.
+    // It's bad form to use $_REQUEST because it's ambiguous; and it's bad form
+    // to change superglobals anyway. If PR
+    // https://github.com/civicrm/civicrm-core/pull/17324
+    // and/or related get merged, then we should remove the REQUEST reference here.
+    $key = $_POST['qfKey'] ?? $_GET['qfKey'] ?? $_REQUEST['qfKey'] ?? NULL;
+    if (!$key && in_array($_SERVER['REQUEST_METHOD'], ['GET', 'HEAD'])) {
+      // Generate a key if this is an initial request without one.
+      // We allow HEAD here because it is used by bots to validate URLs, so if
+      // we issue a 500 server error to them they may think the site is broken.
       $key = CRM_Core_Key::get($name, $addSequence);
     }
     else {
+      // Other requests that usually change data (POST, but feasibly DELETE,
+      // PUT, PATCH...) always require a valid key.
       $key = CRM_Core_Key::validate($key, $name, $addSequence);
     }
 
@@ -814,7 +826,7 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
 
   public function invalidKeyCommon() {
     $msg = ts("We can't load the requested web page. This page requires cookies to be enabled in your browser settings. Please check this setting and enable cookies (if they are not enabled). Then try again. If this error persists, contact the site administrator for assistance.") . '<br /><br />' . ts('Site Administrators: This error may indicate that users are accessing this page using a domain or URL other than the configured Base URL. EXAMPLE: Base URL is http://example.org, but some users are accessing the page via http://www.example.org or a domain alias like http://myotherexample.org.') . '<br /><br />' . ts('Error type: Could not find a valid session key.');
-    CRM_Core_Error::fatal($msg);
+    throw new CRM_Core_Exception($msg);
   }
 
   /**
index 1e245457ec8e92da922153f68c6dcae120907ef6..42d07846aaf95bad6293b897e59fc4171818569c 100644 (file)
@@ -44,6 +44,14 @@ class CRM_Core_DAO extends DB_DataObject {
    * @deprecated
    */
   public static $_nullObject = NULL;
+
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = NULL;
+
   /**
    * @var array
    * @deprecated
@@ -111,6 +119,16 @@ class CRM_Core_DAO extends DB_DataObject {
     $this->__table = $this->getTableName();
   }
 
+  /**
+   * Returns localized title of this entity.
+   * @return string
+   */
+  public static function getEntityTitle() {
+    $className = static::class;
+    Civi::log()->warning("$className needs to be regeneraged. Missing getEntityTitle method.", ['civi.tag' => 'deprecated']);
+    return CRM_Core_DAO_AllCoreTables::getBriefName($className);
+  }
+
   public function __clone() {
     if (!empty($this->_DB_resultid)) {
       $this->resultCopies++;
@@ -160,7 +178,7 @@ class CRM_Core_DAO extends DB_DataObject {
       }
       CRM_Core_DAO::executeQuery("SET SESSION sql_mode = %1", [1 => [implode(',', $currentModes), 'String']]);
     }
-    CRM_Core_DAO::executeQuery('SET NAMES utf8');
+    CRM_Core_DAO::executeQuery('SET NAMES utf8mb4');
     CRM_Core_DAO::executeQuery('SET @uniqueID = %1', [1 => [CRM_Utils_Request::id(), 'String']]);
   }
 
@@ -2622,7 +2640,7 @@ SELECT contact_id
    *
    * @param string $context
    *
-   * @throws Exception
+   * @throws CRM_Core_Exception
    * @return array
    */
   public static function buildOptionsContext($context = NULL) {
@@ -2636,7 +2654,7 @@ SELECT contact_id
     ];
     // Validation: enforce uniformity of this param
     if ($context !== NULL && !isset($contexts[$context])) {
-      throw new Exception("'$context' is not a valid context for buildOptions.");
+      throw new CRM_Core_Exception("'$context' is not a valid context for buildOptions.");
     }
     return $contexts;
   }
index 447410dc3a1aed257654437f71b1a3276a7d314c..62c7baf4b313a22922829a7899ff6ae835adceb2 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/ActionLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e23a4eda4386716e3553aeb30bf1f255)
+ * (GenCodeChecksum:744811fde95e9b8fd7d6a0bc6ce0a4dd)
  */
 
 /**
@@ -104,6 +104,13 @@ class CRM_Core_DAO_ActionLog extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Action Logs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 38d40f4614637779eb45ae6210a304bdb628973f..698422613e7dab44eaf2e55f5b243c0e4b47dee1 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/ActionMapping.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b597d359bb254799b8756ee555156dc3)
+ * (GenCodeChecksum:369620c3d8cd0ff237b5372cff2e041f)
  */
 
 /**
@@ -97,6 +97,13 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Action Mappings');
+  }
+
   /**
    * Returns all the column names of this table
    *
index e67d25c8b2f3ed9e2bd7881d4730cc20959090ac..045980459bee82676b9b4307e9421da72023ddd7 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/ActionSchedule.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:480f98c7f38407759f99648abdd78368)
+ * (GenCodeChecksum:6268d24c3a013ae819b86f182c553344)
  */
 
 /**
@@ -296,6 +296,13 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Action Schedules');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index e0619a1a47811edf2462174ae4a72e1b115f8c83..18d881903c547caee15ec3ea3a16c0f9cb6da20c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Address.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:aed8175462599ecc4c8d43887d76350a)
+ * (GenCodeChecksum:ecd12ccf6f73ab607645bb57298e8366)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_address';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-map-marker';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -239,6 +246,13 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Addresses');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 0a07ed0985cff4b4577742bd754017f1965f3f56..4bf97512b3efb994f4bc56978cdcc5fc19b71030 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/AddressFormat.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a9ea837c3e5896b5e2b0b62052a5fdaf)
+ * (GenCodeChecksum:f6157f3762d51c4a658be0b2c3b55a17)
  */
 
 /**
@@ -50,6 +50,13 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Address Formats');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 9e292fdb5a4f6e9b372d183253527344c46c7a9d..225f5530c236075f3b7a810f55b2533a437de7cb 100644 (file)
@@ -298,7 +298,7 @@ class CRM_Core_DAO_AllCoreTables {
    *
    * @param string $daoName
    *   Ex: 'Contact'.
-   * @return string|NULL
+   * @return CRM_Core_DAO|NULL
    *   Ex: 'CRM_Contact_DAO_Contact'.
    */
   public static function getFullName($daoName) {
index 2a37d8efb3f8c41031f4704efada0ca07bb778e7..c6e41b7724025f15cc5106edb7ea9c81f83b93be 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Cache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2639f5b19898adf08f19b9f2713d5e76)
+ * (GenCodeChecksum:545b50d2d3c660110b57694fb951a84d)
  */
 
 /**
@@ -85,6 +85,13 @@ class CRM_Core_DAO_Cache extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Caches');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 69039b9975f7e9ba57b9834680d0dd7d8ab1a799..a9fa9f3cbc89e0099217308051ddba1497bc157c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Component.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:7df1b2e6e35d3bbd5ae6d71f559cf8cb)
+ * (GenCodeChecksum:401ea910c7f9dc995191f6a4764037ca)
  */
 
 /**
@@ -57,6 +57,13 @@ class CRM_Core_DAO_Component extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Components');
+  }
+
   /**
    * Returns all the column names of this table
    *
index e6a2aac9dc1cc27ddd143a813f7932048fa5bb57..03f4bbe1a28fc52d07e6d5dd43d019750fab9ad8 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Country.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e91ee1ac50cda49d3d228fe953d1ab34)
+ * (GenCodeChecksum:0e0ebf773f04ad229c4165fe05f63345)
  */
 
 /**
@@ -99,6 +99,13 @@ class CRM_Core_DAO_Country extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Countries');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 4a1524d51015c20a638ca64086392c0323471f1c..0623141c0b14dd180c5d868a4218e075d0734e74 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/County.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c22121afe6539d3ec7c51e905de299d7)
+ * (GenCodeChecksum:fe1dce431c3df99392a7a0e5b7d6a612)
  */
 
 /**
@@ -64,6 +64,13 @@ class CRM_Core_DAO_County extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Counties');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 5c5e9a1036ed3234c76b5fdda16b04d637d937e7..d86561758fec085419e014066047cf071ec2f234 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/CustomField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0b21a2a1f1cba7a76fd8830db1626513)
+ * (GenCodeChecksum:dea9a99c6b6a34dbc3b1f6d04e801661)
  */
 
 /**
@@ -253,6 +253,13 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Custom Fields');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 6d4d664f2565e6dc5bfaf740ab1f3f20c879d2e9..3896c204fefea2300d547603c30cb3c50ba2341b 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/CustomGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9fe326403964113e2dde1631bf583c5e)
+ * (GenCodeChecksum:4c79528589c88a45d81a037f990077b7)
  */
 
 /**
@@ -175,6 +175,13 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
    */
   public $is_public;
 
+  /**
+   * crm-i icon class
+   *
+   * @var string
+   */
+  public $icon;
+
   /**
    * Class constructor.
    */
@@ -183,6 +190,13 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Custom Groups');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
@@ -486,6 +500,20 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
           'bao' => 'CRM_Core_BAO_CustomGroup',
           'localizable' => 0,
         ],
+        'icon' => [
+          'name' => 'icon',
+          'type' => CRM_Utils_Type::T_STRING,
+          'title' => ts('Icon'),
+          'description' => ts('crm-i icon class'),
+          'maxlength' => 255,
+          'size' => CRM_Utils_Type::HUGE,
+          'where' => 'civicrm_custom_group.icon',
+          'default' => 'NULL',
+          'table_name' => 'civicrm_custom_group',
+          'entity' => 'CustomGroup',
+          'bao' => 'CRM_Core_BAO_CustomGroup',
+          'localizable' => 0,
+        ],
       ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
index 65facfb0fc8c3df3a916d29120b83f08092a8384..e69658712c68d3984d3ced65d68996ba4f270750 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Dashboard.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:06a6051f8aa495ae244afaa0e75aa7e0)
+ * (GenCodeChecksum:cde009752aa290013f7eca7fed93b9bb)
  */
 
 /**
@@ -111,6 +111,13 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Dashboards');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 26a7419da2d24cf099ad826fcee73483c8a29c66..3781ee69ebb912d08bca0384f6d5036a42a923b3 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Discount.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:856b526f1fe395e4460ebf886a258d4f)
+ * (GenCodeChecksum:dcc27cc6871dbb3ce3f892ec35508bef)
  */
 
 /**
@@ -78,6 +78,13 @@ class CRM_Core_DAO_Discount extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Discounts');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 39c07dc6bf5519515c49b07f9ffa7bbc18d5dcba..3b8a756f71d0717d1d1518484380ba189a237151 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Domain.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cdd41aa071b68a8a4be6b28f7ca3a0a3)
+ * (GenCodeChecksum:867bfe42e7ea7ebf4f7300348bae59d7)
  */
 
 /**
@@ -85,6 +85,13 @@ class CRM_Core_DAO_Domain extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Domains');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
@@ -187,6 +194,7 @@ class CRM_Core_DAO_Domain extends CRM_Core_DAO {
           'entity' => 'Domain',
           'bao' => 'CRM_Core_BAO_Domain',
           'localizable' => 0,
+          'serialize' => self::SERIALIZE_SEPARATOR_TRIMMED,
         ],
         'locale_custom_strings' => [
           'name' => 'locale_custom_strings',
index 083c4064dbbbb3ec123972b261bdd14e105362b6..dfb7df5344a4e9820157f2e5edd1f31a480bca4d 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Email.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ae76175a9d3e57bc555ce90cac672e73)
+ * (GenCodeChecksum:04c281c9aa6ce3a51e2e08273469ca9f)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Core_DAO_Email extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_email';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-envelope-o';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -120,6 +127,13 @@ class CRM_Core_DAO_Email extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Emails');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 957ad0507cb98b68e746d3bd53ce28fd26cd3329..6a573c61406fe5b117e7155ed2879584f085d2af 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/EntityFile.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ed68159183f272ac4669f1a708bbebd7)
+ * (GenCodeChecksum:9f53de4bc8c3551092104bbb880cca60)
  */
 
 /**
@@ -64,6 +64,13 @@ class CRM_Core_DAO_EntityFile extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Entity Files');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index ae16002b14d0faa9070d796c6d790b1b477b7709..b9d1dcc027eccc7043a1eb95b67a73bcd60dd2a4 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/EntityTag.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:af7c604a97027819d9c6316fb84d25bc)
+ * (GenCodeChecksum:8296b5b3e00aa11bdbf6bdbd0a522f2e)
  */
 
 /**
@@ -64,6 +64,13 @@ class CRM_Core_DAO_EntityTag extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Entity Tags');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index e2330119346f2ef8a58c19eb6241af0111dfa72c..ee7da6e5021c8cefd632f436ae7bbde1b42de79a 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Extension.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:13eeed42541ea3b610faa3bc99f6d9cb)
+ * (GenCodeChecksum:570f59a162584f56d66ee72a09e0c6c9)
  */
 
 /**
@@ -90,6 +90,13 @@ class CRM_Core_DAO_Extension extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Extensions');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 6b5380a404a78de376a0f1ac3ef23ddd7114954d..98ab5bdc835c93ec0548fd9d847ceb8a10bb93c3 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/File.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1e39b61dad16348293a20264602193ad)
+ * (GenCodeChecksum:99baae76a4c2bf505fa7e0c67706844b)
  */
 
 /**
@@ -92,6 +92,13 @@ class CRM_Core_DAO_File extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Files');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 9562be99bce50d7d0ccad6cf857f383467032bde..fbf9adb1d5698ffb66fe9c4524f46fc09e54b954 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/IM.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9ea5d47a6892a28874a633ca8c5ef92c)
+ * (GenCodeChecksum:e7172d0e1832211ef5bee017828f41e8)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Core_DAO_IM extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_im';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-comments-o';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -85,6 +92,13 @@ class CRM_Core_DAO_IM extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Instant Messaging');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index ead7c9687dd18fceca3ad225e8ee6f038fd1bbb8..fc79bb625ee14cc9853fe8313de2f913996ce52a 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Job.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b8624f719151185db79cd04810c2c2bf)
+ * (GenCodeChecksum:22125e7d95e0e7fcd6df2a696555f352)
  */
 
 /**
@@ -113,6 +113,13 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Jobs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 2eafcf08074aa823f87ea6ef677257af476d2b57..7b88e3977c8c1b66313c9b3089d99b2918f79e46 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/JobLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:3456b559213c3916aad90a0db8789757)
+ * (GenCodeChecksum:12719e12e89bcb64ad0f701988fe439b)
  */
 
 /**
@@ -92,6 +92,13 @@ class CRM_Core_DAO_JobLog extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Job Logs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 9e8ff2b96454f8014a25b16a8c43eb6b205a0a8c..e79473c75a4cdd936304eafdb0b285eb44f57732 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/LocBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a9b4f279ec52aa2e142cd26ae8beffd5)
+ * (GenCodeChecksum:9442f8158c0a237f0e2340230a748261)
  */
 
 /**
@@ -83,6 +83,13 @@ class CRM_Core_DAO_LocBlock extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Loc Blocks');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index cdee58eb239b137a9e9f8e1a0b2db4d1926c1590..5aeed182605c71a27064d7bb5c4e273cff53c2a9 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/LocationType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:260be4cdbe3a79363c3ada3137125c4a)
+ * (GenCodeChecksum:a7c9ceb9ba007a11f69bf4be9fc732e0)
  */
 
 /**
@@ -92,6 +92,13 @@ class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Location Types');
+  }
+
   /**
    * Returns all the column names of this table
    *
index fcf63b7e2b327539b69f4785f060103ae2e9feb2..34559d513ffadff615000e695dc3ec01a135e7b7 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Log.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0a82a165e8054985acc0f57feebc65ff)
+ * (GenCodeChecksum:3f7c58e17bdae8212004611d6fa2f6f3)
  */
 
 /**
@@ -78,6 +78,13 @@ class CRM_Core_DAO_Log extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Logs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 70d5468446298b5072ffefe0ac1fa8381da88d0d..7323cebe8905c71fc73d51c90dcac5115bee143c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/MailSettings.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:05dd0edd89684132a6caf6b165665737)
+ * (GenCodeChecksum:1c0272c8ff0392b03ef4a1f6ab23c0df)
  */
 
 /**
@@ -141,6 +141,13 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Mail Settingses');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index db3505cdf745ae62326a50a0c2164f53985fb09c..d4f8f3ce9c0f8e234c73765e405c0967ef268a23 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Managed.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:7063a28b0e93d12d335eaad9de5f2aa7)
+ * (GenCodeChecksum:341e6ee8dbeb3ab714034368c32837f1)
  */
 
 /**
@@ -78,6 +78,13 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Manageds');
+  }
+
   /**
    * Returns all the column names of this table
    *
index d2150301d9a032b09cb9efb354dc78bff968aea6..67a9c0a7488d4f0673d7f4fa9ba227229e3c8f7e 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Mapping.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:3f02847e736fe72f375e4ff32c2a61c5)
+ * (GenCodeChecksum:5b937841c099c775e7467f70fdd529b3)
  */
 
 /**
@@ -64,6 +64,13 @@ class CRM_Core_DAO_Mapping extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Mappings');
+  }
+
   /**
    * Returns all the column names of this table
    *
index d6f81beed4c8c79216b50a479e650a8bef62f6bf..9891a026ba2ddbefea4383be02d26e78c955b102 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/MappingField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:77ca1e64609d29de090d71311dc0e7ac)
+ * (GenCodeChecksum:fdc6c79da7e1c0c60b5a5987ce42fd0d)
  */
 
 /**
@@ -133,6 +133,13 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Mapping Fields');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index b6e000e03b54042868e1995ca399135bdb3c1f42..776f0f6edfe84f43809158db0039e31d97c5719b 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Menu.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:96c64cb8e13a36f16745aefaff64440a)
+ * (GenCodeChecksum:8495038ad35a0a38425fd1d57a6fca43)
  */
 
 /**
@@ -186,6 +186,13 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Menus');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index f9d7dcb6754e11ccc9d6f8bee8cfb0f976d9dafe..f6c282d347f220e515cce33f83a5c580596919ce 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/MessageTemplate.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:90ed9b8ad7299f01d2f83ea90b7b7a15)
+ * (GenCodeChecksum:51b2e2f362cb7a438a04146b11589662)
  */
 
 /**
@@ -116,6 +116,13 @@ class CRM_Core_DAO_MessageTemplate extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Message Templates');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 9563a8418150c03ef6406efd07e0a24242194dd8..80179999f1c7eead87c148bc4aad3403bbe77b8e 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Navigation.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:aeeb917df8c32ff97102c2c710d41d19)
+ * (GenCodeChecksum:8d6052b04bcd4a7bdfff07ecfa14e60b)
  */
 
 /**
@@ -97,9 +97,9 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
   public $is_active;
 
   /**
-   * If separator needs to be added after this menu item
+   * Place a separator either before or after this menu item.
    *
-   * @var bool
+   * @var int
    */
   public $has_separator;
 
@@ -118,6 +118,13 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Navigations');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
@@ -282,14 +289,18 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
         ],
         'has_separator' => [
           'name' => 'has_separator',
-          'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Use separator'),
-          'description' => ts('If separator needs to be added after this menu item'),
+          'type' => CRM_Utils_Type::T_INT,
+          'title' => ts('Separator'),
+          'description' => ts('Place a separator either before or after this menu item.'),
           'where' => 'civicrm_navigation.has_separator',
+          'default' => '0',
           'table_name' => 'civicrm_navigation',
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
           'localizable' => 0,
+          'pseudoconstant' => [
+            'callback' => 'CRM_Core_SelectValues::navigationMenuSeparator',
+          ],
         ],
         'weight' => [
           'name' => 'weight',
index 6d4d873746e1eaafc6d4871d7c6a2edc5710b376..36409bc0fffe5c5a3592442073bdab84f027848c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Note.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:7a58bb39022811ac55bfaed58c241487)
+ * (GenCodeChecksum:fd649e023be90204b62cc283886fa400)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_note';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-sticky-note';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -92,6 +99,13 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Notes');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index fcce8503fbb8e764d42df216d358f189223884b3..0f4a499885c2ecc209fb0f669e5a49a9ae87c59e 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/OpenID.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2afae5cc76cd5df22b314276138fc122)
+ * (GenCodeChecksum:4fcc767aa82b542cd813a9de097a322c)
  */
 
 /**
@@ -78,6 +78,13 @@ class CRM_Core_DAO_OpenID extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Open IDs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 5b8b744b54ce4c529fc1fa4ccb5e11702c39f21e..bf9ec2f724b74460874793003c46529c0286f177 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/OptionGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:54d95c919472473c234b6747d668bf85)
+ * (GenCodeChecksum:1a8e6b71368afcabdc96d2fe768d67ec)
  */
 
 /**
@@ -92,6 +92,13 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Option Groups');
+  }
+
   /**
    * Returns all the column names of this table
    *
index c2418be597769541da34b196f800477ac193c243..5dea2b484dba6f8dbb76021097ebb0b6beeebad9 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/OptionValue.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5997192c77d86867e8d13c353dd02351)
+ * (GenCodeChecksum:7cc1ab1ede682626c34db52967f627c8)
  */
 
 /**
@@ -160,6 +160,13 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Option Values');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index f0b749808424e688d3fb43a0de281c9fa88dd6ec..39a7ebdf3e6d2c735dc83888ffba974c331ac4d9 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Phone.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:76a7202934e0d8aa7f4240c61a42e42c)
+ * (GenCodeChecksum:dcfc4989d248f3990a5ac2a422597061)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Core_DAO_Phone extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_phone';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-phone';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -106,6 +113,13 @@ class CRM_Core_DAO_Phone extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Phones');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 25a2e2b969df20e239f5102c8e6f045744320f8e..ae9661db000aaa911a7bfc4e2be26e5d06af1af3 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/PreferencesDate.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ae20ee814de4f0fe71ac45d4a392fba9)
+ * (GenCodeChecksum:59621b636915c317561204de52299004)
  */
 
 /**
@@ -83,6 +83,13 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Preferences Dates');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 69baeea85fd5c4cd8508405d43208b0b94887d73..5bcb1c8ccf2ebaa279bd5ac852008351ea95cee3 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/PrevNextCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b3e9aecea5100250d4b6ce9a4f6ca036)
+ * (GenCodeChecksum:bfe0f84f9404ffcc242ca8c15de4ca14)
  */
 
 /**
@@ -81,6 +81,13 @@ class CRM_Core_DAO_PrevNextCache extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Prev Next Caches');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 45737762f2397841611eeb31404a9af37ca9332a..46ae140e8f9b775de8920d65e02c1142b590fce1 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/PrintLabel.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b8dffa0c7640137bb8dede0fd7c67cff)
+ * (GenCodeChecksum:e6d0fdaf773f8dec9b1b9282a41788d9)
  */
 
 /**
@@ -111,6 +111,13 @@ class CRM_Core_DAO_PrintLabel extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Print Labels');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index c785d99070d2c1d4457da0360741f0102bf08123..fac09fc6c06455151395f4453864c27830a08c1f 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/RecurringEntity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f1f931c974eaf11d7540549468feae59)
+ * (GenCodeChecksum:6321192add109bdc0211b72cc49e3611)
  */
 
 /**
@@ -69,6 +69,13 @@ class CRM_Core_DAO_RecurringEntity extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Recurring Entities');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 272b4cbfa21c9204b16464e544354622a27146a2..bc665201f72eccb84ed208f28307524d73172dba 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Setting.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b4d9feaf199010473cdf5b2d0a0d2f5e)
+ * (GenCodeChecksum:ecb3cb15071a1a6d785c458130040476)
  */
 
 /**
@@ -97,6 +97,13 @@ class CRM_Core_DAO_Setting extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Settings');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 94162e8ac251f5bf4b10b42717660efdf8448655..a05d6dab1035a53430ed18324cfefd25c2cf24ad 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/StateProvince.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4e9d53ba801682110c3839eb703aa052)
+ * (GenCodeChecksum:87314c17f95f8e72c6067d2c6a1892b5)
  */
 
 /**
@@ -64,6 +64,13 @@ class CRM_Core_DAO_StateProvince extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('State Provinces');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 996cd9c8d1b1c46c3f114ac97d3f3bfa2fd0370e..93110531973a53165298485b4d889aea850b94ab 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/StatusPreference.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:58684eb3e6d1e474bae8449f4a84ef63)
+ * (GenCodeChecksum:247c306dde20f79544e92221883dcef5)
  */
 
 /**
@@ -92,6 +92,13 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Status Preferences');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 17f4c2565258a25761b1f2a53d91900dfa5cc3bb..f3c6e7e0870bcfa41311d578092d9ce8a5217fec 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/SystemLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:53db5a26709c3b0d4cad8e38b28aef18)
+ * (GenCodeChecksum:99bd9a916303fe5167b981e14e05351e)
  */
 
 /**
@@ -85,6 +85,13 @@ class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('System Logs');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 397ebf2a4adb19556733a9ca7657c41c8d8abf2e..765daebdeb57dc00b046b461e536f9c1435ff567 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Tag.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:18f8021635fed59be1eabc246f6b88cb)
+ * (GenCodeChecksum:9aea04911ddc80492007b3217709ba9f)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_tag';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-tag';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -107,6 +114,13 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Tags');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 0c5979ad40703f2c067e1fd04853ce5988058ebd..f8d54e1a8b7be5a9e1bf86c8fd2aff2750f7709f 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Timezone.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a48a49afa56a0c510fb1c05a41a62435)
+ * (GenCodeChecksum:0c8797659c05f81eb6f2f2589b5baee4)
  */
 
 /**
@@ -76,6 +76,13 @@ class CRM_Core_DAO_Timezone extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Timezones');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 2d788af9337007c7143bf341f5f9486e3a18509e..426d31dd031b062e728c413bcf364e325376fa70 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e0ae6fe5adeee3c32d64c87272d090b6)
+ * (GenCodeChecksum:00cecb109e6a5589dff3c84d3665abfd)
  */
 
 /**
@@ -169,6 +169,13 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('UFFields');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index dca75ebaf842c186c925353c5006604aa3b94f19..4f4793ce04113f3a0b82d551acecf37358ec8fd5 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:17f8c18034495ef7294802e4597b06f3)
+ * (GenCodeChecksum:a8da7bcb3b3499b21475a73fde62e9ec)
  */
 
 /**
@@ -223,6 +223,13 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('UFGroups');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index a9e201e3b5ac283392638b253376ac2a3fc41d25..d6b9325897b05cdfee8e0631adf67bebb3113a4e 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFJoin.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:d8e9800524a344006c80c158e722f6cd)
+ * (GenCodeChecksum:159c61f4198faeeae14a9f79948e7509)
  */
 
 /**
@@ -92,6 +92,13 @@ class CRM_Core_DAO_UFJoin extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('UFJoins');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index e2a2171e4458e76e0c280c61a29cc5bb3726a114..c08c89284ea623ee8c616a6609b9cfd9d1631f80 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFMatch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:d732d7f3bfb8cec86d292b888e12a93c)
+ * (GenCodeChecksum:7ce4fe9f5303456e336af537ec214114)
  */
 
 /**
@@ -78,6 +78,13 @@ class CRM_Core_DAO_UFMatch extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('UFMatches');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 126d768c94a4a5fd0ff4c58e8f136a58c3c103e0..cc44bae92496c5514b566ae70fefd1c4b9798a0f 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Website.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b71c21e94fb523fd92a2579cb36ccc9b)
+ * (GenCodeChecksum:0abd2a4df3623b2f609a209ada2890f5)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Core_DAO_Website extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_website';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-desktop';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -64,6 +71,13 @@ class CRM_Core_DAO_Website extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Websites');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 078dbc9fd75a763ac8710a34e9625705efc690ff..6135dcc47333de35bf384322a5fb3589d3085379 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/WordReplacement.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0e956a44911169933aabb2bfdc266e32)
+ * (GenCodeChecksum:7c49ce3c9b6ec6cebff0413535928cbf)
  */
 
 /**
@@ -76,6 +76,13 @@ class CRM_Core_DAO_WordReplacement extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Word Replacements');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index d1bc1f586dccc2e0e1c78dcaaeb8f01df61fdf7f..8b488e59ca5794b53bfc9ae0a3b6a1e71e3ad7e9 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Worldregion.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ec8ef1b1bc0640dbc48b47a34ea197ed)
+ * (GenCodeChecksum:f077b55105d6cbc918a1beddb158fe7d)
  */
 
 /**
@@ -50,6 +50,13 @@ class CRM_Core_DAO_Worldregion extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Worldregions');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 573cd4739ca8c013eddc07696b3b35a671c03057..d23b83d959bdff3c90ce1cca86520b391e8a5b25 100644 (file)
@@ -301,6 +301,7 @@ class CRM_Core_Error extends PEAR_ErrorStack {
    * @throws Exception
    */
   public static function fatal($message = NULL, $code = NULL, $email = NULL) {
+    CRM_Core_Error::deprecatedFunctionWarning('throw new CRM_Core_Exception or use CRM_Core_Error::statusBounce', 'CRM_Core_Error::fatal');
     $vars = [
       'message' => $message,
       'code' => $code,
@@ -1033,14 +1034,19 @@ class CRM_Core_Error extends PEAR_ErrorStack {
   /**
    * Output a deprecated function warning to log file.  Deprecated class:function is automatically generated from calling function.
    *
-   * @param $newMethod
+   * @param string $newMethod
    *   description of new method (eg. "buildOptions() method in the appropriate BAO object").
+   * @param string $oldMethod
+   *   optional description of old method (if not the calling method). eg. CRM_MyClass::myOldMethodToGetTheOptions()
    */
-  public static function deprecatedFunctionWarning($newMethod) {
-    $dbt = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
-    $callerFunction = $dbt[1]['function'] ?? NULL;
-    $callerClass = $dbt[1]['class'] ?? NULL;
-    Civi::log()->warning("Deprecated function $callerClass::$callerFunction, use $newMethod.", ['civi.tag' => 'deprecated']);
+  public static function deprecatedFunctionWarning($newMethod, $oldMethod = NULL) {
+    if (!$oldMethod) {
+      $dbt = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
+      $callerFunction = $dbt[1]['function'] ?? NULL;
+      $callerClass = $dbt[1]['class'] ?? NULL;
+      $oldMethod = "{$callerClass}::{$callerFunction}";
+    }
+    Civi::log()->warning("Deprecated function $oldMethod, use $newMethod.", ['civi.tag' => 'deprecated']);
   }
 
 }
index a3c4023c0edb89e82936b4486cf82de9151d5042..1593043ec9183837ba4c0de04836bf6ab3841746 100644 (file)
@@ -387,6 +387,14 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
     }
     // @see http://wiki.civicrm.org/confluence/display/CRMDOC/crmDatepicker
     if ($type == 'datepicker') {
+      // Support minDate/maxDate properties
+      if (isset($extra['minDate'])) {
+        $extra['minDate'] = date('Y-m-d', strtotime($extra['minDate']));
+      }
+      if (isset($extra['maxDate'])) {
+        $extra['maxDate'] = date('Y-m-d', strtotime($extra['maxDate']));
+      }
+
       $attributes = ($attributes ? $attributes : []);
       $attributes['data-crm-datepicker'] = json_encode((array) $extra);
       if (!empty($attributes['aria-label']) || $label) {
@@ -419,6 +427,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
       unset($extra['option_context']);
     }
 
+    $this->addRequiredAttribute($required, $extra);
     $element = $this->addElement($type, $name, CRM_Utils_String::purifyHTML($label), $attributes, $extra);
     if (HTML_QuickForm::isError($element)) {
       CRM_Core_Error::statusBounce(HTML_QuickForm::errorMessage($element));
@@ -802,7 +811,18 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
     else {
       throw new CRM_Core_Exception(ts('A payment processor configured for this page might be disabled (contact the site administrator for assistance).'));
     }
+  }
 
+  /**
+   * Assign an array of variables to the form/tpl
+   *
+   * @param array $values Array of [key => value] to assign to the form
+   * @param array $keys Array of keys to assign from the values array
+   */
+  public function assignVariables($values, $keys) {
+    foreach ($keys as $key) {
+      $this->assign($key, $values[$key] ?? NULL);
+    }
   }
 
   /**
@@ -858,10 +878,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
     }
 
     // For legacy reasons we set these creditcard expiry fields if present
-    if (isset($params['credit_card_exp_date'])) {
-      $params['year'] = CRM_Core_Payment_Form::getCreditCardExpirationYear($params);
-      $params['month'] = CRM_Core_Payment_Form::getCreditCardExpirationMonth($params);
-    }
+    CRM_Contribute_Form_AbstractEditPayment::formatCreditCardDetails($params);
 
     // Assign IP address parameter
     $params['ip_address'] = CRM_Utils_System::ipAddress();
@@ -1145,6 +1162,20 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
     return self::$_template->get_template_vars($name);
   }
 
+  /**
+   * jQuery validate prefers to see a validation rule as a class (eg. "required").
+   * We can't add a class at the quickform level but jQuery validate also works with HTML5:
+   * HTML5 validation requires a separate attribute "required".
+   *
+   * @param $required
+   * @param $attributes
+   */
+  private function addRequiredAttribute($required, $attributes) {
+    // Ideally we do this by adding "required" as a class on the radio but we can't
+    // But adding the attribute "required" directly to the element also works.
+    $required ? $attributes['required'] = 1 : NULL;
+  }
+
   /**
    * @param string $name
    * @param $title
@@ -1162,6 +1193,8 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
     $allowClear = !empty($attributes['allowClear']);
     unset($attributes['allowClear']);
     $attributes['id_suffix'] = $name;
+    // For jquery validate we need to flag the actual radio as required.
+    $this->addRequiredAttribute($required, $attributes);
     foreach ($values as $key => $var) {
       $optAttributes = $attributes;
       if (!empty($optionAttributes[$key])) {
@@ -1453,7 +1486,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
       $options = $info['values'];
     }
     if (!array_key_exists('placeholder', $props)) {
-      $props['placeholder'] = $required ? ts('- select -') : CRM_Utils_Array::value('context', $props) == 'search' ? ts('- any -') : ts('- none -');
+      $props['placeholder'] = $required ? ts('- select -') : (CRM_Utils_Array::value('context', $props) == 'search' ? ts('- any -') : ts('- none -'));
     }
     // Handle custom field
     if (strpos($name, 'custom_') === 0 && is_numeric($name[7])) {
@@ -2560,10 +2593,21 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * @return bool
    */
   protected function isFormInViewOrEditMode() {
+    return $this->isFormInViewMode() || $this->isFormInEditMode();
+  }
+
+  /**
+   * Is the form in edit mode.
+   *
+   * Helper function, notably for extensions implementing the buildForm hook,
+   * so that they can return early.
+   *
+   * @return bool
+   */
+  public function isFormInEditMode() {
     return in_array($this->_action, [
       CRM_Core_Action::UPDATE,
       CRM_Core_Action::ADD,
-      CRM_Core_Action::VIEW,
       CRM_Core_Action::BROWSE,
       CRM_Core_Action::BASIC,
       CRM_Core_Action::ADVANCED,
@@ -2571,6 +2615,18 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
     ]);
   }
 
+  /**
+   * Is the form in view mode.
+   *
+   * Helper function, notably for extensions implementing the buildForm hook,
+   * so that they can return early.
+   *
+   * @return bool
+   */
+  public function isFormInViewMode() {
+    return $this->_action == CRM_Core_Action::VIEW;
+  }
+
   /**
    * Set the active tab
    *
index 4d18a0bd8079dd322d9476dbc35a10a902f0ce96..0b2abcf73a69f3ca960ccab8ca7b21c7535c41f8 100644 (file)
@@ -52,6 +52,8 @@ class CRM_Core_Form_Date {
   /**
    * Retrieve the date range - relative or absolute and assign it to the form.
    *
+   * @deprecated
+   *
    * @param CRM_Core_Form $form
    *   The form the dates should be added to.
    * @param string $fieldName
@@ -73,6 +75,7 @@ class CRM_Core_Form_Date {
     $dateFormat = 'searchDate', $displayTime = FALSE,
     $attributes = ['class' => 'crm-select2']
   ) {
+    CRM_Core_Error::deprecatedFunctionWarning('function will be removed');
     $selector
       = CRM_Core_Form_Date::returnDateRangeSelector(
         $form, $fieldName, $count,
@@ -91,6 +94,8 @@ class CRM_Core_Form_Date {
   /**
    * Build the date range array that will provide the form option values.
    *
+   * @deprecated
+   *
    * It can be - relative or absolute.
    *
    * @param CRM_Core_Form $form
@@ -115,6 +120,7 @@ class CRM_Core_Form_Date {
     $required = FALSE, $operators = [],
     $dateFormat = 'searchDate', $displayTime = FALSE
   ) {
+    CRM_Core_Error::deprecatedFunctionWarning('function will be removed');
     $selector = [
       '' => ts('- any -'),
       0 => ts('Choose Date Range'),
@@ -139,6 +145,8 @@ class CRM_Core_Form_Date {
   /**
    * Build the date range - relative or absolute.
    *
+   * @deprecated
+   *
    * @param CRM_Core_Form $form
    *   The form object that we are operating on.
    * @param string $fieldName
@@ -165,6 +173,7 @@ class CRM_Core_Form_Date {
     $displayTime = FALSE,
     $attributes
   ) {
+    CRM_Core_Error::deprecatedFunctionWarning('function will be removed');
     $form->add('select',
       "{$fieldName}_relative",
       ts('Relative Date Range'),
index 357dc2f936715ea8d00db74362c962431a52e0a3..ce8175324c3644b27a49da45ffffc5cc102222b9 100644 (file)
@@ -584,15 +584,14 @@ class CRM_Core_I18n {
   }
 
   /**
-   * Is the CiviCRM in multilingual mode.
+   * Is the current CiviCRM domain in multilingual mode.
    *
    * @return Bool
    *   True if CiviCRM is in multilingual mode.
    */
   public static function isMultilingual() {
-    $domain = new CRM_Core_DAO_Domain();
-    $domain->find(TRUE);
-    return (bool) $domain->locales;
+    $domainId = CRM_Core_Config::domainID();
+    return (bool) CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Domain', $domainId, 'locales');
   }
 
   /**
@@ -611,6 +610,17 @@ class CRM_Core_I18n {
     return (in_array($short, $rtl));
   }
 
+  /**
+   * If you switch back/forth between locales/drivers, it may be necessary
+   * to reset some options.
+   */
+  protected function reactivate() {
+    if ($this->_nativegettext) {
+      $this->setNativeGettextLocale($this->locale);
+    }
+
+  }
+
   /**
    * Change the processing language without changing the current user language
    *
@@ -623,15 +633,6 @@ class CRM_Core_I18n {
     // Change the language of the CMS as well, for URLs.
     CRM_Utils_System::setUFLocale($locale);
 
-    // change the gettext ressources
-    if ($this->_nativegettext) {
-      $this->setNativeGettextLocale($locale);
-    }
-    else {
-      // phpgettext
-      $this->setPhpGettextLocale($locale);
-    }
-
     // For sql queries, if running in DB multi-lingual mode.
     global $dbLocale;
 
@@ -642,6 +643,8 @@ class CRM_Core_I18n {
     // For self::getLocale()
     global $tsLocale;
     $tsLocale = $locale;
+
+    CRM_Core_I18n::singleton()->reactivate();
   }
 
   /**
index 7a3eded15af81fff272faf5805dc74788c901ba5..5401ea811701ca7790b1b306f315dfa8978be6c5 100644 (file)
@@ -292,7 +292,7 @@ class CRM_Core_IDS {
       );
       CRM_Utils_JSON::output($error);
     }
-    CRM_Core_Error::fatal($msg);
+    throw new CRM_Core_Exception($msg);
   }
 
 }
index ed2954fc1d14335b1d6ce2f92654e34b003f73ea..d19e786d4ad19ccc4a12b3e9c99d6b67ba9c206c 100644 (file)
@@ -181,7 +181,7 @@ class CRM_Core_JobManager {
    */
   private function _getJob($id = NULL, $entity = NULL, $action = NULL) {
     if (is_null($id) && is_null($action)) {
-      CRM_Core_Error::fatal('You need to provide either id or name to use this method');
+      throw new CRM_Core_Exception('You need to provide either id or name to use this method');
     }
     $dao = new CRM_Core_DAO_Job();
     $dao->id = $id;
index 32dcbffba90a3463e96063fa1525e1135d70d522..ccbcd67251f96ed9b22f62d8821e68791e53b69a 100644 (file)
@@ -34,7 +34,7 @@ class CRM_Core_Page_AJAX {
     }
 
     if (!$className) {
-      CRM_Core_Error::fatal(ts('Invalid className: %1', [1 => $className]));
+      throw new CRM_Core_Exception(ts('Invalid className: %1', [1 => $className]));
     }
 
     $fnName = NULL;
index 0b784e25cdfb490b062943b9f3519a8c21754381..097ba8b6c07126840fb96e1d7d8dc8ffbe906cee 100644 (file)
@@ -306,7 +306,7 @@ abstract class CRM_Core_Page_Basic extends CRM_Core_Page {
     $object_type = get_class($object);
 
     if (!$forceAction) {
-      if (array_key_exists('is_reserved', $object) && $object->is_reserved) {
+      if (property_exists($object, 'is_reserved') && $object->is_reserved) {
         $values['class'] = 'reserved';
         // check if object is relationship type
 
@@ -326,7 +326,7 @@ abstract class CRM_Core_Page_Basic extends CRM_Core_Page {
         }
       }
       else {
-        if (array_key_exists('is_active', $object)) {
+        if (property_exists($object, 'is_active')) {
           if ($object->is_active) {
             if ($hasDisable) {
               $newAction += CRM_Core_Action::DISABLE;
index 15141ae4f021258de5af189e17af8310f6fc662c..ed855d1df0107c97b7dd688fe9bff1a2ccd0577e 100644 (file)
@@ -38,7 +38,7 @@ class CRM_Core_Page_Redirect extends CRM_Core_Page {
    */
   public static function createUrl($requestPath, $requestArgs, $pageArgs, $absolute) {
     if (empty($pageArgs['url'])) {
-      CRM_Core_Error::fatal('This page is configured as a redirect, but it does not have a target.');
+      CRM_Core_Error::statusBounce('This page is configured as a redirect, but it does not have a target.');
     }
 
     $vars = [];
index c4e4deb2c583126aa1ee2ce6abef3f4d142de747..277c5346115181dffab1ecf8bc84dee65d98951e 100644 (file)
@@ -565,7 +565,12 @@ abstract class CRM_Core_Payment {
    *   Currently supported:
    *   - contributionPageRecurringHelp (params: is_recur_installments, is_email_receipt)
    *   - contributionPageContinueText (params: amount, is_payment_to_existing)
-   *   - cancelRecurDetailText (params: mode, amount, currency, frequency_interval, frequency_unit, installments, {membershipType|only if mode=auto_renew})
+   *   - cancelRecurDetailText:
+   *     params:
+   *       mode, amount, currency, frequency_interval, frequency_unit,
+   *       installments, {membershipType|only if mode=auto_renew},
+   *       selfService (bool) - TRUE if user doesn't have "edit contributions" permission.
+   *         ie. they are accessing via a "self-service" link from an email receipt or similar.
    *   - cancelRecurNotSupportedText
    *
    * @param array $params
@@ -1375,6 +1380,7 @@ abstract class CRM_Core_Payment {
       }
     }
     if (is_a($result, 'CRM_Core_Error')) {
+      CRM_Core_Error::deprecatedFunctionWarning('payment processors should throw exceptions rather than return errors');
       throw new PaymentProcessorException(CRM_Core_Error::getMessages($result));
     }
     return $result;
index abf5e4aaa7ccf9f3858039f41ec10c135c48286f..d7b2249e5ec69a66e85ce032732fa643ca6caed4 100644 (file)
@@ -68,7 +68,7 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
     $this->_setParam('apiLogin', $paymentProcessor['user_name']);
     $this->_setParam('paymentKey', $paymentProcessor['password']);
     $this->_setParam('paymentType', 'AIM');
-    $this->_setParam('md5Hash', CRM_Utils_Array::value('signature', $paymentProcessor));
+    $this->_setParam('md5Hash', $paymentProcessor['signature'] ?? NULL);
 
     $this->_setParam('timestamp', time());
     srand(time());
@@ -113,7 +113,9 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
    */
   public function doDirectPayment(&$params) {
     if (!defined('CURLOPT_SSLCERT')) {
-      return self::error(9001, 'Authorize.Net requires curl with SSL support');
+      // Note that guzzle doesn't necessarily require CURL, although it prefers it. But we should leave this error
+      // here unless someone suggests it is not required since it's likely helpful.
+      throw new PaymentProcessorException('Authorize.Net requires curl with SSL support', 9001);
     }
 
     /*
@@ -133,10 +135,7 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
     }
 
     if (!empty($params['is_recur']) && !empty($params['contributionRecurID'])) {
-      $result = $this->doRecurPayment();
-      if (is_a($result, 'CRM_Core_Error')) {
-        return $result;
-      }
+      $this->doRecurPayment();
       return $params;
     }
 
@@ -158,27 +157,16 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
 
     // Authorize.Net will not refuse duplicates, so we should check if the user already submitted this transaction
     if ($this->checkDupe($authorizeNetFields['x_invoice_num'], CRM_Utils_Array::value('contributionID', $params))) {
-      return self::error(9004, 'It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt from Authorize.net.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.');
-    }
-
-    $submit = curl_init($this->_paymentProcessor['url_site']);
-
-    if (!$submit) {
-      return self::error(9002, 'Could not initiate connection to payment gateway');
-    }
-
-    curl_setopt($submit, CURLOPT_POST, TRUE);
-    curl_setopt($submit, CURLOPT_RETURNTRANSFER, TRUE);
-    curl_setopt($submit, CURLOPT_POSTFIELDS, implode('&', $postFields));
-    curl_setopt($submit, CURLOPT_SSL_VERIFYPEER, Civi::settings()->get('verifySSL'));
-
-    $response = curl_exec($submit);
-
-    if (!$response) {
-      return self::error(curl_errno($submit), curl_error($submit));
+      throw new PaymentProcessorException('It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt from Authorize.net.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.', 9004);
     }
 
-    curl_close($submit);
+    $response = (string) $this->getGuzzleClient()->post($this->_paymentProcessor['url_site'], [
+      'body' => implode('&', $postFields),
+      'curl' => [
+        CURLOPT_RETURNTRANSFER => TRUE,
+        CURLOPT_SSL_VERIFYPEER => Civi::settings()->get('verifySSL'),
+      ],
+    ])->getBody();
 
     $response_fields = $this->explode_csv($response);
 
@@ -196,34 +184,19 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
       case self::AUTH_ERROR:
         $params['payment_status_id'] = array_search('Failed', $contributionStatus);
         $errormsg = $response_fields[2] . ' ' . $response_fields[3];
-        return self::error($response_fields[1], $errormsg);
+        throw new PaymentProcessorException($errormsg, $response_fields[1]);
 
       case self::AUTH_DECLINED:
         $errormsg = $response_fields[2] . ' ' . $response_fields[3];
-        return self::error($response_fields[1], $errormsg);
+        throw new PaymentProcessorException($errormsg, $response_fields[1]);
 
       default:
         // Success
-
-        // test mode always returns trxn_id = 0
-        // also live mode in CiviCRM with test mode set in
-        // Authorize.Net return $response_fields[6] = 0
-        // hence treat that also as test mode transaction
-        // fix for CRM-2566
-        if (($this->_mode == 'test') || $response_fields[6] == 0) {
-          $query = "SELECT MAX(trxn_id) FROM civicrm_contribution WHERE trxn_id RLIKE 'test[0-9]+'";
-          $p = [];
-          $trxn_id = strval(CRM_Core_DAO::singleValueQuery($query, $p));
-          $trxn_id = str_replace('test', '', $trxn_id);
-          $trxn_id = intval($trxn_id) + 1;
-          $params['trxn_id'] = sprintf('test%08d', $trxn_id);
-        }
-        else {
-          $params['trxn_id'] = $response_fields[6];
-        }
+        $params['trxn_id'] = !empty($response_fields[6]) ? $response_fields[6] : $this->getTestTrxnID();
         $params['gross_amount'] = $response_fields[9];
         break;
     }
+
     // TODO: include authorization code?
 
     return $params;
@@ -237,36 +210,31 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
 
     $intervalLength = $this->_getParam('frequency_interval');
     $intervalUnit = $this->_getParam('frequency_unit');
-    if ($intervalUnit == 'week') {
+    if ($intervalUnit === 'week') {
       $intervalLength *= 7;
       $intervalUnit = 'days';
     }
-    elseif ($intervalUnit == 'year') {
+    elseif ($intervalUnit === 'year') {
       $intervalLength *= 12;
       $intervalUnit = 'months';
     }
     elseif ($intervalUnit === 'day') {
       $intervalUnit = 'days';
-    }
-    elseif ($intervalUnit == 'month') {
-      $intervalUnit = 'months';
-    }
-
-    // interval cannot be less than 7 days or more than 1 year
-    if ($intervalUnit == 'days') {
+      // interval cannot be less than 7 days or more than 1 year
       if ($intervalLength < 7) {
-        return self::error(9001, 'Payment interval must be at least one week');
+        throw new PaymentProcessorException('Payment interval must be at least one week', 9001);
       }
-      elseif ($intervalLength > 365) {
-        return self::error(9001, 'Payment interval may not be longer than one year');
+      if ($intervalLength > 365) {
+        throw new PaymentProcessorException('Payment interval may not be longer than one year', 9001);
       }
     }
-    elseif ($intervalUnit == 'months') {
+    elseif ($intervalUnit === 'month') {
+      $intervalUnit = 'months';
       if ($intervalLength < 1) {
-        return self::error(9001, 'Payment interval must be at least one week');
+        throw new PaymentProcessorException('Payment interval must be at least one week', 9001);
       }
-      elseif ($intervalLength > 12) {
-        return self::error(9001, 'Payment interval may not be longer than one year');
+      if ($intervalLength > 12) {
+        throw new PaymentProcessorException('Payment interval may not be longer than one year', 9001);
       }
     }
 
@@ -343,7 +311,7 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
     $responseFields = $this->_ParseArbReturn((string) $response->getBody());
 
     if ($responseFields['resultCode'] === 'Error') {
-      throw new PaymentProcessorException($responseFields['code'], $responseFields['text']);
+      throw new PaymentProcessorException($responseFields['text'], $responseFields['code']);
     }
 
     // update recur processor_id with subscriptionId
@@ -560,23 +528,6 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
     return $value;
   }
 
-  /**
-   * @param null $errorCode
-   * @param null $errorMessage
-   *
-   * @return object
-   */
-  public function &error($errorCode = NULL, $errorMessage = NULL) {
-    $e = CRM_Core_Error::singleton();
-    if ($errorCode) {
-      $e->push($errorCode, 0, [], $errorMessage);
-    }
-    else {
-      $e->push(9001, 0, [], 'Unknown System Error.');
-    }
-    return $e;
-  }
-
   /**
    * Set a field to the specified value.  Value must be a scalar (int,
    * float, string, or boolean)
@@ -629,56 +580,51 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
 
   /**
    * @param string $message
-   * @param array $params
+   * @param \Civi\Payment\PropertyBag $params
    *
    * @return bool|object
+   * @throws \Civi\Payment\Exception\PaymentProcessorException
    */
-  public function cancelSubscription(&$message = '', $params = []) {
+  public function cancelSubscription(&$message = '', $params) {
     $template = CRM_Core_Smarty::singleton();
 
     $template->assign('subscriptionType', 'cancel');
 
     $template->assign('apiLogin', $this->_getParam('apiLogin'));
     $template->assign('paymentKey', $this->_getParam('paymentKey'));
-    $template->assign('subscriptionId', CRM_Utils_Array::value('subscriptionId', $params));
+    $template->assign('subscriptionId', $params->getRecurProcessorID());
 
     $arbXML = $template->fetch('CRM/Contribute/Form/Contribution/AuthorizeNetARB.tpl');
 
-    // submit to authorize.net
-    $submit = curl_init($this->_paymentProcessor['url_recur']);
-    if (!$submit) {
-      return self::error(9002, 'Could not initiate connection to payment gateway');
-    }
-
-    curl_setopt($submit, CURLOPT_RETURNTRANSFER, 1);
-    curl_setopt($submit, CURLOPT_HTTPHEADER, ["Content-Type: text/xml"]);
-    curl_setopt($submit, CURLOPT_HEADER, 1);
-    curl_setopt($submit, CURLOPT_POSTFIELDS, $arbXML);
-    curl_setopt($submit, CURLOPT_POST, 1);
-    curl_setopt($submit, CURLOPT_SSL_VERIFYPEER, Civi::settings()->get('verifySSL'));
-
-    $response = curl_exec($submit);
-
-    if (!$response) {
-      return self::error(curl_errno($submit), curl_error($submit));
-    }
-
-    curl_close($submit);
+    $response = (string) $this->getGuzzleClient()->post($this->_paymentProcessor['url_recur'], [
+      'headers' => [
+        'Content-Type' => 'text/xml; charset=UTF8',
+      ],
+      'body' => $arbXML,
+      'curl' => [
+        CURLOPT_RETURNTRANSFER => TRUE,
+        CURLOPT_SSL_VERIFYPEER => Civi::settings()->get('verifySSL'),
+      ],
+    ])->getBody();
 
     $responseFields = $this->_ParseArbReturn($response);
     $message = "{$responseFields['code']}: {$responseFields['text']}";
 
-    if ($responseFields['resultCode'] == 'Error') {
-      return self::error($responseFields['code'], $responseFields['text']);
+    if ($responseFields['resultCode'] === 'Error') {
+      throw new PaymentProcessorException($responseFields['text'], $responseFields['code']);
     }
     return TRUE;
   }
 
   /**
+   * Update payment details at Authorize.net.
+   *
    * @param string $message
    * @param array $params
    *
    * @return bool|object
+   *
+   * @throws \Civi\Payment\Exception\PaymentProcessorException
    */
   public function updateSubscriptionBillingInfo(&$message = '', $params = []) {
     $template = CRM_Core_Smarty::singleton();
@@ -703,32 +649,23 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
 
     $arbXML = $template->fetch('CRM/Contribute/Form/Contribution/AuthorizeNetARB.tpl');
 
-    // submit to authorize.net
-    $submit = curl_init($this->_paymentProcessor['url_recur']);
-    if (!$submit) {
-      return self::error(9002, 'Could not initiate connection to payment gateway');
-    }
-
-    curl_setopt($submit, CURLOPT_RETURNTRANSFER, 1);
-    curl_setopt($submit, CURLOPT_HTTPHEADER, ["Content-Type: text/xml"]);
-    curl_setopt($submit, CURLOPT_HEADER, 1);
-    curl_setopt($submit, CURLOPT_POSTFIELDS, $arbXML);
-    curl_setopt($submit, CURLOPT_POST, 1);
-    curl_setopt($submit, CURLOPT_SSL_VERIFYPEER, Civi::settings()->get('verifySSL'));
-
-    $response = curl_exec($submit);
-
-    if (!$response) {
-      return self::error(curl_errno($submit), curl_error($submit));
-    }
-
-    curl_close($submit);
+    $response = (string) $this->getGuzzleClient()->post($this->_paymentProcessor['url_recur'], [
+      'headers' => [
+        'Content-Type' => 'text/xml; charset=UTF8',
+      ],
+      'body' => $arbXML,
+      'curl' => [
+        CURLOPT_RETURNTRANSFER => TRUE,
+        CURLOPT_SSL_VERIFYPEER => Civi::settings()->get('verifySSL'),
+      ],
+    ])->getBody();
 
+    // submit to authorize.net
     $responseFields = $this->_ParseArbReturn($response);
     $message = "{$responseFields['code']}: {$responseFields['text']}";
 
-    if ($responseFields['resultCode'] == 'Error') {
-      return self::error($responseFields['code'], $responseFields['text']);
+    if ($responseFields['resultCode'] === 'Error') {
+      throw new PaymentProcessorException($responseFields['text'], $responseFields['code']);
     }
     return TRUE;
   }
@@ -742,10 +679,14 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
   }
 
   /**
+   * Change the amount of the recurring payment.
+   *
    * @param string $message
    * @param array $params
    *
    * @return bool|object
+   *
+   * @throws \Civi\Payment\Exception\PaymentProcessorException
    */
   public function changeSubscriptionAmount(&$message = '', $params = []) {
     $template = CRM_Core_Smarty::singleton();
@@ -765,34 +706,42 @@ class CRM_Core_Payment_AuthorizeNet extends CRM_Core_Payment {
 
     $arbXML = $template->fetch('CRM/Contribute/Form/Contribution/AuthorizeNetARB.tpl');
 
-    // submit to authorize.net
-    $submit = curl_init($this->_paymentProcessor['url_recur']);
-    if (!$submit) {
-      throw new PaymentProcessorException('Could not initiate connection to payment gateway', 9002);
-    }
-
-    curl_setopt($submit, CURLOPT_RETURNTRANSFER, 1);
-    curl_setopt($submit, CURLOPT_HTTPHEADER, ["Content-Type: text/xml"]);
-    curl_setopt($submit, CURLOPT_HEADER, 1);
-    curl_setopt($submit, CURLOPT_POSTFIELDS, $arbXML);
-    curl_setopt($submit, CURLOPT_POST, 1);
-    curl_setopt($submit, CURLOPT_SSL_VERIFYPEER, Civi::settings()->get('verifySSL'));
-
-    $response = curl_exec($submit);
-
-    if (!$response) {
-      return self::error(curl_errno($submit), curl_error($submit));
-    }
-
-    curl_close($submit);
+    $response = (string) $this->getGuzzleClient()->post($this->_paymentProcessor['url_recur'], [
+      'headers' => [
+        'Content-Type' => 'text/xml; charset=UTF8',
+      ],
+      'body' => $arbXML,
+      'curl' => [
+        CURLOPT_RETURNTRANSFER => TRUE,
+        CURLOPT_SSL_VERIFYPEER => Civi::settings()->get('verifySSL'),
+      ],
+    ])->getBody();
 
     $responseFields = $this->_parseArbReturn($response);
     $message = "{$responseFields['code']}: {$responseFields['text']}";
 
-    if ($responseFields['resultCode'] == 'Error') {
+    if ($responseFields['resultCode'] === 'Error') {
       throw new PaymentProcessorException($responseFields['text'], $responseFields['code']);
     }
     return TRUE;
   }
 
+  /**
+   * Get an appropriate test trannsaction id.
+   *
+   * @return string
+   */
+  protected function getTestTrxnID() {
+    // test mode always returns trxn_id = 0
+    // also live mode in CiviCRM with test mode set in
+    // Authorize.Net return $response_fields[6] = 0
+    // hence treat that also as test mode transaction
+    // fix for CRM-2566
+    $query = "SELECT MAX(trxn_id) FROM civicrm_contribution WHERE trxn_id RLIKE 'test[0-9]+'";
+    $trxn_id = (string) (CRM_Core_DAO::singleValueQuery($query));
+    $trxn_id = str_replace('test', '', $trxn_id);
+    $trxn_id = (int) ($trxn_id) + 1;
+    return sprintf('test%08d', $trxn_id);
+  }
+
 }
index 089c88572c0759cf610fe859611bd35cc92fffa5..7946ecacbe493b3d2a2089b57f176b752385fd7c 100644 (file)
@@ -205,7 +205,6 @@ class CRM_Core_Payment_AuthorizeNetIPN extends CRM_Core_Payment_BaseIPN {
    * @param array $input
    * @param array $ids
    *
-   * @return bool
    * @throws \CRM_Core_Exception
    */
   public function getInput(&$input, &$ids) {
@@ -230,10 +229,7 @@ class CRM_Core_Payment_AuthorizeNetIPN extends CRM_Core_Payment_BaseIPN {
       $input['trxn_id'] = md5(uniqid(rand(), TRUE));
     }
 
-    if (!$this->getBillingID($ids)) {
-      return FALSE;
-    }
-    $billingID = $ids['billing'];
+    $billingID = $ids['billing'] = CRM_Core_BAO_LocationType::getBilling();
     $params = [
       'first_name' => 'x_first_name',
       'last_name' => 'x_last_name',
index 8f5dd3786fe98c4503f6cb4d57c79591f1b88a60..973fbd988894b02582d1d483917c7ee91e3e86f8 100644 (file)
@@ -361,15 +361,18 @@ class CRM_Core_Payment_BaseIPN {
   /**
    * Rollback unhandled outcomes.
    *
+   * @deprecated
+   *
    * @param array $objects
    * @param CRM_Core_Transaction $transaction
    *
    * @return bool
    */
   public function unhandled(&$objects, &$transaction) {
+    CRM_Core_Error::deprecatedFunctionWarning('This function will be removed at some point');
     $transaction->rollback();
-    Civi::log()->debug("Returning since contribution status is not handled");
-    echo "Failure: contribution status is not handled<p>";
+    Civi::log()->debug('Returning since contribution status is not handled');
+    echo 'Failure: contribution status is not handled<p>';
     return FALSE;
   }
 
@@ -484,6 +487,7 @@ class CRM_Core_Payment_BaseIPN {
   }
 
   /**
+   * @deprecated
    * Get site billing ID.
    *
    * @param array $ids
@@ -491,6 +495,7 @@ class CRM_Core_Payment_BaseIPN {
    * @return bool
    */
   public function getBillingID(&$ids) {
+    CRM_Core_Error::deprecatedFunctionWarning('CRM_Core_BAO_LocationType::getBilling()');
     $ids['billing'] = CRM_Core_BAO_LocationType::getBilling();
     if (!$ids['billing']) {
       CRM_Core_Error::debug_log_message(ts('Please set a location type of %1', [1 => 'Billing']));
index 1f3d9336cd62ba7b2a599be1f4712e9f2438ba18..4757fb296c6b0e7dedd5d34d92c388b8867b7312 100644 (file)
@@ -94,22 +94,9 @@ class CRM_Core_Payment_Dummy extends CRM_Core_Payment {
       $result['trxn_id'] = array_shift($this->_doDirectPaymentResult['trxn_id']);
       return $result;
     }
-    if ($this->_mode === 'test') {
-      $query = "SELECT MAX(trxn_id) FROM civicrm_contribution WHERE trxn_id LIKE 'test\\_%'";
-      $p = [];
-      $trxn_id = (string) CRM_Core_DAO::singleValueQuery($query, $p);
-      $trxn_id = str_replace('test_', '', $trxn_id);
-      $trxn_id = (int) $trxn_id + 1;
-      $params['trxn_id'] = 'test_' . $trxn_id . '_' . uniqid();
-    }
-    else {
-      $query = "SELECT MAX(trxn_id) FROM civicrm_contribution WHERE trxn_id LIKE 'live_%'";
-      $p = [];
-      $trxn_id = (string) CRM_Core_DAO::singleValueQuery($query, $p);
-      $trxn_id = str_replace('live_', '', $trxn_id);
-      $trxn_id = (int) $trxn_id + 1;
-      $params['trxn_id'] = 'live_' . $trxn_id . '_' . uniqid();
-    }
+
+    $params['trxn_id'] = $this->getTrxnID();;
+
     $params['gross_amount'] = $propertyBag->getAmount();
     // Add a fee_amount so we can make sure fees are handled properly in underlying classes.
     $params['fee_amount'] = 1.50;
@@ -219,4 +206,21 @@ class CRM_Core_Payment_Dummy extends CRM_Core_Payment {
     return ['message' => ts('Recurring contribution cancelled')];
   }
 
+  /**
+   * Get a value for the transaction ID.
+   *
+   * Value is made up of the max existing value + a random string.
+   *
+   * Note the random string is likely a historical workaround.
+   *
+   * @return string
+   */
+  protected function getTrxnID() {
+    $string = $this->_mode;
+    $trxn_id = CRM_Core_DAO::singleValueQuery("SELECT MAX(trxn_id) FROM civicrm_contribution WHERE trxn_id LIKE '{$string}_%'");
+    $trxn_id = str_replace($string, '', $trxn_id);
+    $trxn_id = (int) $trxn_id + 1;
+    return $string . '_' . $trxn_id . '_' . uniqid();
+  }
+
 }
index 35a93702e1ce371588f909e1be1f924895f1f8ed..8990e8586039111a382879148860944fa7511ccc 100644 (file)
@@ -9,6 +9,8 @@
  +----------------------------------------------------------------------------+
  */
 
+use Civi\Payment\Exception\PaymentProcessorException;
+
 /**
  * -----------------------------------------------------------------------------------------------
  * The basic functionality of this processor is that variables from the $params object are transformed
@@ -24,9 +26,6 @@
  * -----------------------------------------------------------------------------------------------
  */
 class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
-  // (not used, implicit in the API, might need to convert?)
-  const
-    CHARSET = 'UFT-8';
 
   /**
    * Constructor.
@@ -34,9 +33,7 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
    * @param string $mode
    *   The mode of operation: live or test.
    *
-   * @param $paymentProcessor
-   *
-   * @return CRM_Core_Payment_Elavon
+   * @param array $paymentProcessor
    */
   public function __construct($mode, &$paymentProcessor) {
     // live or test
@@ -45,22 +42,17 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
   }
 
   /**
+   * Map fields to parameters.
+   *
    * This function is set up and put here to make the mapping of fields
    * from the params object  as visually clear as possible for easy editing
    *
-   * Comment out irrelevant fields
-   * @param $params
+   * @param array $params
+   *
    * @return array
    */
   public function mapProcessorFieldstoParams($params) {
-
-    // compile array
-    // Payment Processor field name fields from $params array
-    // credit card name
     $requestFields['ssl_first_name'] = $params['billing_first_name'];
-    // credit card name
-    //$requestFields['ssl_middle_name']       = $params['billing_middle_name'];
-    // credit card name
     $requestFields['ssl_last_name'] = $params['billing_last_name'];
     // contact name
     $requestFields['ssl_ship_to_first_name'] = $params['first_name'];
@@ -86,28 +78,17 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
     // Added two lines below to allow commercial cards to go through as per page 15 of Elavon developer guide
     $requestFields['ssl_customer_code'] = '1111';
     $requestFields['ssl_salestax'] = 0.0;
-
-    /************************************************************************************
-     *  Fields available from civiCRM not implemented for Elavon
-     *
-     *  $params['qfKey'];
-     *  $params['amount_other'];
-     *  $params['ip_address'];
-     *  $params['contributionType_name'  ];
-     *  $params['contributionPageID'];
-     *  $params['contributionType_accounting_code'];
-     *  $params['amount_level'];
-     *  $params['credit_card_type'];
-     ************************************************************************************/
     return $requestFields;
   }
 
   /**
-   * This function sends request and receives response from
-   * the processor
+   * This function sends request and receives response from the processor.
+   *
    * @param array $params
-   * @return array|object
-   * @throws Exception
+   *
+   * @return array
+   *
+   * @throws \CRM_Core_Exception
    */
   public function doDirectPayment(&$params) {
     if (isset($params['is_recur']) && $params['is_recur'] == TRUE) {
@@ -120,7 +101,7 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
 
     //Create the array of variables to be sent to the processor from the $params array
     // passed into this function
-    $requestFields = self::mapProcessorFieldstoParams($params);
+    $requestFields = $this->mapProcessorFieldstoParams($params);
 
     // define variables for connecting with the gateway
     $requestFields['ssl_merchant_id'] = $this->_paymentProcessor['user_name'];
@@ -128,7 +109,7 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
     $requestFields['ssl_pin'] = $this->_paymentProcessor['signature'] ?? NULL;
     $host = $this->_paymentProcessor['url_site'];
 
-    if ($this->_mode == "test") {
+    if ($this->_mode === 'test') {
       $requestFields['ssl_test_mode'] = "TRUE";
     }
 
@@ -137,11 +118,11 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
 
     // Check to see if we have a duplicate before we send
     if ($this->checkDupe($params['invoiceID'], CRM_Utils_Array::value('contributionID', $params))) {
-      return self::errorExit(9003, 'It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.');
+      throw new PaymentProcessorException('It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.', 9003);
     }
 
     // Convert to XML using function below
-    $xml = self::buildXML($requestFields);
+    $xml = $this->buildXML($requestFields);
 
     // Send to the payment processor using cURL
 
@@ -149,7 +130,7 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
 
     $ch = curl_init($chHost);
     if (!$ch) {
-      return self::errorExit(9004, 'Could not initiate connection to payment gateway');
+      throw new PaymentProcessorException('Could not initiate connection to payment gateway', 9004);
     }
 
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, Civi::settings()->get('verifySSL') ? 2 : 0);
@@ -182,13 +163,9 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
 
       // Paranoia - in the unlikley event that 'curl' error fails
       if (strlen($errorDesc) == 0) {
-        $errorDesc = "Connection to payment gateway failed";
+        $errorDesc = 'Connection to payment gateway failed';
       }
-      if ($errorNum = 60) {
-        return self::errorExit($errorNum, "Curl error - " . $errorDesc . " Try this link for more information http://curl.haxx.se/docs/sslcerts.html");
-      }
-
-      return self::errorExit($errorNum, "Curl error - " . $errorDesc . " your key is located at " . $key . " the url is " . $host . " xml is " . $requestxml . " processor response = " . $processorResponse);
+      throw new PaymentProcessorException('Curl error - ' . $errorDesc . ' Try this link for more information http://curl.haxx.se/docs/sslcerts.html', $errorNum);
     }
 
     // If null data returned - tell 'em and bail out
@@ -196,13 +173,13 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
     // any reason, the return value will be the boolean false.
     if (($responseData === FALSE) || (strlen($responseData) == 0)) {
       curl_close($ch);
-      return self::errorExit(9006, "Error: Connection to payment gateway failed - no data returned.");
+      throw new PaymentProcessorException('Error: Connection to payment gateway failed - no data returned.', 9006);
     }
 
     // If gateway returned no data - tell 'em and bail out
     if (empty($responseData)) {
       curl_close($ch);
-      return self::errorExit(9007, "Error: No data returned from payment gateway.");
+      throw new PaymentProcessorException('Error: No data returned from payment gateway.', 9007);
     }
 
     // Success so far - close the curl and check the data
@@ -210,36 +187,33 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
 
     // Payment successfully sent to gateway - process the response now
 
-    $processorResponse = self::decodeXMLResponse($responseData);
+    $processorResponse = $this->decodeXMLresponse($responseData);
     // success in test mode returns response "APPROVED"
     // test mode always returns trxn_id = 0
     // fix for CRM-2566
 
     if ($processorResponse['errorCode']) {
-      return self::errorExit(9010, "Error: [" . $processorResponse['errorCode'] . " " . $processorResponse['errorName'] . " " . $processorResponse['errorMessage'] . "] - from payment processor");
+      throw new PaymentProcessorException("Error: [" . $processorResponse['errorCode'] . " " . $processorResponse['errorName'] . " " . $processorResponse['errorMessage'] . '] - from payment processor', 9010);
     }
-    if ($processorResponse['ssl_result_message'] == "APPROVED") {
-      if ($this->_mode == 'test') {
+    if ($processorResponse['ssl_result_message'] === "APPROVED") {
+      if ($this->_mode === 'test') {
         $query = "SELECT MAX(trxn_id) FROM civicrm_contribution WHERE trxn_id LIKE 'test%'";
-        $p = [];
-        $trxn_id = strval(CRM_Core_DAO::singleValueQuery($query, $p));
-        $trxn_id = str_replace('test', '', $trxn_id);
-        $trxn_id = intval($trxn_id) + 1;
+        $trxn_id = (string) CRM_Core_DAO::singleValueQuery($query);
+        $trxn_id = (int) str_replace('test', '', $trxn_id);
+        ++$trxn_id;
         $params['trxn_id'] = sprintf('test%08d', $trxn_id);
         return $params;
       }
-      else {
-        return self::errorExit(9099, "Error: [approval code related to test transaction but mode was " . $this->_mode);
-      }
+      throw new PaymentProcessorException('Error: [approval code related to test transaction but mode was ' . $this->_mode, 9099);
     }
 
     // transaction failed, print the reason
-    if ($processorResponse['ssl_result_message'] != "APPROVAL") {
-      return self::errorExit(9009, "Error: [" . $processorResponse['ssl_result_message'] . " " . $processorResponse['ssl_result'] . "] - from payment processor");
+    if ($processorResponse['ssl_result_message'] !== "APPROVAL") {
+      throw new PaymentProcessorException('Error: [' . $processorResponse['ssl_result_message'] . ' ' . $processorResponse['ssl_result'] . '] - from payment processor', 9009);
     }
     else {
       // Success !
-      if ($this->_mode != 'test') {
+      if ($this->_mode !== 'test') {
         // 'trxn_id' is varchar(255) field. returned value is length 37
         $params['trxn_id'] = $processorResponse['ssl_txn_id'];
       }
@@ -250,23 +224,6 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
     }
   }
 
-  /**
-   * Produces error message and returns from class.
-   * @param string $errorCode
-   * @param string $errorMessage
-   * @return CRM_Core_Error
-   */
-  public function &errorExit($errorCode = NULL, $errorMessage = NULL) {
-    $e = CRM_Core_Error::singleton();
-    if ($errorCode) {
-      $e->push($errorCode, 0, NULL, $errorMessage);
-    }
-    else {
-      $e->push(9000, 0, NULL, 'Unknown System Error.');
-    }
-    return $e;
-  }
-
   /**
    * This public function checks to see if we have the right processor config values set.
    *
@@ -291,9 +248,7 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
     if (!empty($errorMsg)) {
       return implode('<p>', $errorMsg);
     }
-    else {
-      return NULL;
-    }
+    return NULL;
   }
 
   /**
@@ -383,7 +338,7 @@ class CRM_Core_Payment_Elavon extends CRM_Core_Payment {
 
     if (($pos1 === FALSE) || ($pos2 === FALSE)) {
 
-      return "";
+      return '';
 
     }
 
index 5e520cf7e452608cfbdef142c41ae7660079a544..c51c3ff769d924ea63bc939f740df0782e442c35 100644 (file)
@@ -14,6 +14,8 @@
  +--------------------------------------------------------------------+
  */
 
+use Civi\Payment\Exception\PaymentProcessorException;
+
 /**
  * Note that in order to use FirstData / LinkPoint you need a certificate (.pem) file issued by them
  * and a store number. You can configure the path to the certificate and the store number
@@ -52,8 +54,6 @@
  * **************************
  */
 class CRM_Core_Payment_FirstData extends CRM_Core_Payment {
-  // (not used, implicit in the API, might need to convert?)
-  const CHARSET = 'UFT-8';
 
   /**
    * Constructor.
@@ -61,12 +61,9 @@ class CRM_Core_Payment_FirstData extends CRM_Core_Payment {
    * @param string $mode
    *   The mode of operation: live or test.
    *
-   * @param $paymentProcessor
-   *
-   * @return \CRM_Core_Payment_FirstData *******************************************************
+   * @param array $paymentProcessor
    */
   public function __construct($mode, &$paymentProcessor) {
-    // live or test
     $this->_mode = $mode;
     $this->_paymentProcessor = $paymentProcessor;
   }
@@ -87,9 +84,9 @@ class CRM_Core_Payment_FirstData extends CRM_Core_Payment {
     /*concatenate full customer name first  - code from EWAY gateway
      */
 
-    $credit_card_name = $params['first_name'] . " ";
+    $credit_card_name = $params['first_name'] . ' ';
     if (strlen($params['middle_name']) > 0) {
-      $credit_card_name .= $params['middle_name'] . " ";
+      $credit_card_name .= $params['middle_name'] . ' ';
     }
     $credit_card_name .= $params['last_name'];
 
@@ -182,7 +179,7 @@ class CRM_Core_Payment_FirstData extends CRM_Core_Payment {
     // Check to see if we have a duplicate before we send
     //----------------------------------------------------------------------------------------------------
     if ($this->checkDupe($params['invoiceID'], CRM_Utils_Array::value('contributionID', $params))) {
-      return self::errorExit(9003, 'It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt from eWAY.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.');
+      throw new PaymentProcessorException('It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt from eWAY.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.', 9003);
     }
     //----------------------------------------------------------------------------------------------------
     // Convert to XML using function provided by payment processor
@@ -196,7 +193,7 @@ class CRM_Core_Payment_FirstData extends CRM_Core_Payment {
 
     $ch = curl_init($host);
     if (!$ch) {
-      return self::errorExit(9004, 'Could not initiate connection to payment gateway');
+      throw new PaymentProcessorException('Could not initiate connection to payment gateway', 9004);
     }
 
     curl_setopt($ch, CURLOPT_POST, 1);
@@ -236,10 +233,10 @@ class CRM_Core_Payment_FirstData extends CRM_Core_Payment {
         $errorDesc = "Connection to payment gateway failed";
       }
       if ($errorNum == 60) {
-        return self::errorExit($errorNum, "Curl error - " . $errorDesc . " Try this link for more information http://curl.haxx.se/docs/sslcerts.html");
+        throw new PaymentProcessorException("Curl error - " . $errorDesc . ' Try this link for more information http://curl.haxx.se/docs/sslcerts.html', $errorNum);
       }
 
-      return self::errorExit($errorNum, "Curl error - " . $errorDesc . " your key is located at " . $key . " the url is " . $host . " xml is " . $requestxml . " processor response = " . $processorResponse);
+      throw new PaymentProcessorException('Curl error - ' . $errorDesc . ' your key is located at ' . $key . ' the url is ' . $host . ' xml is ' . $requestxml . ' processor response = ' . $processorResponse, $errorNum);
     }
 
     //----------------------------------------------------------------------------------------------------
@@ -249,14 +246,14 @@ class CRM_Core_Payment_FirstData extends CRM_Core_Payment {
     //       any reason, the return value will be the boolean false.
     //----------------------------------------------------------------------------------------------------
     if (($responseData === FALSE) || (strlen($responseData) == 0)) {
-      return self::errorExit(9006, "Error: Connection to payment gateway failed - no data returned.");
+      throw new PaymentProcessorException('Error: Connection to payment gateway failed - no data returned.', 9006);
     }
 
     //----------------------------------------------------------------------------------------------------
     // If gateway returned no data - tell 'em and bail out
     //----------------------------------------------------------------------------------------------------
     if (empty($responseData)) {
-      return self::errorExit(9007, "Error: No data returned from payment gateway.");
+      throw new PaymentProcessorException('Error: No data returned from payment gateway.', 9007);
     }
 
     //----------------------------------------------------------------------------------------------------
@@ -271,8 +268,8 @@ class CRM_Core_Payment_FirstData extends CRM_Core_Payment {
     $processorResponse = lphp::decodeXML($responseData);
 
     // transaction failed, print the reason
-    if ($processorResponse["r_approved"] != "APPROVED") {
-      return self::errorExit(9009, "Error: [" . $processorResponse['r_error'] . "] - from payment processor");
+    if ($processorResponse['r_approved'] !== "APPROVED") {
+      throw new PaymentProcessorException('Error: [' . $processorResponse['r_error'] . '] - from payment processor', 9009);
     }
     else {
 
@@ -302,28 +299,6 @@ class CRM_Core_Payment_FirstData extends CRM_Core_Payment {
     }
   }
 
-  // end function doDirectPayment
-
-  /**
-   * Produces error message and returns from class.
-   *
-   * @param int $errorCode
-   * @param string $errorMessage
-   *
-   * @return object
-   */
-  public function &errorExit($errorCode = NULL, $errorMessage = NULL) {
-    $e = CRM_Core_Error::singleton();
-
-    if ($errorCode) {
-      $e->push($errorCode, 0, NULL, $errorMessage);
-    }
-    else {
-      $e->push(9000, 0, NULL, 'Unknown System Error.');
-    }
-    return $e;
-  }
-
   /**
    * This public function checks to see if we have the right processor config values set.
    *
@@ -352,9 +327,7 @@ class CRM_Core_Payment_FirstData extends CRM_Core_Payment {
     if (!empty($errorMsg)) {
       return implode('<p>', $errorMsg);
     }
-    else {
-      return NULL;
-    }
+    return NULL;
   }
 
 }
index 1c7263812c522bae496812da1b71964e17012560..3779297a08e08327f64fa2519a97ab0e98e319af 100644 (file)
@@ -109,7 +109,7 @@ class CRM_Core_Payment_Form {
           $field['name'],
           $field['title'],
           $field['attributes'],
-          FALSE,
+          $field['is_required'],
           $field['extra']
         );
       }
index 0a311b48da916fbfd04420dec9c98312f15e220f..a2c7c5dd2593a0d65a0b9f9833a37007cd2a72c9 100644 (file)
@@ -23,6 +23,19 @@ class CRM_Core_Payment_Manual extends CRM_Core_Payment {
    */
   public function checkConfig() {}
 
+  /**
+   * Constructor.
+   */
+  public function __construct() {
+    $this->_paymentProcessor = [
+      'payment_type' => 0,
+      'billing_mode' => 0,
+      'id' => 0,
+      'url_recur' => '',
+      'is_recur' => 0,
+    ];
+  }
+
   /**
    * Get billing fields required for this processor.
    *
index f544ee10c03da276a6bb2e56ebcce493ceded1ca..4fc8ec90056328788206450d6acb9863a260e85e 100644 (file)
@@ -8,6 +8,8 @@
  *
  */
 
+use Civi\Payment\Exception\PaymentProcessorException;
+
 /**
  *
  * @package CRM
@@ -28,9 +30,7 @@ class CRM_Core_Payment_PayJunction extends CRM_Core_Payment {
    * @param string $mode
    *   The mode of operation: live or test.
    *
-   * @param $paymentProcessor
-   *
-   * @return \CRM_Core_Payment_PayJunction
+   * @param array $paymentProcessor
    */
   public function __construct($mode, &$paymentProcessor) {
     $this->_mode = $mode;
@@ -46,6 +46,7 @@ class CRM_Core_Payment_PayJunction extends CRM_Core_Payment {
    *
    * @return array
    *   the result in an nice formatted array (or an error object)
+   * @throws \Civi\Payment\Exception\PaymentProcessorException
    */
   public function doDirectPayment(&$params) {
     $logon = $this->_paymentProcessor['user_name'];
@@ -58,16 +59,16 @@ class CRM_Core_Payment_PayJunction extends CRM_Core_Payment {
     $pjpgCustInfo->setEmail($params['email']);
 
     $billing = [
-      "logon" => $logon,
-      "password" => $password,
-      "url_site" => $url_site,
-      "first_name" => $params['first_name'],
-      "last_name" => $params['last_name'],
-      "address" => $params['street_address'],
-      "city" => $params['city'],
-      "province" => $params['state_province'],
-      "postal_code" => $params['postal_code'],
-      "country" => $params['country'],
+      'logon' => $logon,
+      'password' => $password,
+      'url_site' => $url_site,
+      'first_name' => $params['first_name'],
+      'last_name' => $params['last_name'],
+      'address' => $params['street_address'],
+      'city' => $params['city'],
+      'province' => $params['state_province'],
+      'postal_code' => $params['postal_code'],
+      'country' => $params['country'],
     ];
     $pjpgCustInfo->setBilling($billing);
 
@@ -96,8 +97,8 @@ class CRM_Core_Payment_PayJunction extends CRM_Core_Payment {
     $pjpgTxn->setCustInfo($pjpgCustInfo);
 
     // empty installments convert to 999 because PayJunction do not allow open end donation
-    if ($params['installments'] == "") {
-      $params['installments'] = "999";
+    if ($params['installments'] === '') {
+      $params['installments'] = '999';
     }
 
     // create recurring object
@@ -144,14 +145,7 @@ class CRM_Core_Payment_PayJunction extends CRM_Core_Payment {
     $pjpgResponse = $pjpgHttpPost->getPJpgResponse();
 
     if (self::isError($pjpgResponse)) {
-      return self::error($pjpgResponse);
-    }
-
-    /* Check for application errors */
-
-    $result = self::checkResult($pjpgResponse);
-    if (is_a($result, 'CRM_Core_Error')) {
-      return $result;
+      throw new PaymentProcessorException($pjpgResponse);
     }
 
     // Success
@@ -174,22 +168,11 @@ class CRM_Core_Payment_PayJunction extends CRM_Core_Payment {
   public function isError(&$response) {
     $responseCode = $response['dc_response_code'];
 
-    if ($responseCode == "00" || $responseCode == "85") {
+    if ($responseCode === "00" || $responseCode === "85") {
       return FALSE;
     }
-    else {
-      return TRUE;
-    }
-  }
+    return TRUE;
 
-  /**
-   * ignore for now, more elaborate error handling later.
-   * @param $response
-   *
-   * @return mixed
-   */
-  public function &checkResult(&$response) {
-    return $response;
   }
 
   /**
@@ -206,28 +189,7 @@ class CRM_Core_Payment_PayJunction extends CRM_Core_Payment {
     if (isset($this->_params[$field])) {
       return $this->_params[$field];
     }
-    else {
-      return '';
-    }
-  }
-
-  /**
-   * @param null $error
-   *
-   * @return object
-   */
-  public function &error($error = NULL) {
-    $e = CRM_Core_Error::singleton();
-    if ($error) {
-      $e->push($error['dc_response_code'],
-        0, NULL,
-        $error['dc_response_message']
-      );
-    }
-    else {
-      $e->push(9001, 0, NULL, "Unknown System Error.");
-    }
-    return $e;
+    return '';
   }
 
   /**
@@ -272,9 +234,7 @@ class CRM_Core_Payment_PayJunction extends CRM_Core_Payment {
     if (!empty($error)) {
       return implode('<p>', $error);
     }
-    else {
-      return NULL;
-    }
+    return NULL;
   }
 
 }
index 0d3eae538678fbbaf91030744070c93bd411cde5..be0424f7afd5cb3f3298f575ba970186659ade10 100644 (file)
@@ -270,8 +270,9 @@ class CRM_Core_Payment_PayPalIPN extends CRM_Core_Payment_BaseIPN {
     elseif ($status == 'Refunded' || $status == 'Reversed') {
       return $this->cancelled($objects, $transaction);
     }
-    elseif ($status != 'Completed') {
-      return $this->unhandled($objects, $transaction);
+    elseif ($status !== 'Completed') {
+      Civi::log()->debug('Returning since contribution status is not handled');
+      return;
     }
 
     // check if contribution is already completed, if so we ignore this ipn
@@ -279,7 +280,7 @@ class CRM_Core_Payment_PayPalIPN extends CRM_Core_Payment_BaseIPN {
     if ($contribution->contribution_status_id == $completedStatusId) {
       $transaction->commit();
       Civi::log()->debug('PayPalIPN: Returning since contribution has already been handled. (ID: ' . $contribution->id . ').');
-      echo "Success: Contribution has already been handled<p>";
+      echo 'Success: Contribution has already been handled<p>';
       return;
     }
 
@@ -380,17 +381,13 @@ class CRM_Core_Payment_PayPalIPN extends CRM_Core_Payment_BaseIPN {
    * @throws \CRM_Core_Exception
    */
   public function getInput(&$input, &$ids) {
-    if (!$this->getBillingID($ids)) {
-      return;
-    }
-
+    $billingID = $ids['billing'] = CRM_Core_BAO_LocationType::getBilling();
     $input['txnType'] = $this->retrieve('txn_type', 'String', FALSE);
     $input['paymentStatus'] = $this->retrieve('payment_status', 'String', FALSE);
     $input['invoice'] = $this->retrieve('invoice', 'String', TRUE);
     $input['amount'] = $this->retrieve('mc_gross', 'Money', FALSE);
     $input['reasonCode'] = $this->retrieve('ReasonCode', 'String', FALSE);
 
-    $billingID = $ids['billing'];
     $lookup = [
       "first_name" => 'first_name',
       "last_name" => 'last_name',
index a2155527240bd05529736c1e7e676e0f25b969b2..d249aa0bef30b2d2a494358eda818db76a3c80e2 100644 (file)
@@ -359,8 +359,8 @@ class CRM_Core_Payment_PayPalProIPN extends CRM_Core_Payment_BaseIPN {
       $this->cancelled($objects, $transaction);
       return;
     }
-    elseif ($status != 'Completed') {
-      $this->unhandled($objects, $transaction);
+    elseif ($status !== 'Completed') {
+      Civi::log()->debug('Returning since contribution status is not handled');
       return;
     }
 
@@ -369,7 +369,7 @@ class CRM_Core_Payment_PayPalProIPN extends CRM_Core_Payment_BaseIPN {
     if ($contribution->contribution_status_id == $completedStatusId) {
       $transaction->commit();
       Civi::log()->debug('PayPalProIPN: Returning since contribution has already been handled.');
-      echo "Success: Contribution has already been handled<p>";
+      echo 'Success: Contribution has already been handled<p>';
       return;
     }
 
@@ -493,9 +493,7 @@ INNER JOIN civicrm_membership_payment mp ON m.id = mp.membership_id AND mp.contr
    * @throws CRM_Core_Exception
    */
   public function getInput(&$input, &$ids) {
-    if (!$this->getBillingID($ids)) {
-      return;
-    }
+    $billingID = $ids['billing'] = CRM_Core_BAO_LocationType::getBilling();
 
     $input['txnType'] = self::retrieve('txn_type', 'String', 'POST', FALSE);
     $input['paymentStatus'] = self::retrieve('payment_status', 'String', 'POST', FALSE);
@@ -503,7 +501,6 @@ INNER JOIN civicrm_membership_payment mp ON m.id = mp.membership_id AND mp.contr
     $input['amount'] = self::retrieve('mc_gross', 'Money', 'POST', FALSE);
     $input['reasonCode'] = self::retrieve('ReasonCode', 'String', 'POST', FALSE);
 
-    $billingID = $ids['billing'];
     $lookup = [
       "first_name" => 'first_name',
       "last_name" => 'last_name',
index 1f5b76933676c06eb4b92ee553f6f7be2623bb41..9eef03f0e79d9e25cc9fbe78e945f8118e0a5567 100644 (file)
@@ -9,13 +9,12 @@
    +---------------------------------------------------------------------------+
   */
 
+use Civi\Payment\Exception\PaymentProcessorException;
+
 /**
  * Class CRM_Core_Payment_PayflowPro.
  */
 class CRM_Core_Payment_PayflowPro extends CRM_Core_Payment {
-  // (not used, implicit in the API, might need to convert?)
-  const
-    CHARSET = 'UFT-8';
 
   /**
    * Constructor
@@ -49,7 +48,7 @@ class CRM_Core_Payment_PayflowPro extends CRM_Core_Payment {
    */
   public function doDirectPayment(&$params) {
     if (!defined('CURLOPT_SSLCERT')) {
-      throw new CRM_Core_Exception(ts('Payflow Pro requires curl with SSL support'));
+      throw new PaymentProcessorException(ts('Payflow Pro requires curl with SSL support'));
     }
 
     /*
@@ -248,7 +247,7 @@ class CRM_Core_Payment_PayflowPro extends CRM_Core_Payment {
      * Check to see if we have a duplicate before we send
      */
     if ($this->checkDupe($params['invoiceID'], CRM_Utils_Array::value('contributionID', $params))) {
-      return self::errorExit(9003, 'It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.');
+      throw new PaymentProcessorException('It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.', 9003);
     }
 
     // ie. url at payment processor to submit to.
@@ -259,9 +258,9 @@ class CRM_Core_Payment_PayflowPro extends CRM_Core_Payment {
     /*
      * Payment successfully sent to gateway - process the response now
      */
-    $result = strstr($responseData, "RESULT");
+    $result = strstr($responseData, 'RESULT');
     if (empty($result)) {
-      return self::errorExit(9016, "No RESULT code from PayPal.");
+      throw new PaymentProcessorException('No RESULT code from PayPal.', 9016);
     }
 
     $nvpArray = [];
@@ -312,47 +311,26 @@ class CRM_Core_Payment_PayflowPro extends CRM_Core_Payment {
         return $params;
 
       case 1:
-        return self::errorExit(9008, "There is a payment processor configuration problem. This is usually due to invalid account information or ip restrictions on the account.  You can verify ip restriction by logging         // into Manager.  See Service Settings >> Allowed IP Addresses.   ");
+        throw new PaymentProcessorException('There is a payment processor configuration problem. This is usually due to invalid account information or ip restrictions on the account.  You can verify ip restriction by logging         // into Manager.  See Service Settings >> Allowed IP Addresses.   ', 9003);
 
       case 12:
         // Hard decline from bank.
-        return self::errorExit(9009, "Your transaction was declined   ");
+        throw new PaymentProcessorException('Your transaction was declined   ', 9009);
 
       case 13:
         // Voice authorization required.
-        return self::errorExit(9010, "Your Transaction is pending. Contact Customer Service to complete your order.");
+        throw new PaymentProcessorException('Your Transaction is pending. Contact Customer Service to complete your order.', 9010);
 
       case 23:
         // Issue with credit card number or expiration date.
-        return self::errorExit(9011, "Invalid credit card information. Please re-enter.");
+        throw new PaymentProcessorException('Invalid credit card information. Please re-enter.', 9011);
 
       case 26:
-        return self::errorExit(9012, "You have not configured your payment processor with the correct credentials. Make sure you have provided both the <vendor> and the <user> variables ");
+        throw new PaymentProcessorException('You have not configured your payment processor with the correct credentials. Make sure you have provided both the <vendor> and the <user> variables ', 9012);
 
       default:
-        return self::errorExit(9013, "Error - from payment processor: [" . $result_code . " " . $nvpArray['RESPMSG'] . "] ");
-    }
-
-    return self::errorExit(9014, "Check the code - all transactions should have been headed off before they got here. Something slipped through the net");
-  }
-
-  /**
-   * Produces error message and returns from class
-   *
-   * @param null $errorCode
-   * @param null $errorMessage
-   *
-   * @return object
-   */
-  public function &errorExit($errorCode = NULL, $errorMessage = NULL) {
-    $e = CRM_Core_Error::singleton();
-    if ($errorCode) {
-      $e->push($errorCode, 0, NULL, $errorMessage);
-    }
-    else {
-      $e->push(9000, 0, NULL, 'Unknown System Error.');
+        throw new PaymentProcessorException('Error - from payment processor: [' . $result_code . " " . $nvpArray['RESPMSG'] . "] ", 9013);
     }
-    return $e;
   }
 
   /**
@@ -495,7 +473,7 @@ class CRM_Core_Payment_PayflowPro extends CRM_Core_Payment {
       }
     }
     if ($responseHeaders['http_code'] != 200) {
-      return self::errorExit(9015, "Error connecting to the Payflow Pro API server.");
+      throw new PaymentProcessorException('Error connecting to the Payflow Pro API server.', 9015);
     }
 
     /*
@@ -520,14 +498,13 @@ class CRM_Core_Payment_PayflowPro extends CRM_Core_Payment {
         $errorDesc = "Connection to payment gateway failed";
       }
       if ($errorNum = 60) {
-        return self::errorExit($errorNum, "Curl error - " . $errorDesc .
-          " Try this link for more information http://curl.haxx.se/d
-                                         ocs/sslcerts.html"
-        );
+        throw new PaymentProcessorException('Curl error - ' . $errorDesc .
+          ' Try this link for more information http://curl.haxx.se/d
+                                         ocs/sslcerts.html', $errorNum);
       }
 
-      return self::errorExit($errorNum, "Curl error - " . $errorDesc .
-        "  processor response = " . $processorResponse
+      throw new PaymentProcessorException("Curl error - " . $errorDesc .
+        "  processor response = " . $processorResponse, $errorNum
       );
     }
 
@@ -539,8 +516,8 @@ class CRM_Core_Payment_PayflowPro extends CRM_Core_Payment {
      */
     if (($responseData === FALSE) || (strlen($responseData) == 0)) {
       curl_close($ch);
-      return self::errorExit(9006, "Error: Connection to payment gateway failed - no data
-                                           returned. Gateway url set to $submiturl");
+      throw new PaymentProcessorException("Error: Connection to payment gateway failed - no data
+                                           returned. Gateway url set to $submiturl", 9006);
     }
 
     /*
@@ -548,7 +525,7 @@ class CRM_Core_Payment_PayflowPro extends CRM_Core_Payment {
      */
     if (empty($responseData)) {
       curl_close($ch);
-      return self::errorExit(9007, "Error: No data returned from payment gateway.");
+      throw new PaymentProcessorException('Error: No data returned from payment gateway.', 9007);
     }
 
     /*
index 3f927557b0bd819fb2d4570d931dfd7f1bd21710..1649fa333a13808506041219b25f3fdbaef3ce52 100644 (file)
@@ -139,7 +139,7 @@ class CRM_Core_Payment_ProcessorForm {
     if (!empty($processorId)) {
       $form->addElement('hidden', 'hidden_processor', 1);
     }
-    CRM_Core_Payment_Form::buildPaymentForm($form, $form->_paymentProcessor, $billing_profile_id, $form->isBackOffice, $form->paymentInstrumentID);
+    CRM_Core_Payment_Form::buildPaymentForm($form, $form->_paymentProcessor, $billing_profile_id, $form->isBackOffice, $form->paymentInstrumentID ?? NULL);
   }
 
 }
index 610b101cbdb6e251f8c353bbced38b378c7e1ba1..700e43cb11841ee3ae907e0cde27ae267c781cdc 100644 (file)
@@ -23,7 +23,6 @@
  +--------------------------------------------------------------------+
  */
 
-
 /*
  * Copyright (C) 2009
  * Licensed to CiviCRM under the Academic Free License version 3.0.
  * Written and contributed by Kirkdesigns (http://www.kirkdesigns.co.uk)
  */
 
+use Civi\Payment\Exception\PaymentProcessorException;
+
 /**
  *
  * @package CRM
  * @author Tom Kirkpatrick <tkp@kirkdesigns.co.uk>
- * $Id$
  */
 class CRM_Core_Payment_Realex extends CRM_Core_Payment {
   const AUTH_APPROVED = '00';
 
-  protected $_mode = NULL;
+  protected $_mode;
 
   protected $_params = [];
 
@@ -50,9 +50,7 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
    * @param string $mode
    *   The mode of operation: live or test.
    *
-   * @param $paymentProcessor
-   *
-   * @return \CRM_Core_Payment_Realex
+   * @param array $paymentProcessor
    */
   public function __construct($mode, &$paymentProcessor) {
     $this->_mode = $mode;
@@ -75,24 +73,22 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
    *
    * @return array
    *   the result in a nice formatted array (or an error object)
+   *
+   * @throws \Civi\Payment\Exception\PaymentProcessorException
    */
   public function doDirectPayment(&$params) {
 
     if (!defined('CURLOPT_SSLCERT')) {
-      return self::error(9001, ts('RealAuth requires curl with SSL support'));
+      throw new PaymentProcessorException(ts('RealAuth requires curl with SSL support'), 9001);
     }
 
     $result = $this->setRealexFields($params);
 
-    if ($result !== TRUE) {
-      return $result;
-    }
-
     /**********************************************************
      * Check to see if we have a duplicate before we send
      **********************************************************/
     if ($this->checkDupe($params['invoiceID'], CRM_Utils_Array::value('contributionID', $params))) {
-      return self::error(9004, ts('It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt from Authorize.net.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.'));
+      throw new PaymentProcessorException(ts('It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt from Authorize.net.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.'), 9004);
     }
 
     // Create sha1 hash for request
@@ -135,7 +131,7 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
     $submit = curl_init($this->_paymentProcessor['url_site']);
 
     if (!$submit) {
-      return self::error(9002, ts('Could not initiate connection to payment gateway'));
+      throw new PaymentProcessorException(ts('Could not initiate connection to payment gateway'), 9002);
     }
 
     curl_setopt($submit, CURLOPT_HTTPHEADER, ['SOAPAction: ""']);
@@ -155,7 +151,7 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
     $response_xml = curl_exec($submit);
 
     if (!$response_xml) {
-      return self::error(curl_errno($submit), curl_error($submit));
+      throw new PaymentProcessorException(curl_error($submit), curl_errno($submit));
     }
 
     curl_close($submit);
@@ -167,7 +163,7 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
     // Parse the response xml
     $xml_parser = xml_parser_create();
     if (!xml_parse($xml_parser, $response_xml)) {
-      return self::error(9003, 'XML Error');
+      throw new PaymentProcessorException('XML Error', 9003);
     }
 
     $response = $this->xml_parse_into_assoc($response_xml);
@@ -178,19 +174,7 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
 
     // Return an error if authentication was not successful
     if ($response['RESULT'] !== self::AUTH_APPROVED) {
-      return self::error($response['RESULT'], ' ' . $response['MESSAGE']);
-    }
-
-    // Check the response hash
-    $hashme = "{$this->_getParam('timestamp')}.{$this->_getParam('merchant_ref')}.{$this->_getParam('order_id')}.{$response['RESULT']}.{$response['MESSAGE']}.{$response['PASREF']}.{$response['AUTHCODE']}";
-    $sha1hash = sha1($hashme);
-    $hashme = "$sha1hash.{$this->_getParam('secret')}";
-    $sha1hash = sha1($hashme);
-
-    if ($response['SHA1HASH'] != $sha1hash) {
-      // FIXME: Need to actually check this - I couldn't get the
-      // hashes to match so I'm commenting out for now'
-      // return self::error( 9001, "Hash error, please report this to the webmaster" );
+      throw new PaymentProcessorException($this->getDisplayError($response['RESULT'], ' ' . $response['MESSAGE']));
     }
 
     // FIXME: We are using the trxn_result_code column to store all these extra details since there
@@ -253,7 +237,8 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
   }
 
   /**
-   * Private helper for  xml_parse_into_assoc, to recusively parsing the result
+   * Private helper for  xml_parse_into_assoc, to recursively parsing the result.
+   *
    * @param $input
    * @param int $depth
    *
@@ -293,11 +278,11 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
    *
    * @param array $params
    *
-   * @return bool
+   * @throws \Civi\Payment\Exception\PaymentProcessorException
    */
   public function setRealexFields(&$params) {
     if ((int) $params['amount'] <= 0) {
-      return self::error(9001, ts('Amount must be positive'));
+      throw new PaymentProcessorException(ts('Amount must be positive'), 9001);
     }
 
     // format amount to be in smallest possible units
@@ -334,7 +319,7 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
         break;
 
       default:
-        return self::error(9001, ts('Credit card type not supported by Realex:') . ' ' . $params['credit_card_type']);
+        throw new PaymentProcessorException(ts('Credit card type not supported by Realex:') . ' ' . $params['credit_card_type'], 9001);
     }
 
     // get the card holder name - cater cor customized billing forms
@@ -360,11 +345,9 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
     $this->_setParam('varref', $params['contributionType_name']);
     $comment = $params['description'] . ' (page id:' . $params['contributionPageID'] . ')';
     $this->_setParam('comments', $comment);
-    //$this->_setParam('currency',      $params['currencyID']);
 
     // set the currency to the default which can be overrided.
-    $config = CRM_Core_Config::singleton();
-    $this->_setParam('currency', $config->defaultCurrency);
+    $this->_setParam('currency', CRM_Core_Config::singleton()->defaultCurrency);
 
     // Format the expiry date to MMYY
     $expmonth = (string) $params['month'];
@@ -382,10 +365,8 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
     }
 
     // Create timestamp
-    $timestamp = strftime("%Y%m%d%H%M%S");
+    $timestamp = strftime('%Y%m%d%H%M%S');
     $this->_setParam('timestamp', $timestamp);
-
-    return TRUE;
   }
 
   /**
@@ -402,9 +383,7 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
     if (isset($this->_params[$field])) {
       return $this->_params[$field];
     }
-    else {
-      return '';
-    }
+    return '';
   }
 
   /**
@@ -413,50 +392,12 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
    *
    * @param string $field
    * @param mixed $value
-   *
-   * @return bool
-   *   false if value is not a scalar, true if successful
    */
   public function _setParam($field, $value) {
     if (!is_scalar($value)) {
-      return FALSE;
-    }
-    else {
-      $this->_params[$field] = $value;
+      return;
     }
-  }
-
-  /**
-   * @param null $errorCode
-   * @param null $errorMessage
-   *
-   * @return object
-   */
-  public function &error($errorCode = NULL, $errorMessage = NULL) {
-    $e = CRM_Core_Error::singleton();
-
-    if ($errorCode) {
-      if ($errorCode == '101' || $errorCode == '102') {
-        $display_error = ts('Card declined by bank. Please try with a different card.');
-      }
-      elseif ($errorCode == '103') {
-        $display_error = ts('Card reported lost or stolen. This incident will be reported.');
-      }
-      elseif ($errorCode == '501') {
-        $display_error = ts("It appears that this transaction is a duplicate. Have you already submitted the form once? If so there may have been a connection problem. Check your email for a receipt for this transaction.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.");
-      }
-      elseif ($errorCode == '509') {
-        $display_error = $errorMessage;
-      }
-      else {
-        $display_error = ts('We were unable to process your payment at this time. Please try again later.');
-      }
-      $e->push($errorCode, 0, NULL, $display_error);
-    }
-    else {
-      $e->push(9001, 0, NULL, ts('We were unable to process your payment at this time. Please try again later.'));
-    }
-    return $e;
+    $this->_params[$field] = $value;
   }
 
   /**
@@ -478,9 +419,34 @@ class CRM_Core_Payment_Realex extends CRM_Core_Payment {
     if (!empty($error)) {
       return implode('<p>', $error);
     }
+    return NULL;
+  }
+
+  /**
+   * Get the error to display.
+   *
+   * @param string $errorCode
+   * @param string $errorMessage
+   *
+   * @return string
+   */
+  protected function getDisplayError($errorCode, $errorMessage): string {
+    if ($errorCode === '101' || $errorCode === '102') {
+      $display_error = ts('Card declined by bank. Please try with a different card.');
+    }
+    elseif ($errorCode === '103') {
+      $display_error = ts('Card reported lost or stolen. This incident will be reported.');
+    }
+    elseif ($errorCode === '501') {
+      $display_error = ts('It appears that this transaction is a duplicate. Have you already submitted the form once? If so there may have been a connection problem. Check your email for a receipt for this transaction.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.');
+    }
+    elseif ($errorCode === '509') {
+      $display_error = $errorMessage;
+    }
     else {
-      return NULL;
+      $display_error = ts('We were unable to process your payment at this time. Please try again later.');
     }
+    return $display_error;
   }
 
 }
index bc6710ae8d5f3207f3e2e1deb16965c3edb12bae..8a7f4f639bea4ee5bf5ea7bc675188eb0dde076d 100644 (file)
@@ -23,7 +23,6 @@
  +--------------------------------------------------------------------+
  */
 
-
 /*
  +--------------------------------------------------------------------+
  | eWAY Core Payment Module for CiviCRM version 5 & 1.9               |
@@ -91,6 +90,8 @@
  * -----------------------------------------------------------------------------------------------
  */
 
+use Civi\Payment\Exception\PaymentProcessorException;
+
 // require Standard eWAY API libraries
 require_once 'eWAY/eWAY_GatewayRequest.php';
 require_once 'eWAY/eWAY_GatewayResponse.php';
@@ -99,8 +100,6 @@ require_once 'eWAY/eWAY_GatewayResponse.php';
  * Class CRM_Core_Payment_eWAY.
  */
 class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
-  // (not used, implicit in the API, might need to convert?)
-  const CHARSET = 'UTF-8';
 
   /**
    * *******************************************************
@@ -148,13 +147,13 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
     $eWAYRequest = new GatewayRequest();
 
     if (($eWAYRequest == NULL) || (!($eWAYRequest instanceof GatewayRequest))) {
-      return self::errorExit(9001, "Error: Unable to create eWAY Request object.");
+      throw new PaymentProcessorException('Error: Unable to create eWAY Request object.', 9001);
     }
 
     $eWAYResponse = new GatewayResponse();
 
     if (($eWAYResponse == NULL) || (!($eWAYResponse instanceof GatewayResponse))) {
-      return self::errorExit(9002, "Error: Unable to create eWAY Response object.");
+      throw new PaymentProcessorException(9002, 'Error: Unable to create eWAY Response object.', 9002);
     }
 
     /*
@@ -172,9 +171,6 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
     $fullAddress = $params['street_address'] . ", " . $params['city'] . ", " . $params['state_province'] . ".";
     $expireYear = substr($params['year'], 2, 2);
     $expireMonth = sprintf('%02d', (int) $params['month']);
-    // CiviCRM V1.9 - Picks up reasonable description
-    //$description = $params['amount_level'];
-    // CiviCRM V2.0 - Picks up description
     $description = $params['description'];
     $txtOptions = "";
 
@@ -255,7 +251,7 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
     // Check to see if we have a duplicate before we send
     //----------------------------------------------------------------------------------------------------
     if ($this->checkDupe($params['invoiceID'], CRM_Utils_Array::value('contributionID', $params))) {
-      return self::errorExit(9003, 'It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt from eWAY.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.');
+      throw new PaymentProcessorException('It appears that this transaction is a duplicate.  Have you already submitted the form once?  If so there may have been a connection problem.  Check your email for a receipt from eWAY.  If you do not receive a receipt within 2 hours you can try your transaction again.  If you continue to have problems please contact the site administrator.', 9003);
     }
 
     //----------------------------------------------------------------------------------------------------
@@ -266,7 +262,7 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
     $submit = curl_init($gateway_URL);
 
     if (!$submit) {
-      return self::errorExit(9004, 'Could not initiate connection to payment gateway');
+      throw new PaymentProcessorException('Could not initiate connection to payment gateway', 9004);
     }
 
     curl_setopt($submit, CURLOPT_POST, TRUE);
@@ -302,10 +298,10 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
 
       // Paranoia - in the unlikley event that 'curl' error fails
       if (strlen($errorDesc) == 0) {
-        $errorDesc = "Connection to eWAY payment gateway failed";
+        $errorDesc = 'Connection to eWAY payment gateway failed';
       }
 
-      return self::errorExit($errorNum, $errorDesc);
+      throw new PaymentProcessorException($errorDesc, $errorNum);
     }
 
     //----------------------------------------------------------------------------------------------------
@@ -315,14 +311,14 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
     //       any reason, the return value will be the boolean false.
     //----------------------------------------------------------------------------------------------------
     if (($responseData === FALSE) || (strlen($responseData) == 0)) {
-      return self::errorExit(9006, "Error: Connection to payment gateway failed - no data returned.");
+      throw new PaymentProcessorException('Error: Connection to payment gateway failed - no data returned.', 9006);
     }
 
     //----------------------------------------------------------------------------------------------------
     // If gateway returned no data - tell 'em and bail out
     //----------------------------------------------------------------------------------------------------
     if (empty($responseData)) {
-      return self::errorExit(9007, "Error: No data returned from payment gateway.");
+      throw new PaymentProcessorException('Error: No data returned from payment gateway.', 9007);
     }
 
     //----------------------------------------------------------------------------------------------------
@@ -341,59 +337,21 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
     if (self::isError($eWAYResponse)) {
       $eWayTrxnError = $eWAYResponse->Error();
       CRM_Core_Error::debug_var('eWay Error', $eWayTrxnError, TRUE, TRUE);
-      if (substr($eWayTrxnError, 0, 6) == "Error:") {
-        return self::errorExit(9008, $eWayTrxnError);
+      if (substr($eWayTrxnError, 0, 6) === 'Error:') {
+        throw new PaymentProcessorException($eWayTrxnError, 9008);
       }
       $eWayErrorCode = substr($eWayTrxnError, 0, 2);
       $eWayErrorDesc = substr($eWayTrxnError, 3);
 
-      return self::errorExit(9008, "Error: [" . $eWayErrorCode . "] - " . $eWayErrorDesc . ".");
-    }
-
-    //-----------------------------------------------------------------------------------------------------
-    // Cross-Check - the unique 'TrxnReference' we sent out should match the just received 'TrxnReference'
-    //
-    // PLEASE NOTE: If this occurs (which is highly unlikely) its a serious error as it would mean we have
-    //              received an OK status from eWAY, but their Gateway has not returned the correct unique
-    //              token - ie something is broken, BUT money has been taken from the client's account,
-    //              so we can't very well error-out as CiviCRM will then not process the registration.
-    //              There is an error message commented out here but my preferred response to this unlikley
-    //              possibility is to email 'support@eWAY.com.au'
-    //-----------------------------------------------------------------------------------------------------
-    $eWayTrxnReference_OUT = $eWAYRequest->GetTransactionNumber();
-    $eWayTrxnReference_IN = $eWAYResponse->InvoiceReference();
-
-    if ($eWayTrxnReference_IN != $eWayTrxnReference_OUT) {
-      // return self::errorExit( 9009, "Error: Unique Trxn code was not returned by eWAY Gateway. This is extremely unusual! Please contact the administrator of this site immediately with details of this transaction.");
-
-    }
-
-    /*
-    //----------------------------------------------------------------------------------------------------
-    // Test mode always returns trxn_id = 0 - so we fix that here
-    //
-    // NOTE: This code was taken from the AuthorizeNet payment processor, however it now appears
-    //       unnecessary for the eWAY gateway - Left here in case it proves useful
-    //----------------------------------------------------------------------------------------------------
-    if ( $this->_mode == 'test' ) {
-    $query             = "SELECT MAX(trxn_id) FROM civicrm_contribution WHERE trxn_id LIKE 'test%'";
-    $p                 = array( );
-    $trxn_id           = strval( CRM_Core_Dao::singleValueQuery( $query, $p ) );
-    $trxn_id           = str_replace( 'test', '', $trxn_id );
-    $trxn_id           = intval($trxn_id) + 1;
-    $params['trxn_id'] = sprintf('test%08d', $trxn_id);
-    }
-    else {
-    $params['trxn_id'] = $eWAYResponse->TransactionNumber();
+      throw new PaymentProcessorException('Error: [' . $eWayErrorCode . "] - " . $eWayErrorDesc . '.', 9008);
     }
-     */
 
     //=============
     // Success !
     //=============
     $beaglestatus = $eWAYResponse->BeagleScore();
     if (!empty($beaglestatus)) {
-      $beaglestatus = ": " . $beaglestatus;
+      $beaglestatus = ': ' . $beaglestatus;
     }
     $params['trxn_result_code'] = $eWAYResponse->Status() . $beaglestatus;
     $params['gross_amount'] = $eWAYResponse->Amount();
@@ -402,8 +360,6 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
     return $params;
   }
 
-  // end function doDirectPayment
-
   /**
    * Checks the eWAY response status - returning a boolean false if status != 'true'.
    *
@@ -414,47 +370,20 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
   public function isError(&$response) {
     $status = $response->Status();
 
-    if ((stripos($status, "true")) === FALSE) {
+    if ((stripos($status, 'true')) === FALSE) {
       return TRUE;
     }
     return FALSE;
   }
 
   /**
-   * Produces error message and returns from class.
-   *
-   * @param int $errorCode
-   * @param string $errorMessage
-   *
-   * @return object
-   */
-  public function &errorExit($errorCode = NULL, $errorMessage = NULL) {
-    $e = CRM_Core_Error::singleton();
-
-    if ($errorCode) {
-      $e->push($errorCode, 0, NULL, $errorMessage);
-    }
-    else {
-      $e->push(9000, 0, NULL, 'Unknown System Error.');
-    }
-    return $e;
-  }
-
-  /**
-   * *****************************************************************************************
    * This public function checks to see if we have the right processor config values set
    *
    * NOTE: Called by Events and Contribute to check config params are set prior to trying
    *       register any credit card details
    *
    * @return null|string
-   * @internal param string $mode the mode we are operating in (live or test) - not used but could be
-   * to check that the 'test' mode CustomerID was equal to '87654321' and that the URL was
-   * set to https://www.eway.com.au/gateway_cvn/xmltest/TestPage.asp
-   *
-   * returns string $errorMsg if any errors found - null if OK
-   *
-   * *****************************************************************************************
+   *   returns string $errorMsg if any errors found - null if OK
    */
   public function checkConfig() {
     $errorMsg = [];
@@ -470,10 +399,7 @@ class CRM_Core_Payment_eWAY extends CRM_Core_Payment {
     if (!empty($errorMsg)) {
       return implode('<p>', $errorMsg);
     }
-    else {
-      return NULL;
-    }
+    return NULL;
   }
 
 }
-// end class CRM_Core_Payment_eWAY
index 08c978af389b3deb05f32767af0dee3265ae826d..2c71a406defaeeb5851d23eaea4e1062330d2b20 100644 (file)
@@ -508,7 +508,7 @@ class CRM_Core_Permission {
   public static function checkMenuItem(&$item) {
     if (!array_key_exists('access_callback', $item)) {
       CRM_Core_Error::backtrace();
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('Missing Access Callback key in menu item');
     }
 
     // if component_id is present, ensure it is enabled
index e158ee21f0a8ab0086ffecd1e897c1fb84a79f0e..eb77d5ff3342fd9cfdaa7f890873c6cb630b5f95 100644 (file)
@@ -1551,7 +1551,7 @@ WHERE  id = %1
     $output = [];
     $query = "$select $from";
     if ($wheres) {
-      $query .= " WHERE " . implode($wheres, ' AND ');
+      $query .= " WHERE " . implode(' AND ', $wheres);
     }
     $query .= ' ' . $order;
     $dao = CRM_Core_DAO::executeQuery($query, $queryParams);
index 5d101d1d70ff0cc9e682fe5044c6a951cb2dd743..242387ca65af1109ac8cffd45e6d5856d43bd221 100644 (file)
@@ -223,8 +223,8 @@ class CRM_Core_Region {
           break;
 
         default:
-          require_once 'CRM/Core/Error.php';
-          CRM_Core_Error::fatal(ts('Snippet type %1 is unrecognized',
+          require_once 'CRM/Core/Exception.php';
+          throw new CRM_Core_Exception(ts('Snippet type %1 is unrecognized',
             [1 => $snippet['type']]));
       }
     }
index b2c515867e89ed7db981754c3165b46a974f454f..02d654549993febffbd88ba6e8b56fb5629ddec3 100644 (file)
@@ -1172,6 +1172,9 @@ class CRM_Core_SelectValues {
     return $ret;
   }
 
+  /**
+   * @return string[]
+   */
   public static function fieldSerialization() {
     return [
       CRM_Core_DAO::SERIALIZE_SEPARATOR_BOOKEND => 'separator_bookend',
@@ -1182,4 +1185,15 @@ class CRM_Core_SelectValues {
     ];
   }
 
+  /**
+   * @return array
+   */
+  public static function navigationMenuSeparator() {
+    return [
+      ts('None'),
+      ts('After menu element'),
+      ts('Before menu element'),
+    ];
+  }
+
 }
index e80d6fcd3eb8033beeb1ebdb16ef39d5f8424732..268f0e584206db6ebaa5c90e200b7421e27d11b6 100644 (file)
@@ -123,9 +123,6 @@ class CRM_Core_Selector_Base {
           unset($header);
         }
       }
-      if ($firstElementNotFound) {
-        // CRM_Core_Error::fatal( "Could not find a valid sort directional element" );
-      }
     }
     return $this->_order;
   }
index eaa9cac86d86a464fd370f4fc229ec96a247f485..49f10f7a215d08559eecbbacd4eadea8717039af 100644 (file)
  * @param string $currency
  *   The (optional) currency.
  *
- * @param null $format
- * @param bool $onlyNumber
- *
  * @return string
  *   formatted monetary amount
+ *
+ * @throws \CRM_Core_Exception
  */
-function smarty_modifier_crmMoney($amount, $currency = NULL, $format = NULL, $onlyNumber = FALSE) {
-  return CRM_Utils_Money::format($amount, $currency, $format, $onlyNumber);
+function smarty_modifier_crmMoney($amount, $currency = NULL) {
+  return CRM_Utils_Money::format($amount, $currency);
 }
index c26c5c04f5537e77ea49d1df06e42f36b461185d..90d87917edaaf6f9ab1673d000f398b5d3a31e0d 100644 (file)
@@ -61,7 +61,7 @@ class CRM_Custom_Form_ChangeFieldType extends CRM_Core_Form {
     );
 
     if (empty($this->_values) || empty($this->_htmlTypeTransitions)) {
-      CRM_Core_Error::fatal(ts("Invalid custom field or can't change input type of this custom field."));
+      CRM_Core_Error::statusBounce(ts("Invalid custom field or can't change input type of this custom field."));
     }
 
     $url = CRM_Utils_System::url('civicrm/admin/custom/group/field/update',
index e61d23ed803ce27ae2468052c1eb234dfd82add6..a2ee643cbe3f9a5bd84c9a35ee996a610a7ac5b5 100644 (file)
@@ -121,7 +121,7 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
     }
 
     if ($isReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved', 'id')) {
-      CRM_Core_Error::fatal("You cannot add or edit fields in a reserved custom field-set.");
+      CRM_Core_Error::statusBounce("You cannot add or edit fields in a reserved custom field-set.");
     }
 
     if ($this->_gid) {
@@ -618,7 +618,7 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
     //checks the given custom field name doesnot start with digit
     if (!empty($title)) {
       // gives the ascii value
-      $asciiValue = ord($title{0});
+      $asciiValue = ord($title[0]);
       if ($asciiValue >= 48 && $asciiValue <= 57) {
         $errors['label'] = ts("Name cannot not start with a digit");
       }
index 10c582c32053e6e34447ade4423c0cd3f4ca58f0..dc8836b7037dc91664d16b4ac92c9384b994ddcc 100644 (file)
@@ -50,11 +50,13 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
    * @return void
    */
   public function preProcess() {
+    Civi::resources()->addScriptFile('civicrm', 'js/jquery/jquery.crmIconPicker.js');
+
     // current set id
     $this->_id = $this->get('id');
 
     if ($this->_id && $isReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_id, 'is_reserved', 'id')) {
-      CRM_Core_Error::fatal("You cannot edit the settings of a reserved custom field-set.");
+      CRM_Core_Error::statusBounce("You cannot edit the settings of a reserved custom field-set.");
     }
     // setting title for html page
     if ($this->_action == CRM_Core_Action::UPDATE) {
@@ -297,6 +299,8 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
     // display style
     $this->add('select', 'style', ts('Display Style'), CRM_Core_SelectValues::customGroupStyle());
 
+    $this->add('text', 'icon', ts('Tab icon'), ['class' => 'crm-icon-picker', 'allowClear' => TRUE]);
+
     // is this set collapsed or expanded ?
     $this->addElement('advcheckbox', 'collapse_display', ts('Collapse this set on initial display'));
 
index 14e7b509e16a9455650a1db786c62fbc02636033..004e1d51a335a5dbfd54e88024c879661fea435f 100644 (file)
@@ -76,7 +76,7 @@ class CRM_Custom_Form_Option extends CRM_Core_Form {
     }
 
     if ($isReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved', 'id')) {
-      CRM_Core_Error::fatal("You cannot add or edit muliple choice options in a reserved custom field-set.");
+      CRM_Core_Error::statusBounce("You cannot add or edit muliple choice options in a reserved custom field-set.");
     }
 
     $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this);
@@ -387,11 +387,10 @@ SELECT count(*)
     // set values for custom field properties and save
     $customOption = new CRM_Core_DAO_OptionValue();
     $customOption->label = $params['label'];
-    $customOption->name = CRM_Utils_String::titleToVar($params['label']);
     $customOption->weight = $params['weight'];
     $customOption->description = $params['description'];
     $customOption->value = $params['value'];
-    $customOption->is_active = CRM_Utils_Array::value('is_active', $params, FALSE);
+    $customOption->is_active = $params['is_active'] ?? FALSE;
 
     $oldWeight = NULL;
     if ($this->_id) {
@@ -399,6 +398,9 @@ SELECT count(*)
       CRM_Core_BAO_CustomOption::updateCustomValues($params);
       $oldWeight = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue', $this->_id, 'weight', 'id');
     }
+    else {
+      $customOption->name = CRM_Utils_String::titleToVar($params['label']);
+    }
 
     $fieldValues = ['option_group_id' => $this->_optionGroupID];
     $customOption->weight
index 09b3258a5ebad0677d6956a1b482212028c2ac4f..c71018bb7956225ce9e31237b2699556b4d26faa 100644 (file)
@@ -68,7 +68,7 @@ abstract class CRM_Custom_Import_Parser extends CRM_Contact_Import_Parser {
     $onDuplicate = self::DUPLICATE_SKIP
   ) {
     if (!is_array($fileName)) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('Unable to determine import file');
     }
     $fileName = $fileName['name'];
 
index 708b342a24e53a832f09d1fd6eaf6c0d27652121..d10a73dfa375fefea6e3a829ca2807702bbfb350 100644 (file)
@@ -226,7 +226,7 @@ class CRM_Custom_Page_Field extends CRM_Core_Page {
     }
 
     if ($isReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved', 'id')) {
-      CRM_Core_Error::fatal("You cannot add or edit fields in a reserved custom field-set.");
+      CRM_Core_Error::statusBounce("You cannot add or edit fields in a reserved custom field-set.");
     }
 
     $action = CRM_Utils_Request::retrieve('action', 'String',
index a932fd36a5bf3057106c9a27c4cf25e5998f00f7..7c409c7d780a265f9cad63ac04867f6e4af3e6bf 100644 (file)
@@ -213,7 +213,7 @@ WHERE  option_group_id = %1";
     );
 
     if ($isReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved', 'id')) {
-      CRM_Core_Error::fatal("You cannot add or edit multiple choice options in a reserved custom field-set.");
+      CRM_Core_Error::statusBounce("You cannot add or edit multiple choice options in a reserved custom field-set.");
     }
 
     $optionGroupId = $this->getOptionGroupId($this->_fid);
index a972c7fd35d24b6f7128338d0440d06faf945df2..17aa4fb549c83f47b9df08c2c440bbd54e781cbd 100644 (file)
@@ -107,7 +107,7 @@ class CRM_Cxn_CiviCxnHttp extends \Civi\Cxn\Rpc\Http\PhpHttp {
       $result['ssl'] = $caConfig->toStreamOptions();
     }
     if (!$caConfig->isEnableSSL() && preg_match('/^https:/', $url)) {
-      CRM_Core_Error::fatal('Cannot fetch document - system does not support SSL');
+      throw new CRM_Core_Exception('Cannot fetch document - system does not support SSL');
     }
 
     return $result;
index 2565343336d986d48c94a09a64272d973891bf42..732c0d03986b1557b0dc567dd09b717d07a81833 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Cxn/Cxn.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:dbdc69652244ce9a681d85cd39ab2ba8)
+ * (GenCodeChecksum:efa483cd4f17b2ff7c7444dd888b2369)
  */
 
 /**
@@ -113,6 +113,13 @@ class CRM_Cxn_DAO_Cxn extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Cxns');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 7c10c69603a2da7aed93db60cfa284dbf7d97227..d8321fb5c116c36652b4afe83b4b921021857be6 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Dedupe/Exception.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:bc7e5282c75e16acace7b9d8555f6ef7)
+ * (GenCodeChecksum:ba60ce547a19bb867543b38a84f4654d)
  */
 
 /**
@@ -57,6 +57,13 @@ class CRM_Dedupe_DAO_Exception extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Exceptions');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 90b39affc746c428ae36299bf4a25d15e44d9b35..0bc1f003ce32fb2d53605de585ace116a55748d0 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Dedupe/Rule.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9d3a0a3213757c341f051bf258b5c67f)
+ * (GenCodeChecksum:78004d786287419f4f322dd22c8e7daa)
  */
 
 /**
@@ -78,6 +78,13 @@ class CRM_Dedupe_DAO_Rule extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Rules');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index fbf8ceae8a8c825d195ec77f30a4f9ee478759b5..4717b2f53433e22876e5c8bccbba872e10a8c398 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Dedupe/RuleGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:16caaddab6049c5559c418b140d03fa8)
+ * (GenCodeChecksum:77493b98b740fced03c2bca0ab28f567)
  */
 
 /**
@@ -85,6 +85,13 @@ class CRM_Dedupe_DAO_RuleGroup extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Rule Groups');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 9f161af164195a45cd59c646e6a252c18115d756..a6213effc9c7b6ab6388dc670e3d442e63479be3 100644 (file)
@@ -22,7 +22,9 @@ class CRM_Dedupe_Merger {
    * FIXME: consider creating a common structure with cidRefs() and eidRefs()
    * FIXME: the sub-pages references by the URLs should
    * be loaded dynamically on the merge form instead
+   *
    * @return array
+   * @throws \CiviCRM_API3_Exception
    */
   public static function relTables() {
 
@@ -44,7 +46,7 @@ class CRM_Dedupe_Merger {
           3 => '$ufid',
         ]);
       }
-      elseif ($config->userFramework == 'Joomla') {
+      elseif ($config->userFramework === 'Joomla') {
         $userRecordUrl = $config->userSystem->getVersion() > 1.5 ? $config->userFrameworkBaseURL . "index.php?option=com_users&view=user&task=user.edit&id=" . '%ufid' : $config->userFrameworkBaseURL . "index2.php?option=com_users&view=user&task=edit&id[]=" . '%ufid';
         $title = ts('%1 User: %2; user id: %3', [
           1 => $config->userFramework,
@@ -176,6 +178,7 @@ class CRM_Dedupe_Merger {
    * @param int $cid
    *
    * @return array
+   * @throws \CiviCRM_API3_Exception
    */
   public static function getActiveRelTables($cid) {
     $cid = (int) $cid;
@@ -300,7 +303,7 @@ class CRM_Dedupe_Merger {
       ]);
       foreach ($result['values'] as $custom) {
         $data['cidRefs'][$custom['table_name']] = ['entity_id'];
-        $urlSuffix = $custom['style'] == 'Tab' ? '&selectedChild=custom_' . $custom['id'] : '';
+        $urlSuffix = $custom['style'] === 'Tab' ? '&selectedChild=custom_' . $custom['id'] : '';
         $data['relTables']['rel_table_custom_' . $custom['id']] = [
           'title' => $custom['title'],
           'tables' => [$custom['table_name']],
@@ -417,14 +420,14 @@ INNER JOIN  civicrm_participant participant ON ( participant.id = payment.partic
         if (array_key_exists($tableName, $tableOperations) && $tableOperations[$tableName]['add']) {
           break;
         }
-        if ($mode == 'add') {
+        if ($mode === 'add') {
           $sqls[] = "
 DELETE membership1.* FROM civicrm_membership membership1
  INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = membership2.membership_type_id
              AND membership1.contact_id = {$mainId}
              AND membership2.contact_id = {$otherId} ";
         }
-        if ($mode == 'payment') {
+        if ($mode === 'payment') {
           $sqls[] = "
 DELETE contribution.* FROM civicrm_contribution contribution
 INNER JOIN  civicrm_membership_payment payment ON payment.contribution_id = contribution.id
@@ -604,9 +607,9 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
   /**
    * Given a contact ID, will check if a record exists in given table.
    *
-   * @param $contactID
-   * @param $table
-   * @param $idField
+   * @param int $contactID
+   * @param string $table
+   * @param string $idField
    *   Field where the contact's ID is stored in the table
    *
    * @return bool
@@ -637,6 +640,8 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    *   Contact details.
    *
    * @return array
+   *
+   * @throws \CRM_Core_Exception
    */
   public static function retrieveFields($main, $other) {
     $result = [
@@ -720,7 +725,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
       // explicitly set to NULL if not 1 or 0 as part of grandfathering out the mystical '2' value.
       $isSelected = NULL;
     }
-    $dupePairs = self::getDuplicatePairs($rgid, $gid, $reloadCacheIfEmpty, $batchLimit, $isSelected, ($mode == 'aggressive'), $criteria, $checkPermissions, $searchLimit);
+    $dupePairs = self::getDuplicatePairs($rgid, $gid, $reloadCacheIfEmpty, $batchLimit, $isSelected, ($mode === 'aggressive'), $criteria, $checkPermissions, $searchLimit);
 
     $cacheParams = [
       'cache_key_string' => self::getMergeCacheKeyString($rgid, $gid, $criteria, $checkPermissions, $searchLimit),
@@ -740,12 +745,12 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    *   The join string to join prevnext cache on the dedupe table.
    */
   public static function getJoinOnDedupeTable() {
-    return "
+    return '
       LEFT JOIN civicrm_dedupe_exception de
         ON (
           pn.entity_id1 = de.contact_id1
           AND pn.entity_id2 = de.contact_id2 )
-       ";
+       ';
   }
 
   /**
@@ -756,7 +761,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    * @return string
    */
   protected static function getWhereString($isSelected) {
-    $where = "de.id IS NULL";
+    $where = 'de.id IS NULL';
     if ($isSelected === 0 || $isSelected === 1) {
       $where .= " AND pn.is_selected = {$isSelected}";
     }
@@ -768,6 +773,8 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    *
    * @param string $cacheKeyString
    * @param array $result
+   *
+   * @throws \CiviCRM_API3_Exception
    */
   public static function updateMergeStats($cacheKeyString, $result = []) {
     // gather latest stats
@@ -991,7 +998,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    * @return array
    */
   public static function getLocationBlockInfo() {
-    $locationBlocks = [
+    return [
       'address' => [
         'label' => 'Address',
         'displayField' => 'display',
@@ -1028,7 +1035,6 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
         'hasType' => 'website_type_id',
       ],
     ];
-    return $locationBlocks;
   }
 
   /**
@@ -1092,7 +1098,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
     $rows = $elements = $relTableElements = $migrationInfo = [];
 
     foreach ($compareFields['contact'] as $field) {
-      if ($field == 'contact_sub_type') {
+      if ($field === 'contact_sub_type') {
         // CRM-15681 don't display sub-types in UI
         continue;
       }
@@ -1156,7 +1162,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
         $relTables[$name]['main_url'] = str_replace('%ufid', CRM_Core_BAO_UFMatch::getUFId($otherId), $relTables[$name]['url']);
         $relTables[$name]['other_url'] = str_replace('%ufid', CRM_Core_BAO_UFMatch::getUFId($otherId), $relTables[$name]['url']);
       }
-      if ($name == 'rel_table_memberships') {
+      if ($name === 'rel_table_memberships') {
         //Enable 'add new' checkbox if main contact does not contain any membership similar to duplicate contact.
         $attributes = ['checked' => 'checked'];
         $otherContactMemberships = CRM_Member_BAO_Membership::getAllContactMembership($otherId);
@@ -1283,14 +1289,14 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
     self::swapOutFieldsAffectedByQFZeroBug($migrationInfo);
     foreach ($migrationInfo as $key => $value) {
 
-      if (substr($key, 0, 12) == 'move_custom_' && $value != NULL) {
+      if (substr($key, 0, 12) === 'move_custom_' && $value != NULL) {
         $submitted[substr($key, 5)] = $value;
         $submittedCustomFields[] = substr($key, 12);
       }
       elseif (in_array(substr($key, 5), CRM_Dedupe_Merger::getContactFields()) && $value != NULL) {
         $submitted[substr($key, 5)] = $value;
       }
-      elseif (substr($key, 0, 15) == 'move_rel_table_' and $value == '1') {
+      elseif (substr($key, 0, 15) === 'move_rel_table_' and $value == '1') {
         $moveTables = array_merge($moveTables, $relTables[substr($key, 5)]['tables']);
         if (array_key_exists('operation', $migrationInfo)) {
           foreach ($relTables[substr($key, 5)]['tables'] as $table) {
@@ -1300,7 +1306,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
           }
         }
       }
-      elseif (substr($key, 0, 15) == 'move_rel_table_' and $value == '0') {
+      elseif (substr($key, 0, 15) === 'move_rel_table_' and $value == '0') {
         $removeTables = array_merge($moveTables, $relTables[substr($key, 5)]['tables']);
       }
     }
@@ -1477,6 +1483,9 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    * add/update membership(s) to related contacts
    *
    * @param int $contactID
+   *
+   * @throws \CRM_Core_Exception
+   * @throws \CiviCRM_API3_Exception
    */
   public static function addMembershipToRealtedContacts($contactID) {
     $dao = new CRM_Member_DAO_Membership();
@@ -1697,7 +1706,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    */
   public static function mergeLocations($mainId, $otherId, $migrationInfo) {
     foreach ($migrationInfo as $key => $value) {
-      $isLocationField = (substr($key, 0, 14) == 'move_location_' and $value != NULL);
+      $isLocationField = (substr($key, 0, 14) === 'move_location_' and $value != NULL);
       if (!$isLocationField) {
         continue;
       }
@@ -1709,7 +1718,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
       // Ignore operation for websites
       // @todo Tidy this up
       $operation = 0;
-      if ($fieldName != 'website') {
+      if ($fieldName !== 'website') {
         $operation = $migrationInfo['location_blocks'][$fieldName][$fieldCount]['operation'] ?? NULL;
       }
       // default operation is overwrite.
@@ -1888,7 +1897,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
   protected static function swapOutFieldsAffectedByQFZeroBug(&$migrationInfo) {
     $qfZeroBug = 'e8cddb72-a257-11dc-b9cc-0016d3330ee9';
     foreach ($migrationInfo as $key => &$value) {
-      if ($value == $qfZeroBug) {
+      if ($value === $qfZeroBug) {
         $value = '0';
       }
     }
@@ -1904,17 +1913,17 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    * Goal is to move all custom field handling into 'move' functions on the various BAO
    * with an underlying DAO function. For custom fields it has been started on the BAO.
    *
-   * @param $mainId
-   * @param $key
-   * @param $cFields
-   * @param $submitted
-   * @param $value
+   * @param int $mainId
+   * @param string $key
+   * @param array $cFields
+   * @param array $submitted
+   * @param mixed $value
    *
    * @return array
    * @throws \CRM_Core_Exception
    */
   protected static function processCustomFields($mainId, $key, $cFields, $submitted, $value) {
-    if (substr($key, 0, 7) == 'custom_') {
+    if (substr($key, 0, 7) === 'custom_') {
       $fid = (int) substr($key, 7);
       if (empty($cFields[$fid])) {
         return [$cFields, $submitted];
@@ -1944,7 +1953,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
           $existingValue = explode(CRM_Core_DAO::VALUE_SEPARATOR, $customfieldValues[$key]);
           if (is_array($existingValue) && !empty($existingValue)) {
             $mergeValue = $submittedCustomFields = [];
-            if ($value == 'null') {
+            if ($value === 'null') {
               // CRM-19074 if someone has deliberately chosen to overwrite with 'null', respect it.
               $submitted[$key] = $value;
             }
@@ -2067,7 +2076,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
         continue;
       }
       elseif ((in_array(substr($key, 5), CRM_Dedupe_Merger::getContactFields()) or
-          substr($key, 0, 12) == 'move_custom_'
+          substr($key, 0, 12) === 'move_custom_'
         ) and $val != NULL
       ) {
         // Rule: If both main-contact, and other-contact have a field with a
@@ -2079,7 +2088,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
             // leaving that investigation as a @todo - until tests can be written.
             // Note the handling of this has test coverage - although the data-typing
             // of '0' feels flakey we have insurance.
-            || ($migrationInfo['rows'][$key]['main'] === '0' && substr($key, 0, 12) == 'move_custom_')
+            || ($migrationInfo['rows'][$key]['main'] === '0' && substr($key, 0, 12) === 'move_custom_')
           )
           && $migrationInfo['rows'][$key]['main'] != $migrationInfo['rows'][$key]['other']
         ) {
@@ -2089,7 +2098,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
           $conflicts[$key] = NULL;
         }
       }
-      elseif (substr($key, 0, 14) == 'move_location_' and $val != NULL) {
+      elseif (substr($key, 0, 14) === 'move_location_' and $val != NULL) {
         $locField = explode('_', $key);
         $fieldName = $locField[2];
         $fieldCount = $locField[3];
index 64b2f806ce08bdc0ec5bc9779e6c3e0355122611..d05b01176df3a5708800f61ecae73c57e1d70969 100644 (file)
@@ -1496,7 +1496,7 @@ UPDATE  civicrm_participant
         ];
 
         if (is_a(CRM_Activity_BAO_Activity::create($activityParams), 'CRM_Core_Error')) {
-          CRM_Core_Error::fatal('Failed creating Activity for expiration mail');
+          throw new CRM_Core_Exception('Failed creating Activity for expiration mail');
         }
       }
     }
index 106b2bbae3446b11c30da981080cca1c5302362c..754e146e4a8a179261494a6750ee9e9c5e639164 100644 (file)
@@ -104,7 +104,7 @@ class CRM_Event_BAO_ParticipantPayment extends CRM_Event_DAO_ParticipantPayment
     }
 
     if (!$valid) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('Cannot delete participant payment');
     }
 
     if ($participantPayment->find(TRUE)) {
index 1acabfe0a3bd7f167ba2f94711b32eaa0b574f5d..11111711547e4daf26aebaec86bee27a1ccecb6f 100644 (file)
@@ -70,7 +70,7 @@ class CRM_Event_Cart_BAO_Cart extends CRM_Event_Cart_DAO_Cart {
 
     if (is_a($cart, 'CRM_Core_Error')) {
       $transaction->rollback();
-      CRM_Core_Error::fatal(ts('There was an error creating an event cart'));
+      throw new CRM_Core_Exception(ts('There was an error creating an event cart'));
     }
 
     $transaction->commit();
@@ -324,7 +324,7 @@ class CRM_Event_Cart_BAO_Cart extends CRM_Event_Cart_DAO_Cart {
   public static function retrieve(&$params, &$values) {
     $cart = self::find_by_params($params);
     if ($cart === FALSE) {
-      CRM_Core_Error::fatal(ts('Could not find cart matching %1', [1 => var_export($params, TRUE)]));
+      throw new CRM_Core_Exception(ts('Could not find cart matching %1', [1 => var_export($params, TRUE)]));
     }
     CRM_Core_DAO::storeValues($cart, $values);
     return $values;
index 7dd79ec72523cdc4d11cc1599d1d6dfb737e9bdd..abb9bb4ce6aefbd1fb179dd905133c07d44c9583 100644 (file)
@@ -40,7 +40,7 @@ class CRM_Event_Cart_BAO_EventInCart extends CRM_Event_Cart_DAO_EventInCart impl
 
     if (is_a($event_in_cart, 'CRM_Core_Error')) {
       $transaction->rollback();
-      CRM_Core_Error::fatal(ts('There was an error creating an event_in_cart'));
+      throw new CRM_Core_Exception(ts('There was an error creating an event_in_cart'));
     }
 
     $transaction->commit();
index 23b95293acccfe619b3ba138d7e7dc655cc20d1d..4ccc310b7f0079fa79cb2573c0ec0510eb817bc7 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Cart/Cart.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:57220a9c79c8b801d23ed0c31cb18a63)
+ * (GenCodeChecksum:ff4dc6dfd849ffb9b89627be860bad2b)
  */
 
 /**
@@ -55,6 +55,13 @@ class CRM_Event_Cart_DAO_Cart extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Carts');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 8afcdcbdf8a2a84da29cd69bca0c388b7780b7a8..72128e08e257a6f5503e969e466ce79aec2af34c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Cart/EventInCart.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a3cddf6fa66ed1294fb6a2736449ac3f)
+ * (GenCodeChecksum:08059cba106ef30473329a642a4edc84)
  */
 
 /**
@@ -57,6 +57,13 @@ class CRM_Event_Cart_DAO_EventInCart extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Event In Carts');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 53ce1f60c474aea014097c0805d0c416c1f11ff4..a4713572e56ecbc04a954eb3a6620bf7c64c1863 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Event.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:700e3666bce40a962c06c970790fb599)
+ * (GenCodeChecksum:2393c957679f1dc404df661e3575b4c5)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_event';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-calendar';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -517,6 +524,13 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Events');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
@@ -631,7 +645,7 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           'title' => ts('Participant Listing'),
           'description' => ts('Should we expose the participant list? Implicit FK to civicrm_option_value where option_group = participant_listing.'),
           'where' => 'civicrm_event.participant_listing_id',
-          'default' => '0',
+          'default' => 'NULL',
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
index 2bf5d85243ef29b0bc2842109d3944f9fde9ab2b..19117a06468de4dd9ce1b60a87fd68ecd30be17d 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Participant.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:bc3da50711791a21ca2aff845977efbb)
+ * (GenCodeChecksum:b69fa86841b69f5f447c8dbd1b135437)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_participant';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-ticket';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -166,6 +173,13 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Participants');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 9b7c5a4867e5de4fc79c2927c69505c79a01aa42..6150463c466a61e02c71fb59bed4a60f33498a04 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/ParticipantPayment.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2bf1d538625b84200c82b914ea043e90)
+ * (GenCodeChecksum:f368164249ac0b81ebd1920d0976ddf2)
  */
 
 /**
@@ -57,6 +57,13 @@ class CRM_Event_DAO_ParticipantPayment extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Participant Payments');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 85cc8e419fc25832924b6dc8efa8438e3975abb5..3e667486b6d1c65ab4b0c6a5a1043972fed5361c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/ParticipantStatusType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:d87b49cf752d4ffb3ff346c30506e170)
+ * (GenCodeChecksum:169aa98c17692b3d292aba16450fe51a)
  */
 
 /**
@@ -99,6 +99,13 @@ class CRM_Event_DAO_ParticipantStatusType extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Participant Status Types');
+  }
+
   /**
    * Returns all the column names of this table
    *
index c7fb5591e1a2678c05ecf6d7564ed42c11a4206a..3f1183d606b780ff27d970e4dc12a63e29f7d388 100644 (file)
@@ -155,7 +155,7 @@ class CRM_Event_Form_ManageEvent_Repeat extends CRM_Event_Form_ManageEvent {
       CRM_Utils_System::redirect(CRM_Utils_System::url($url, $urlParams));
     }
     else {
-      CRM_Core_Error::fatal("Could not find Event ID");
+      CRM_Core_Error::statusBounce("Could not find Event ID");
     }
     parent::endPostProcess();
   }
index 6b4c83d199510f27b32804144b6a445c8cdf3d5a..6c8b5cbbc2263f7dd47a747450530ae862120d24 100644 (file)
@@ -113,7 +113,7 @@ WHERE      e.id = %1
       ];
       $dao = CRM_Core_DAO::executeQuery($sql, $params);
       if (!$dao->fetch()) {
-        CRM_Core_Error::fatal();
+        throw new CRM_Core_Exception('Unable to determine Event information');;
       }
       if (!$dao->is_location) {
         $tabs['location']['valid'] = FALSE;
index ee409a53e3ce994436cb8181c60d818bac9a5bce..5bf815072a32b347bc212a9950e4e8f6de128fb4 100644 (file)
@@ -1477,13 +1477,9 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment
           $this->_bltID
         ));
 
-        $date = CRM_Utils_Date::format($params['credit_card_exp_date']);
-        $date = CRM_Utils_Date::mysqlToIso($date);
-        $this->assign('credit_card_exp_date', $date);
-        $this->assign('credit_card_number',
-          CRM_Utils_System::mungeCreditCard($params['credit_card_number'])
-        );
-        $this->assign('credit_card_type', $params['credit_card_type']);
+        $valuesForForm = CRM_Contribute_Form_AbstractEditPayment::formatCreditCardDetails($params);
+        $this->assignVariables($valuesForForm, ['credit_card_exp_date', 'credit_card_type', 'credit_card_number']);
+
         // The concept of contributeMode is deprecated.
         $this->assign('contributeMode', 'direct');
         $this->assign('isAmountzero', 0);
index 8e69eb560e4f8a535aae9225061464d44bc9c021..97ecf1f6f8bf0ffb02cb650ed2064801d8da75b0 100644 (file)
@@ -78,14 +78,6 @@ class CRM_Event_Form_Registration extends CRM_Core_Form {
    */
   public $_additionalParticipantIds;
 
-  /**
-   * The mode that we are in.
-   *
-   * @var string
-   * @protect
-   */
-  public $_mode;
-
   /**
    * The values for the contribution db object.
    *
@@ -182,12 +174,9 @@ class CRM_Event_Form_Registration extends CRM_Core_Form {
   public function preProcess() {
     $this->_eventId = CRM_Utils_Request::retrieve('id', 'Positive', $this, TRUE);
     $this->_action = CRM_Utils_Request::retrieve('action', 'Alphanumeric', $this, FALSE, CRM_Core_Action::ADD);
-
     //CRM-4320
     $this->_participantId = CRM_Utils_Request::retrieve('participantId', 'Positive', $this);
-
-    // current mode
-    $this->_mode = ($this->_action == 1024) ? 'test' : 'live';
+    $this->setPaymentMode();
 
     $this->_values = $this->get('values');
     $this->_fields = $this->get('fields');
@@ -666,7 +655,7 @@ class CRM_Event_Form_Registration extends CRM_Core_Form {
     }
     if ($isPaidEvent && empty($form->_values['fee'])) {
       if (CRM_Utils_System::getClassName($form) != 'CRM_Event_Form_Participant') {
-        CRM_Core_Error::fatal(ts('No Fee Level(s) or Price Set is configured for this event.<br />Click <a href=\'%1\'>CiviEvent >> Manage Event >> Configure >> Event Fees</a> to configure the Fee Level(s) or Price Set for this event.', array(1 => CRM_Utils_System::url('civicrm/event/manage/fee', 'reset=1&action=update&id=' . $form->_eventId))));
+        CRM_Core_Error::statusBounce(ts('No Fee Level(s) or Price Set is configured for this event.<br />Click <a href=\'%1\'>CiviEvent >> Manage Event >> Configure >> Event Fees</a> to configure the Fee Level(s) or Price Set for this event.', array(1 => CRM_Utils_System::url('civicrm/event/manage/fee', 'reset=1&action=update&id=' . $form->_eventId))));
       }
     }
   }
index a2bc57ef5f7218ca9e58135637a9cca5c4942af6..80e3f7c72f951260a7c18c77f41c358d62bf9383 100644 (file)
@@ -1157,7 +1157,7 @@ class CRM_Event_Form_Registration_Register extends CRM_Event_Form_Registration {
     // CRM-3907, skip check for preview registrations
     // CRM-4320 participant need to walk wizard
     if (
-      ($form->_mode == 'test' || $form->_allowConfirmation)
+      ($form->getPaymentMode() === 'test' || $form->_allowConfirmation)
     ) {
       return FALSE;
     }
index c02649e9b41985e7abb93e2d5eb74bac1a314bc7..5d72f2aaa34e02be3e7fc568179372c36fdb8f42 100644 (file)
@@ -245,10 +245,7 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
         $email = $fieldvalue;
       }
     }
-    if (!$email && !(CRM_Utils_Array::value('first_name', $fields) &&
-      !empty($fields['last_name']))) {
-      $defaults = $params = ['id' => $eventId];
-      CRM_Event_BAO_Event::retrieve($params, $defaults);
+    if (empty($email) && (empty($fields['first_name']) || empty($fields['last_name']))) {
       $message = ts("Mandatory fields (first name and last name, OR email address) are missing from this form.");
       $errors['_qf_default'] = $message;
     }
@@ -322,7 +319,7 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
       }
     }
 
-    $this->transferParticipantRegistration($contact_id, $this->_from_participant_id, $this->_event_id);
+    $this->transferParticipantRegistration($contact_id, $this->_from_participant_id);
 
     $contact_details = CRM_Contact_BAO_Contact::getContactDetails($contact_id);
     $display_name = current($contact_details);
@@ -500,50 +497,48 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
   }
 
   /**
-   *  Move Participant registration to new contact.
+   * Move Participant registration to new contact.
    *
    * @param int $toContactID
    * @param int $fromParticipantID
-   * @param int $eventID
    *
    * @throws \CRM_Core_Exception
    * @throws \CiviCRM_API3_Exception
    */
-  public function transferParticipantRegistration($toContactID, $fromParticipantID, $eventID) {
-    $query = 'select role_id, source, fee_level, is_test, is_pay_later, fee_amount, discount_id, fee_currency,campaign_id, discount_amount from civicrm_participant where id = ' . $fromParticipantID;
-    $dao = CRM_Core_DAO::executeQuery($query);
-    $value_to = [];
-    while ($dao->fetch()) {
-      $value_to['role_id'] = $dao->role_id;
-      $value_to['source'] = $dao->source;
-      $value_to['fee_level'] = $dao->fee_level;
-      $value_to['is_test'] = $dao->is_test;
-      $value_to['is_pay_later'] = $dao->is_pay_later;
-      $value_to['fee_amount'] = $dao->fee_amount;
-    }
-    $value_to['contact_id'] = $toContactID;
-    $value_to['event_id'] = $eventID;
-    $value_to['status_id'] = CRM_Core_PseudoConstant::getKey(
-      'CRM_Event_BAO_Participant',
-      'status_id',
-      'Registered'
-    );
-    $value_to['register_date'] = date("Y-m-d");
+  public function transferParticipantRegistration($toContactID, $fromParticipantID) {
+    $toParticipantValues = \Civi\Api4\Participant::get()
+      ->addWhere('id', '=', $fromParticipantID)
+      ->execute()
+      ->first();
+
+    unset($toParticipantValues['id']);
+    $toParticipantValues['contact_id'] = $toContactID;
+    $toParticipantValues['status_id'] = CRM_Core_PseudoConstant::getKey('CRM_Event_BAO_Participant', 'status_id', 'Registered');
+    $toParticipantValues['register_date'] = date("Y-m-d");
     //first create the new participant row -don't set registered_by yet or email won't be sent
-    $participant = CRM_Event_BAO_Participant::create($value_to);
+    $participant = CRM_Event_BAO_Participant::create($toParticipantValues);
+
     //send a confirmation email to the new participant
     $this->participantTransfer($participant);
     //now update registered_by_id
     $query = "UPDATE civicrm_participant cp SET cp.registered_by_id = %1 WHERE  cp.id = ({$participant->id})";
     $params = [1 => [$fromParticipantID, 'Integer']];
-    $dao = CRM_Core_DAO::executeQuery($query, $params);
+    CRM_Core_DAO::executeQuery($query, $params);
     //copy line items to new participant
-    $line_items = CRM_Price_BAO_LineItem::getLineItems($this->_from_participant_id);
-    foreach ($line_items as $item) {
+    $line_items = CRM_Price_BAO_LineItem::getLineItems($fromParticipantID);
+    foreach ($line_items as $id => $item) {
+      //Remove contribution id from older participant line item.
+      CRM_Core_DAO::singleValueQuery("UPDATE civicrm_line_item SET contribution_id = NULL WHERE id = %1", [1 => [$id, 'Integer']]);
       $item['entity_id'] = $participant->id;
       $item['id'] = NULL;
       $item['entity_table'] = "civicrm_participant";
-      $new_item = CRM_Price_BAO_LineItem::create($item);
+      $tolineItem = CRM_Price_BAO_LineItem::create($item);
+
+      //Update Financial Item for previous line item row.
+      $prevFinancialItem = CRM_Financial_BAO_FinancialItem::getPreviousFinancialItem($id);
+      $prevFinancialItem['contact_id'] = $toContactID;
+      $prevFinancialItem['entity_id'] = $tolineItem->id;
+      CRM_Financial_BAO_FinancialItem::create($prevFinancialItem);
     }
     //now cancel the from participant record, leaving the original line-item(s)
     $value_from = [];
index b168d2f9fec6df44e964e79eccfa18cc370aaf7c..c1ec6a7989631010b30cb138f123719f31d63d09 100644 (file)
@@ -70,7 +70,7 @@ abstract class CRM_Event_Import_Parser extends CRM_Import_Parser {
     $onDuplicate = self::DUPLICATE_SKIP
   ) {
     if (!is_array($fileName)) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('Unable to determine import file');
     }
     $fileName = $fileName['name'];
 
index a9f718ca61df0d0b740f3e1cda3ad1644d3ecb42..6c5ddf07c5e22e98e551402c373208ebb25473c4 100644 (file)
@@ -66,7 +66,7 @@ class CRM_Event_Page_ParticipantListing extends CRM_Core_Page {
       )
     );
     if ($className == 'CRM_Event_Page_ParticipantListing') {
-      CRM_Core_Error::fatal(ts("Participant listing code file cannot be '%1'",
+      CRM_Core_Error::statusBounce(ts("Participant listing code file cannot be '%1'",
         array(1 => $className)
       ));
     }
@@ -77,7 +77,7 @@ class CRM_Event_Page_ParticipantListing extends CRM_Core_Page {
       ) . '.php';
     $error = include_once $classFile;
     if ($error == FALSE) {
-      CRM_Core_Error::fatal('Participant listing code file: ' . $classFile . ' does not exist. Please verify your custom particpant listing settings in CiviCRM administrative panel.');
+      CRM_Core_Error::statusBounce('Participant listing code file: ' . $classFile . ' does not exist. Please verify your custom particpant listing settings in CiviCRM administrative panel.');
     }
 
     $participantListingClass = new $className();
index 5ddf6cb6798982e5e41cc8d4a47462ecfe3e6ae7..83e2fa5ba2c1ff95472ead42199669bbe68dab58 100644 (file)
@@ -25,6 +25,30 @@ class CRM_Export_BAO_Export {
   // CRM-7675
   const EXPORT_ROW_COUNT = 100000;
 
+  /**
+   * Returns a list of exportable entities and their associated component.
+   *
+   * Note: Some entities like Contact & Activity are not in components, so
+   * the export form seems to fudge things and accept the entity name instead of
+   * component name in those cases.
+   *
+   * TODO: Hardcoded list bad. Needs to support extension export pages.
+   *
+   * @var string[]
+   */
+  public static function getComponents() {
+    return [
+      'Contact' => 'Contact',
+      'Contribution' => 'Contribute',
+      'Membership' => 'Member',
+      'Participant' => 'Event',
+      'Pledge' => 'Pledge',
+      'Case' => 'Case',
+      'Grant' => 'Grant',
+      'Activity' => 'Activity',
+    ];
+  }
+
   /**
    * Get the list the export fields.
    *
index 100b8892edcd49c072e36022d48312f1718b5399..03e64b31b2a0804ea6f26db1eae56ed4363051a5 100644 (file)
@@ -749,7 +749,7 @@ class CRM_Export_BAO_ExportProcessor {
    * @return string
    */
   public function getHeaderForRow($field) {
-    if (substr($field, -11) == 'campaign_id') {
+    if (substr($field, -11) === 'campaign_id') {
       // @todo - set this correctly in the xml rather than here.
       // This will require a generalised handling cleanup
       return ts('Campaign ID');
@@ -1109,9 +1109,16 @@ class CRM_Export_BAO_ExportProcessor {
     ) {
       //check for custom data
       if ($cfID = CRM_Core_BAO_CustomField::getKeyID($field)) {
+        $html_type = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomField', $cfID, 'html_type');
+
+        //need to calculate the link to the file for file custom data
+        if ($html_type === 'File' && $fieldValue) {
+          $result = civicrm_api3('attachment', 'get', ['return' => ['url'], 'id' => $fieldValue]);
+          return $result['values'][$result['id']]['url'];
+        }
+
         return CRM_Core_BAO_CustomField::displayValue($fieldValue, $cfID);
       }
-
       elseif (in_array($field, [
         'email_greeting',
         'postal_greeting',
index c2af8a5879edf292be176b8d43e91f6f222825fa..f4bb8ca534f640fb2ed049b1ad5c8d9b751287f4 100644 (file)
@@ -49,6 +49,8 @@ class CRM_Export_Controller_Standalone extends CRM_Core_Controller {
 
     // add all the actions
     $this->addActions();
+    $dao = CRM_Core_DAO_AllCoreTables::getFullName($entity);
+    CRM_Utils_System::setTitle(ts('Export %1', [1 => $dao::getEntityTitle()]));
   }
 
   /**
@@ -67,7 +69,7 @@ class CRM_Export_Controller_Standalone extends CRM_Core_Controller {
       }
     }
     // Set the "task" selector value to Export
-    $className = 'CRM_' . $this->get('entity') . '_Task';
+    $className = 'CRM_' . $this->getComponent($this->get('entity')) . '_Task';
     foreach ($className::tasks() as $taskId => $task) {
       $taskForm = (array) $task['class'];
       if ($taskForm[0] == 'CRM_Export_Form_Select') {
@@ -77,4 +79,23 @@ class CRM_Export_Controller_Standalone extends CRM_Core_Controller {
     return $values;
   }
 
+  /**
+   * Get the relevant entity name.
+   *
+   * @return string
+   */
+  public function getComponent() {
+    $components = CRM_Export_BAO_Export::getComponents();
+    return $components[$this->getEntity()];
+  }
+
+  /**
+   * Get the name used to construct the class.
+   *
+   * @return mixed
+   */
+  public function getEntity() {
+    return $this->get('entity');
+  }
+
 }
index af4b2bba7f5ed8c3b60caf2aab65deb646aea5d1..04ac33617a642ec49dcabbcd458829a673fecf81 100644 (file)
@@ -79,7 +79,7 @@ class CRM_Export_Form_Select extends CRM_Core_Form_Task {
     $this->_componentClause = NULL;
 
     // we need to determine component export
-    $components = ['Contact', 'Contribute', 'Member', 'Event', 'Pledge', 'Case', 'Grant', 'Activity'];
+    $components = CRM_Export_BAO_Export::getComponents();
 
     // FIXME: This should use a modified version of CRM_Contact_Form_Search::getModeValue but it doesn't have all the contexts
     // FIXME: Or better still, use CRM_Core_DAO_AllCoreTables::getBriefName($daoName) to get the $entityShortName
@@ -120,16 +120,8 @@ class CRM_Export_Form_Select extends CRM_Core_Form_Task {
         break;
 
       default:
-        // FIXME: Code cleanup, we may not need to do this $componentName code here.
-        $formName = CRM_Utils_System::getClassName($this->controller->getStateMachine());
-        $componentName = explode('_', $formName);
-        if ($formName == 'CRM_Export_StateMachine_Standalone') {
-          $componentName = ['CRM', $this->controller->get('entity')];
-        }
-        // Contact
-        $entityShortname = $componentName[1];
-        $entityDAOName = $entityShortname;
-        break;
+        $entityShortname = $this->getComponentName();
+        $entityDAOName = $this->controller->get('entity') ?? $entityShortname;
     }
 
     if (in_array($entityShortname, $components)) {
@@ -498,4 +490,20 @@ FROM   {$this->_componentTable}
     return (int) ($this->queryMode ?: $this->controller->get('component_mode'));
   }
 
+  /**
+   * Get the name of the component.
+   *
+   * @return array
+   */
+  protected function getComponentName(): string {
+    // CRM_Export_Controller_Standalone has this method
+    if (method_exists($this->controller, 'getComponent')) {
+      return $this->controller->getComponent();
+    }
+    // For others, just guess based on the name of the controller
+    $formName = CRM_Utils_System::getClassName($this->controller->getStateMachine());
+    $componentName = explode('_', $formName);
+    return $componentName[1];
+  }
+
 }
index 9e90ed8e6e6c5a68a4b5800c8cc28499a0cc32d9..0919690a6a41c52669ef5f60cdcd633062e78b06 100644 (file)
@@ -109,7 +109,7 @@ class CRM_Extension_Manager_Payment extends CRM_Extension_Manager_Base {
   public function onPreUninstall(CRM_Extension_Info $info) {
     $paymentProcessorTypes = $this->_getAllPaymentProcessorTypes('class_name');
     if (!array_key_exists($info->key, $paymentProcessorTypes)) {
-      CRM_Core_Error::fatal(ts('This payment processor type is not registered.'));
+      throw new CRM_Core_Exception(ts('This payment processor type is not registered.'));
     }
 
     $dao = new CRM_Financial_DAO_PaymentProcessor();
@@ -229,7 +229,7 @@ class CRM_Extension_Manager_Payment extends CRM_Extension_Manager_Base {
     }
 
     if (empty($class_name)) {
-      CRM_Core_Error::fatal("Unable to find payment processor in " . __CLASS__ . '::' . __METHOD__);
+      throw new CRM_Core_Exception('Unable to find payment processor in ' . __CLASS__ . '::' . __METHOD__);
     }
 
     // In the case of uninstall, check for instances of PP first.
index d79e2472ae5ff98c8710f4efe6a650ace7cb93df..d498711f528b4c6d0da5c02e861b6be2a7de52d1 100644 (file)
@@ -69,12 +69,12 @@ class CRM_Extension_Manager_Search extends CRM_Extension_Manager_Base {
   public function onPreUninstall(CRM_Extension_Info $info) {
     $customSearchesByName = $this->getCustomSearchesByName();
     if (!array_key_exists($info->key, $customSearchesByName)) {
-      CRM_Core_Error::fatal('This custom search is not registered.');
+      throw new CRM_Core_Exception('This custom search is not registered.');
     }
 
     $cs = $this->getCustomSearchesById();
     $id = $cs[$customSearchesByName[$info->key]];
-    $optionValue = CRM_Core_BAO_OptionValue::del($id);
+    CRM_Core_BAO_OptionValue::del($id);
 
     return TRUE;
   }
index 65c20c02210574aa36caace7f623edf9c4ae6933..dd4d85dbe627bb167bef09b5ce73974b63a2741b 100644 (file)
@@ -422,7 +422,7 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType {
     foreach ($lineItems as $items) {
       if (!CRM_Core_Permission::check($op . ' contributions of type ' . CRM_Contribute_PseudoConstant::financialType($items['financial_type_id']))) {
         if ($force) {
-          CRM_Core_Error::fatal(ts('You do not have permission to access this page.'));
+          throw new CRM_Core_Exception(ts('You do not have permission to access this page.'));
           break;
         }
         $flag = FALSE;
index 05de84f0b77fd063cfd34a55637643643994203f..1101aab35ed3d9242f0cdaf1f536e5eebf9397a9 100644 (file)
@@ -141,6 +141,7 @@ class CRM_Financial_BAO_Payment {
           'id' => $contribution['id'],
           'is_post_payment_create' => TRUE,
           'is_email_receipt' => $params['is_send_contribution_notification'],
+          'trxn_date' => $params['trxn_date'],
         ]);
         // Get the trxn
         $trxnId = CRM_Core_BAO_FinancialTrxn::getFinancialTrxnId($contribution['id'], 'DESC');
index 363828f31a76c00e5cccfd25461cc12b733f17af..ed37743c5ab4fb746e0b9e90a52ba28fc4208435 100644 (file)
@@ -49,7 +49,7 @@ class CRM_Financial_BAO_PaymentProcessor extends CRM_Financial_DAO_PaymentProces
       $ppTypeDAO = new CRM_Financial_DAO_PaymentProcessorType();
       $ppTypeDAO->id = $params['payment_processor_type_id'];
       if (!$ppTypeDAO->find(TRUE)) {
-        CRM_Core_Error::fatal(ts('Could not find payment processor meta information'));
+        throw new CRM_Core_Exception(ts('Could not find payment processor meta information'));
       }
 
       // also copy meta fields from the info DAO
@@ -194,7 +194,7 @@ class CRM_Financial_BAO_PaymentProcessor extends CRM_Financial_DAO_PaymentProces
    */
   public static function del($paymentProcessorID) {
     if (!$paymentProcessorID) {
-      CRM_Core_Error::fatal(ts('Invalid value passed to delete function.'));
+      throw new CRM_Core_Exception(ts('Invalid value passed to delete function.'));
     }
 
     $dao = new CRM_Financial_DAO_PaymentProcessor();
index e64fb29713d1a2f6adc0359301550259544bfbc6..c0f49c2b10bfe17b862267e198c496bdba872347 100644 (file)
@@ -141,7 +141,7 @@ class CRM_Financial_BAO_PaymentProcessorType extends CRM_Financial_DAO_PaymentPr
       $ppByName = self::getAllPaymentProcessorTypes('name');
       if (array_key_exists($paymentProcessorType->name, $ppByName)) {
         if ($ppByName[$paymentProcessorType->name] != $paymentProcessorType->id) {
-          CRM_Core_Error::fatal('This payment processor type already exists.');
+          throw new CRM_Core_Exception('This payment processor type already exists.');
         }
       }
     }
index 5d087d557132344a866bf4b220eba1b8da6df47e..e144840e42d26560ba8289b64c007bb6679079fd 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/Currency.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:deb271a4217800d258244eab0eec2af5)
+ * (GenCodeChecksum:37f7754e31fe685b29f1e04a13264253)
  */
 
 /**
@@ -71,6 +71,13 @@ class CRM_Financial_DAO_Currency extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Currencies');
+  }
+
   /**
    * Returns all the column names of this table
    *
index d0316067bb7170ae2f27bf2a2a2248a6d5851116..6b52e2118821ee7fe74acdb3277454c334fff2c8 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/EntityFinancialAccount.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:677acfd2e16083ab88abbeb3051dd616)
+ * (GenCodeChecksum:52f632fb4083dc1e94f1d252a4eeec99)
  */
 
 /**
@@ -71,6 +71,13 @@ class CRM_Financial_DAO_EntityFinancialAccount extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Entity Financial Accounts');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 8a57c1b2abeffeef0950f5f609c63d1cece54b9a..2fa8c6eda3b7b1d96f85e43e8c2b825deb891619 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/EntityFinancialTrxn.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a2a7ed7efce5731cde1127d2ca874fb6)
+ * (GenCodeChecksum:2654d7bdf6a8a80e13d17a6bb88e2a1a)
  */
 
 /**
@@ -67,6 +67,13 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Entity Financial Trxns');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index af9a1c8713ea7df72a282dca9e4ab712aa16456e..8e84e7f5945e9b6c49a3405d217bb7046b8f791b 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialAccount.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ccca91d77f1c8f2639bf0d81bd484b9c)
+ * (GenCodeChecksum:50acc3ed98cf98d333d2fa80d7089577)
  */
 
 /**
@@ -141,6 +141,13 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Financial Accounts');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 728acc9447b268375bdecd8a3cc562e3ec7f4077..21c18d03f97a81a04799d7b61fee481705492e09 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialItem.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:955fb837c150c2f16f165f8a03610769)
+ * (GenCodeChecksum:f0c54d50618e54bd122e14fab50402be)
  */
 
 /**
@@ -111,6 +111,13 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Financial Items');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 4758ffce2f78d05a86fc66df7a9e6b9aa9d0c161..92382b6cbbb4aa032c99c35a2e962e771bf3653c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialTrxn.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5b87e37bc3aa9d445e74d1f5d38bdb61)
+ * (GenCodeChecksum:fc57b040c59579f712c08578967559e5)
  */
 
 /**
@@ -160,6 +160,13 @@ class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Financial Trxns');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index d6a2a5fdbd613e545474a0a5c5406fcf0c36fe41..b7a6784d240006bd64b1cd7e3ed9f29a9b96d5a8 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2b85a903889dbaebc8fd1dc4994ef11d)
+ * (GenCodeChecksum:9ee373312e38ce1a53603685cb99724c)
  */
 
 /**
@@ -78,6 +78,13 @@ class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Financial Types');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 5fda60987d98eb0efde3091f05c0c27d73307210..efc354510fcdcdf229fe136149f32d3277912554 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/PaymentProcessor.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cf330d3d3e18960b1e32a3001d8cd038)
+ * (GenCodeChecksum:5ed40da0dfabffcfec0b61650d63dd27)
  */
 
 /**
@@ -177,6 +177,13 @@ class CRM_Financial_DAO_PaymentProcessor extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Payment Processors');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index fc9627c090651b730d78867fd1414f6f86f2a29b..c58f71dd52d8b79ed101fd9ef3c05602c91e8aed 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/PaymentProcessorType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1133a3c9eb58738c315a8509fea39d72)
+ * (GenCodeChecksum:5df657121babe9100c41c72eecb72181)
  */
 
 /**
@@ -171,6 +171,13 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Payment Processor Types');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 6042a126adee035e4982b680a466f38df2bacddb..61eed66d5c4926796789764588f3fdad23ba7dc5 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/PaymentToken.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:13544efb93b23abff9ec2bf420fcd15a)
+ * (GenCodeChecksum:720f0e7cb082e98a9ec58b94de532db3)
  */
 
 /**
@@ -125,6 +125,13 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Payment Tokens');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 1f296801125c9383c01aa4af6952522b8f9fb852..dbf787e27d616a03c1cab006b796764d363c2436 100644 (file)
  */
 trait CRM_Financial_Form_FrontEndPaymentFormTrait {
 
+  /**
+   * Is pay later enabled on this form?
+   *
+   * @var bool
+   */
+  protected $isPayLater = FALSE;
+
   /**
    * The label for the pay later pseudoprocessor option.
    *
@@ -27,6 +34,58 @@ trait CRM_Financial_Form_FrontEndPaymentFormTrait {
    */
   protected $payLaterLabel;
 
+  /**
+   * Is this a back office form
+   *
+   * @var bool
+   */
+  public $isBackOffice = FALSE;
+
+  /**
+   * The payment mode that we are in ("live" or "test")
+   * This should be protected and retrieved via getPaymentMode() but it's accessed all over the place so we have to leave it public for now.
+   *
+   * @var string
+   */
+  public $_mode;
+
+  /**
+   * @return bool
+   */
+  public function isPayLater() {
+    return $this->isPayLater;
+  }
+
+  /**
+   * @param bool $isPayLater
+   */
+  public function setIsPayLater($isPayLater) {
+    $this->isPayLater = $isPayLater;
+  }
+
+  /**
+   * @return bool
+   */
+  public function getIsBackOffice() {
+    return $this->isBackOffice;
+  }
+
+  /**
+   * Get the payment mode ('live' or 'test')
+   *
+   * @return string
+   */
+  public function getPaymentMode() {
+    return $this->_mode;
+  }
+
+  /**
+   * Set the payment mode ('live' or 'test')
+   */
+  public function setPaymentMode() {
+    $this->_mode = ($this->_action === CRM_Core_Action::PREVIEW) ? 'test' : 'live';
+  }
+
   /**
    * @return string
    */
index 9a3552cc61d7c122d333dde7f05d66eaba105932..cdbd3d5af9133b66565e73842b81a0ee9eacdcb0 100644 (file)
@@ -166,8 +166,7 @@ class CRM_Financial_Page_FinancialTypeAccount extends CRM_Core_Page {
       $this->assign('financialTypeTitle', $this->_title);
     }
     else {
-      CRM_Core_Error::fatal();
-      return NULL;
+      CRM_Core_Error::statusBounce('No Financial Accounts found for the Financial Type');
     }
   }
 
index bb66fa7ff32224cb828e4e16ee62b4236eda1619..62d6fa992a2786c5aef799c3d9c1bde9691a0de0 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Friend/Friend.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1800a70ee75e0958cd01c250085ab793)
+ * (GenCodeChecksum:b414251f70114c81d45e699531a109af)
  */
 
 /**
@@ -102,6 +102,13 @@ class CRM_Friend_DAO_Friend extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Friends');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 2af78a571a9ace8e35870c9dbeec110bf46b0f9f..bd1f64288551e3325ef50d056f21319bdfe1fca7 100644 (file)
@@ -9,14 +9,6 @@
  +--------------------------------------------------------------------+
  */
 
-/**
- *
- * @package CRM
- * @copyright CiviCRM LLC https://civicrm.org/licensing
- * $Id$
- *
- */
-
 /**
  * This class generates form components for Tell A Friend Form For End User
  *
@@ -76,7 +68,7 @@ class CRM_Friend_Form extends CRM_Core_Form {
       $this->_title = $values['title'] ?? NULL;
       $this->_campaignId = $values['campaign_id'] ?? NULL;
       $this->_entityTable = 'civicrm_contribution_page';
-      if ($pcomponent == 'event') {
+      if ($pcomponent === 'event') {
         $this->_entityTable = 'civicrm_event';
         $isShare = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $this->_entityId, 'is_share');
         $this->_title = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $this->_entityId, 'title');
@@ -87,7 +79,7 @@ class CRM_Friend_Form extends CRM_Core_Form {
       // Tell Form.tpl whether to include SocialNetwork.tpl for social media sharing
       $this->assign('isShare', $isShare);
     }
-    elseif ($pcomponent == 'pcp') {
+    elseif ($pcomponent === 'pcp') {
       $this->_pcpBlockId = CRM_Utils_Request::retrieve('blockId', 'Positive', $this, TRUE);
 
       $values = [];
@@ -122,14 +114,13 @@ class CRM_Friend_Form extends CRM_Core_Form {
     }
     $this->assign('context', $pcomponent);
 
-    $session = CRM_Core_Session::singleton();
-    $this->_contactID = $session->get('userID');
+    $this->_contactID = CRM_Core_Session::getLoggedInContactID();
     if (!$this->_contactID) {
-      $this->_contactID = $session->get('transaction.userID');
+      $this->_contactID = CRM_Core_Session::singleton()->get('transaction.userID');
     }
 
     if (!$this->_contactID) {
-      CRM_Core_Error::fatal(ts('Could not get the contact ID'));
+      CRM_Core_Error::statusBounce(ts('Could not get the contact ID'));
     }
 
     // we do not want to display recently viewed items, so turn off
@@ -140,7 +131,7 @@ class CRM_Friend_Form extends CRM_Core_Form {
    * Set default values for the form.
    *
    *
-   * @return void
+   * @return array
    */
   public function setDefaultValues() {
     $defaults = [];
@@ -190,7 +181,7 @@ class CRM_Friend_Form extends CRM_Core_Form {
     $this->add('wysiwyg', 'suggested_message', ts('Your Message'), CRM_Core_DAO::getAttribute('CRM_Friend_DAO_Friend', 'suggested_message'));
     $friend = [];
     $mailLimit = self::NUM_OPTION;
-    if ($this->_entityTable == 'civicrm_pcp') {
+    if ($this->_entityTable === 'civicrm_pcp') {
       $mailLimit = $this->_mailLimit;
     }
     $this->assign('mailLimit', $mailLimit + 1);
@@ -258,8 +249,8 @@ class CRM_Friend_Form extends CRM_Core_Form {
   /**
    * Process the form submission.
    *
-   *
    * @return void
+   * @throws \CRM_Core_Exception
    */
   public function postProcess() {
     // get the submitted form values.
@@ -281,11 +272,11 @@ class CRM_Friend_Form extends CRM_Core_Form {
     $defaults['entity_table'] = $this->_entityTable;
 
     CRM_Friend_BAO_Friend::getValues($defaults);
-    if ($this->_entityTable == 'civicrm_pcp') {
+    if ($this->_entityTable === 'civicrm_pcp') {
       $defaults['thankyou_text'] = $defaults['thankyou_title'] = ts('Thank you for your support');
       $defaults['thankyou_text'] = ts('Thanks for supporting this campaign by spreading the word to your friends.');
     }
-    elseif ($this->_entityTable == 'civicrm_contribution_page') {
+    elseif ($this->_entityTable === 'civicrm_contribution_page') {
       // If this is tell a friend after contributing, give donor link to create their own fundraising page
       if ($linkText = CRM_PCP_BAO_PCP::getPcpBlockStatus($defaults['entity_id'], $defaults['entity_table'])) {
 
@@ -298,7 +289,7 @@ class CRM_Friend_Form extends CRM_Core_Form {
         $this->assign('linkText', $linkText);
       }
     }
-    elseif ($this->_entityTable == 'civicrm_event') {
+    elseif ($this->_entityTable === 'civicrm_event') {
       // If this is tell a friend after registering for an event, give donor link to create their own fundraising page
       require_once 'CRM/PCP/BAO/PCP.php';
       if ($linkText = CRM_PCP_BAO_PCP::getPcpBlockStatus($defaults['entity_id'], $defaults['entity_table'])) {
index 6b4e2030faffc44ded28054bc57e91d0f89dfec2..1531415e3beb93137cf9786f7fe07bd6c12e5ccc 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Grant/Grant.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e3991ac7947eba1455b363a55b1064eb)
+ * (GenCodeChecksum:7c259bc89c2ee91302a9bd188f6cc3db)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_grant';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-money';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -141,6 +148,13 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Grants');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index d0e6ac595dfe27175072cd070c8fa436e0d3e9f6..d9be20cdfb864c7cc7e2815f7e0904c0cc8be207 100644 (file)
@@ -127,7 +127,7 @@ class CRM_Group_Form_Edit extends CRM_Core_Form {
       }
     }
     else {
-      if ($this->_groupValues['is_reserved'] == 1 && !CRM_Core_Permission::check('administer reserved groups')) {
+      if ($this->_id && $this->_groupValues['is_reserved'] == 1 && !CRM_Core_Permission::check('administer reserved groups')) {
         CRM_Core_Error::statusBounce(ts("You do not have sufficient permission to change settings for this reserved group."));
       }
       if (isset($this->_id)) {
index 7f066497edff88132087f9be7668bcb45d72d9fc..e03b5972f7e01c833e6bd07625778e5747c73ec7 100644 (file)
@@ -118,10 +118,10 @@ class CRM_Import_DataSource_CSV extends CRM_Import_DataSource {
     $result = [];
     $fd = fopen($file, 'r');
     if (!$fd) {
-      CRM_Core_Error::fatal("Could not read $file");
+      throw new CRM_Core_Exception("Could not read $file");
     }
     if (filesize($file) == 0) {
-      CRM_Core_Error::fatal("$file is empty. Please upload a valid file.");
+      throw new CRM_Core_Exception("$file is empty. Please upload a valid file.");
     }
 
     $config = CRM_Core_Config::singleton();
index f7e93eeb24b332de5a41ab31dfe3f897030f0f3e..5ecdcac11bebff0136b4ed60fae0b8946134e07e 100644 (file)
  */
 
 /**
- *
- * @package CRM
- * @copyright CiviCRM LLC https://civicrm.org/licensing
- * $Id$
+ * Class CRM_Logging_ReportSummary
  */
 class CRM_Logging_ReportSummary extends CRM_Report_Form {
   protected $cid;
index c30ea60c46b586370802623a8774b0e38a8dc21f..ecb3be4dd4cb30142d835a4da269a6abcf0ed957 100644 (file)
@@ -82,10 +82,10 @@ class CRM_Mailing_ActionTokens extends \Civi\Token\AbstractTokenSubscriber {
 
     list($verp, $urls) = CRM_Mailing_BAO_Mailing::getVerpAndUrls(
       $row->context['mailingJobId'],
-      $row->context['mailingActionTarget']['id'],
-      $row->context['mailingActionTarget']['hash'],
+      $row->context['mailingActionTarget']['id'] ?? NULL,
+      $row->context['mailingActionTarget']['hash'] ?? NULL,
       // Note: Behavior is already undefined for SMS/'phone' mailings...
-      $row->context['mailingActionTarget']['email']
+      $row->context['mailingActionTarget']['email'] ?? NULL
     );
 
     $row->format('text/plain')->tokens($entity, $field,
index 5fc03b14d3d896aaad4033e40b37a85f9a8c2f24..8ebd8908340c34a5ecd22f1f543a39ccd2f28577 100644 (file)
@@ -781,7 +781,7 @@ VALUES (%1, %2, %3, %4, %5, %6, %7)
     }
 
     // Register 5xx SMTP response code (permanent failure) as bounce.
-    if (isset($code{0}) && $code{0} === '5') {
+    if (isset($code[0]) && $code[0] === '5') {
       return FALSE;
     }
 
index 5bb9f028cfd9a37105ef44949ada02c859c3604b..1115c4387afbcf76b9e64eb97222289d6d76be68 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/BouncePattern.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c72ed4774d00758d25e6a167f4215906)
+ * (GenCodeChecksum:265a74c7d2cd07b11d0b43bf91e0fe62)
  */
 
 /**
@@ -55,6 +55,13 @@ class CRM_Mailing_DAO_BouncePattern extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Bounce Patterns');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index fa39ecc35d570cbaddc5adbf5411cf238a7d6d0d..ee309df2528282d6f62bb1e534c235531cc2b569 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/BounceType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9a10baee53da12eee58e5b229fadf6d9)
+ * (GenCodeChecksum:3870b655b29d0264bd4915d3c93a3018)
  */
 
 /**
@@ -62,6 +62,13 @@ class CRM_Mailing_DAO_BounceType extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Bounce Types');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 4895def52132a328bb673aa1c50821d2c39d4bc6..1d6246e2459f9c6b7c6fd8f1e3dc51559d3b54ef 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Mailing.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5e3229fc70fd87ddb448fcc672e44c3d)
+ * (GenCodeChecksum:f1550e9f33a11dda97195455557f3035)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_mailing';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-envelope-o';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -331,6 +338,13 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Mailings');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 37fa94d1b996f7735280955d1957e2957399d43f..3a34d2739c687ce5996cf1f6855313f3b52bca48 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingAB.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:808ef560b5f6c959cb4f3ceea87f5e38)
+ * (GenCodeChecksum:afe07cb9f1839c37e7511949fc1f0bdc)
  */
 
 /**
@@ -126,6 +126,13 @@ class CRM_Mailing_DAO_MailingAB extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Mailing ABs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 3740b74ee3b65e4f8d9cfca18a90d864b8b5347f..77ddbcecfd58acf1144152e46820c8df8e50cd32 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingComponent.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5f490a6a53497465a1dcb603a9eba297)
+ * (GenCodeChecksum:0a36b87bc4baaec899f666c22187a071)
  */
 
 /**
@@ -88,6 +88,13 @@ class CRM_Mailing_DAO_MailingComponent extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Mailing Components');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 54b3fc4c5e34c5e99b2c329f4e05f22d5b001ec6..ae7559af38217fc6050b16e8fb3931d9732f30b4 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c36d380f7c8e1c66c5bb3e721ebb2586)
+ * (GenCodeChecksum:2cb7030bb80525d10031c1d8d524c4a6)
  */
 
 /**
@@ -83,6 +83,13 @@ class CRM_Mailing_DAO_MailingGroup extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Mailing Groups');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index e379066565d44ab3ce792855ce94f7e728b40069..874f22491a2b0751792c009d1d4cd9dd8f66d56b 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingJob.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:91fa15df43a9b86ba6cd53f1cc9783eb)
+ * (GenCodeChecksum:6f300d432494c6b7df0480c1768290c8)
  */
 
 /**
@@ -111,6 +111,13 @@ class CRM_Mailing_DAO_MailingJob extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Mailing Jobs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 82319af800b742e2aec50d41c3b93c9fe0034665..8fd1037b84023b841e077a006862cbf58b58c77d 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Recipients.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:75cd62ee31977e5f17025529a8b00a77)
+ * (GenCodeChecksum:a41f54cef4cdf0fe50f59ecc7a52cdee)
  */
 
 /**
@@ -69,6 +69,13 @@ class CRM_Mailing_DAO_Recipients extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Recipientses');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index d5b77c77d303a1014f13d718dd16ef819efc8104..dc3cfe528476ff1896f092dc27620900c4105264 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Spool.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:d7cd83f74e7fdb454cf91ea9d2fd3450)
+ * (GenCodeChecksum:96b1fb5521e4495353d74a3017db6a73)
  */
 
 /**
@@ -83,6 +83,13 @@ class CRM_Mailing_DAO_Spool extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Spools');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 4370552b2136119db01f20ad905b324bd4a0666c..4bab8702ef9c54c8d6e235c61c826c615de303d0 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/TrackableURL.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:af4238980ab67199493caf43c6ce2f35)
+ * (GenCodeChecksum:d6ed69fd6ed6a2344ce2349f1c56889f)
  */
 
 /**
@@ -55,6 +55,13 @@ class CRM_Mailing_DAO_TrackableURL extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Trackable URLs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 9fe63e56af1f78d2562d8002fd3bded32fd6c6f0..ec5166c919a7af54dbccf516ccf98174bef22d11 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Bounce.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:3ac099332818c43f2dca066c6e73149c)
+ * (GenCodeChecksum:730596183ae4efba185b7a5ad20fd7d6)
  */
 
 /**
@@ -69,6 +69,13 @@ class CRM_Mailing_Event_DAO_Bounce extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Bounces');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 51f90ce2f0d0c12f321b8a40b8324c149fbd452c..5d974c31a8835af9142d40637265aa59dc1eb6d7 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Confirm.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a7b8a7cbbffc3c2ad56f4a27a5fe0d47)
+ * (GenCodeChecksum:801236eec78c2079b4a35e3f6d097eef)
  */
 
 /**
@@ -55,6 +55,13 @@ class CRM_Mailing_Event_DAO_Confirm extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Confirms');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 84304d2c44cf6954523219c02beda5c7845d29c8..1616e3726dfb8433e0df4f93b32088502b2abade 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Delivered.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:868d8d539be2f960708c791e77142cf7)
+ * (GenCodeChecksum:8c36caf8d0b3d93b6ecc08db039309e4)
  */
 
 /**
@@ -55,6 +55,13 @@ class CRM_Mailing_Event_DAO_Delivered extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Delivereds');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 64758453c14ed1a9aaee8374ae568a19505cd441..fc0d2c79448dd065b523ddb252c7ec2ae7c6b8d2 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Forward.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2d80815845585711db7a4ceaa9d54187)
+ * (GenCodeChecksum:9a9500f955376ac43ed4cd941eb8e47d)
  */
 
 /**
@@ -62,6 +62,13 @@ class CRM_Mailing_Event_DAO_Forward extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Forwards');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index ece08f0027fbb6ac22db6f2fe1c95b7a5cf3ec41..5577350beb78497b44688d22450e54f0af61f266 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Opened.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1e7b766df9d29ea2c12eca943ce3c6d3)
+ * (GenCodeChecksum:2dc61dd49b47eef791905aafc1ba6ee4)
  */
 
 /**
@@ -55,6 +55,13 @@ class CRM_Mailing_Event_DAO_Opened extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Openeds');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 0501531c2b8ee93802dfaf88f07fc4d243c36048..c5fe27ba2a3727d32c45051acd43e3fbb31a0784 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Queue.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c13b7d1f71aa2aaba32558fe215efb3c)
+ * (GenCodeChecksum:3c7d41d69880cdcac21a45499b412db7)
  */
 
 /**
@@ -76,6 +76,13 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Queues');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 3a1d8f06914ffcb49cdf5ba6056ef50f163920f7..f646098c8abd6ede73e03e982cab640194ef2c0a 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Reply.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:bb0b422177a50b7c27241338317f4f77)
+ * (GenCodeChecksum:3598974beede4fd0cdcfeab1422dc465)
  */
 
 /**
@@ -55,6 +55,13 @@ class CRM_Mailing_Event_DAO_Reply extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Replies');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 3a9069b0b3615ec5dfe38828e81238791129b065..31d8814d92f1ebfe1c3c18d5af7253714510396c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Subscribe.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f6605e240579a1d1911cd7fa1fa535df)
+ * (GenCodeChecksum:97eb613e24b342aeb86b6e82b740ce7c)
  */
 
 /**
@@ -69,6 +69,13 @@ class CRM_Mailing_Event_DAO_Subscribe extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Subscribes');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 72a07fbb405ce132f0d78c6fa092be1baab5819d..c7e056c2ae2df6a687c80a996dbc1ed52e1ab69a 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/TrackableURLOpen.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e3972b32e62b53916079913b418785d9)
+ * (GenCodeChecksum:958934aa3faffa4fb0de8d6c178b428a)
  */
 
 /**
@@ -62,6 +62,13 @@ class CRM_Mailing_Event_DAO_TrackableURLOpen extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Trackable URLOpens');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 2e13adc781dd54db266222bad81f5e73e570a0c8..5cdd8bb4d2aadeb09180cb5e2f2617a62d106113 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Unsubscribe.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b94d81304a2444e6200faad7c2703a87)
+ * (GenCodeChecksum:b7ec3c7157b019ce2783d5d0b369690c)
  */
 
 /**
@@ -62,6 +62,13 @@ class CRM_Mailing_Event_DAO_Unsubscribe extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Unsubscribes');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index df5e17a48d3cd6e45c4d338f5531315dd2cc3a96..c927be1aff4a24cb6288002bce62e7b033cce411 100644 (file)
@@ -1062,7 +1062,7 @@ INNER JOIN  civicrm_contact contact ON ( contact.id = membership.contact_id AND
    */
   public static function getMembershipCount($membershipTypeId, $date = NULL, $isTest = 0, $isOwner = 0) {
     if (!CRM_Utils_Rule::date($date)) {
-      CRM_Core_Error::fatal(ts('Invalid date "%1" (must have form yyyy-mm-dd).', [1 => $date]));
+      throw new CRM_Core_Exception(ts('Invalid date "%1" (must have form yyyy-mm-dd).', [1 => $date]));
     }
 
     $params = [
@@ -1821,8 +1821,8 @@ INNER JOIN  civicrm_contact contact ON ( contact.id = membership.contact_id AND
         if ($contributionRecurID) {
           $memParams['contribution_recur_id'] = $contributionRecurID;
         }
-        // @todo stop passing $ids - it is empty
-        $membership = self::create($memParams, $ids);
+
+        $membership = self::create($memParams);
         return [$membership, $renewalMode, $dates];
       }
 
@@ -1852,12 +1852,6 @@ INNER JOIN  civicrm_contact contact ON ( contact.id = membership.contact_id AND
         if (!empty($membershipSource)) {
           $currentMembership['source'] = $membershipSource;
         }
-        else {
-          $currentMembership['source'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_Membership',
-            $currentMembership['id'],
-            'source'
-          );
-        }
 
         if (!empty($currentMembership['id'])) {
           $ids['membership'] = $currentMembership['id'];
@@ -1910,10 +1904,6 @@ INNER JOIN  civicrm_contact contact ON ( contact.id = membership.contact_id AND
         }
         $memParams['membership_activity_status'] = ($pending || $isPayLater) ? 'Scheduled' : 'Completed';
       }
-      //CRM-4555
-      if ($pending) {
-        $updateStatusId = array_search('Pending', $allStatus);
-      }
     }
     else {
       // NEW Membership
index 24582838d31bd0f4541b4fd76b0e95c1774a8b87..abe74c5c1a6c4dc2719a59c3f361d4110d696d90 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/Membership.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8a676a436711b85a6c7228e6566a12fc)
+ * (GenCodeChecksum:e4d8c3cad5d344630c65f778238f1e27)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Member_DAO_Membership extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_membership';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-id-badge';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -142,6 +149,13 @@ class CRM_Member_DAO_Membership extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Memberships');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 7d1b12db5aa9ad9b0c3293b88591515c41d844f1..56391eba4fe516bd1c03f99c380f16393d3964c3 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:09fae8131ecad39069914c10f9f7ccf4)
+ * (GenCodeChecksum:becab4023b8e0c9d10b2081b7002467d)
  */
 
 /**
@@ -127,6 +127,13 @@ class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Membership Blocks');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 840005783104fcf4c7eb51195e1a1b776c06bde2..a87d7a1e317c08b7b73a183ed69881d0e83e2993 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:68b899f9c0d2eabcc19b070cb6d92a25)
+ * (GenCodeChecksum:c4812779eb38780be0f426d084ac51ff)
  */
 
 /**
@@ -97,6 +97,13 @@ class CRM_Member_DAO_MembershipLog extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Membership Logs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index da5f31561e4021e5eb119d59b3fc3aa73464fec1..cf24cc184f5aa9f1c1bfb19bd35e856d405fbc1e 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipPayment.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4bff4dffec3c3a766c34f49eb96ece19)
+ * (GenCodeChecksum:a1d90b50f82493fea93ba2236877fb45)
  */
 
 /**
@@ -55,6 +55,13 @@ class CRM_Member_DAO_MembershipPayment extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Membership Payments');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 0a4a53ea1dd59f33cfa921de9ee5a3ca0f08b3a7..44687f86120d436cc5f8ba2298288a25a6a6ac42 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipStatus.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:37fdd036d0cc453eeb5cbfa14b7b27d2)
+ * (GenCodeChecksum:82972d65885561006f0b674bd0add135)
  */
 
 /**
@@ -139,6 +139,13 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Membership Statuses');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 9e51fd1fcc3c2bf6fde34de7da47c6d7989b93f3..aceddc5a70fa3a321a804fd4444c6155126fbcd5 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c75161ef1844cf9a3977d458f0cb515b)
+ * (GenCodeChecksum:f5bc2479f6a11bf6e573782d008ca262)
  */
 
 /**
@@ -177,6 +177,13 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Membership Types');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index dd4d948daae327e6681f16760f6d3369a6d1ed06..007971bf21819c9be6b63d6f544b9e9622bcdb88 100644 (file)
@@ -958,13 +958,9 @@ class CRM_Member_Form_Membership extends CRM_Member_Form {
         $form->_bltID
       ));
 
-      $date = CRM_Utils_Date::format($form->_params['credit_card_exp_date']);
-      $date = CRM_Utils_Date::mysqlToIso($date);
-      $form->assign('credit_card_exp_date', $date);
-      $form->assign('credit_card_number',
-        CRM_Utils_System::mungeCreditCard($form->_params['credit_card_number'])
-      );
-      $form->assign('credit_card_type', $form->_params['credit_card_type']);
+      $valuesForForm = CRM_Contribute_Form_AbstractEditPayment::formatCreditCardDetails($form->_params);
+      $form->assignVariables($valuesForForm, ['credit_card_exp_date', 'credit_card_type', 'credit_card_number']);
+
       $form->assign('contributeMode', 'direct');
       $form->assign('isAmountzero', 0);
       $form->assign('is_pay_later', 0);
index 8f688e9b555b06c28343194107e83b1435ab8ce1..17b3dfc6f66a6867fd13ceefa536fb2e67fa8a2c 100644 (file)
@@ -549,7 +549,6 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form {
           'amount' => $this->_params['total_amount'],
           'contribution_status_id' => 'Pending',
           'payment_processor_id' => $this->_params['payment_processor_id'],
-          'campaign_id' => $this->_params['campaign_id'],
           'financial_type_id' => $this->_params['financial_type_id'],
           'is_email_receipt' => !empty($this->_params['send_receipt']),
           'payment_instrument_id' => $this->_params['payment_instrument_id'],
@@ -588,21 +587,13 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form {
       $this->_params['is_pay_later'] = 1;
     }
 
-    // These variable sets prior to membership may not be required for this form. They were in
-    // a function this form shared with other forms.
-    $membershipSource = NULL;
-    if (!empty($this->_params['membership_source'])) {
-      $membershipSource = $this->_params['membership_source'];
-    }
-
     $pending = ($this->_params['contribution_status_id'] == CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'contribution_status_id', 'Pending'));
+
     $membership = $this->processMembership(
       $this->_contactID, $this->_params['membership_type_id'][1], $isTestMembership,
       $renewalDate, $customFieldsFormatted, $numRenewTerms, $this->_membershipId,
       $pending,
-      $contributionRecurID, $membershipSource, $this->_params['is_pay_later'], CRM_Utils_Array::value('campaign_id',
-      $this->_params)
-    );
+      $contributionRecurID, $this->_params['is_pay_later']);
 
     $this->endDate = CRM_Utils_Date::processDate($membership->end_date);
 
@@ -749,18 +740,14 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form {
    * @param int $membershipID
    * @param $pending
    * @param int $contributionRecurID
-   * @param $membershipSource
    * @param $isPayLater
-   * @param int $campaignId
    *
    * @return CRM_Member_BAO_Membership
    * @throws \CRM_Core_Exception
    * @throws \CiviCRM_API3_Exception
    */
-  public function processMembership($contactID, $membershipTypeID, $is_test, $changeToday, $customFieldsFormatted, $numRenewTerms, $membershipID, $pending, $contributionRecurID, $membershipSource, $isPayLater, $campaignId) {
-    $updateStatusId = FALSE;
+  public function processMembership($contactID, $membershipTypeID, $is_test, $changeToday, $customFieldsFormatted, $numRenewTerms, $membershipID, $pending, $contributionRecurID, $isPayLater) {
     $allStatus = CRM_Member_PseudoConstant::membershipStatus();
-    $format = '%Y%m%d';
     $membershipTypeDetails = CRM_Member_BAO_MembershipType::getMembershipTypeDetails($membershipTypeID);
     $ids = [];
 
@@ -792,116 +779,47 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form {
       if ($contributionRecurID) {
         $memParams['contribution_recur_id'] = $contributionRecurID;
       }
-      // @todo stop passing $ids - it is empty
-      return CRM_Member_BAO_Membership::create($memParams, $ids);
+      return CRM_Member_BAO_Membership::create($memParams);
     }
 
     // Check and fix the membership if it is STALE
     CRM_Member_BAO_Membership::fixMembershipStatusBeforeRenew($currentMembership, $changeToday);
 
-    // Now Renew the membership
-    if (!$currentMembership['is_current_member']) {
-      // membership is not CURRENT
-
-      // CRM-7297 Membership Upsell - calculate dates based on new membership type
-      $dates = CRM_Member_BAO_MembershipType::getRenewalDatesForMembershipType($currentMembership['id'],
-        $changeToday,
-        $membershipTypeID,
-        $numRenewTerms
-      );
-
-      $currentMembership['join_date'] = CRM_Utils_Date::customFormat($currentMembership['join_date'], $format);
-      foreach (['start_date', 'end_date'] as $dateType) {
-        $currentMembership[$dateType] = $dates[$dateType] ?? NULL;
-      }
-      $currentMembership['is_test'] = $is_test;
+    $isMembershipCurrent = $currentMembership['is_current_member'];
 
-      if (!empty($membershipSource)) {
-        $currentMembership['source'] = $membershipSource;
-      }
-      else {
-        $currentMembership['source'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_Membership',
-          $currentMembership['id'],
-          'source'
-        );
-      }
-
-      if (!empty($currentMembership['id'])) {
-        $ids['membership'] = $currentMembership['id'];
-      }
-      $memParams = $currentMembership;
-      $memParams['membership_type_id'] = $membershipTypeID;
-
-      //set the log start date.
-      $memParams['log_start_date'] = CRM_Utils_Date::customFormat($dates['log_start_date'], $format);
-    }
-    else {
+    // CRM-7297 Membership Upsell - calculate dates based on new membership type
+    $dates = CRM_Member_BAO_MembershipType::getRenewalDatesForMembershipType($currentMembership['id'],
+      $changeToday,
+      $membershipTypeID,
+      $numRenewTerms
+    );
+    $memParams = [
+      'membership_type_id' => $membershipTypeID,
+      'end_date' => $dates['end_date'] ?? NULL,
+      'join_date' => $currentMembership['join_date'],
+      'start_date' => $isMembershipCurrent ? $currentMembership['start_date'] : ($dates['start_date'] ?? NULL),
+      'id' => $currentMembership['id'],
+      'is_test' => $is_test,
+      // Since we are renewing, make status override false.
+      'is_override' => FALSE,
+      'modified_id' => $contactID,
+      'log_start_date' => $dates['log_start_date'],
+    ];
 
+    // Now Renew the membership
+    if ($isMembershipCurrent) {
       // CURRENT Membership
-      $membership = new CRM_Member_DAO_Membership();
-      $membership->id = $currentMembership['id'];
-      $membership->find(TRUE);
-      // CRM-7297 Membership Upsell - calculate dates based on new membership type
-      $dates = CRM_Member_BAO_MembershipType::getRenewalDatesForMembershipType($membership->id,
-        $changeToday,
-        $membershipTypeID,
-        $numRenewTerms
-      );
-
-      // Insert renewed dates for CURRENT membership
-      $memParams = [];
-      $memParams['join_date'] = $membership->join_date;
-      $memParams['start_date'] = $membership->start_date;
-      $memParams['end_date'] = $dates['end_date'] ?? NULL;
-      $memParams['membership_type_id'] = $membershipTypeID;
-
-      //set the log start date.
-      $memParams['log_start_date'] = CRM_Utils_Date::customFormat($dates['log_start_date'], $format);
-
-      //CRM-18067
-      if (!empty($membershipSource)) {
-        $memParams['source'] = $membershipSource;
-      }
-      elseif (empty($membership->source)) {
-        $memParams['source'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_Membership',
-          $currentMembership['id'],
-          'source'
-        );
-      }
-
       if (!empty($currentMembership['id'])) {
         $ids['membership'] = $currentMembership['id'];
       }
       $memParams['membership_activity_status'] = ($pending || $isPayLater) ? 'Scheduled' : 'Completed';
     }
-    //CRM-4555
-    if ($pending) {
-      $updateStatusId = array_search('Pending', $allStatus);
-    }
 
     // Putting this in an IF is precautionary as it seems likely that it would be ignored if empty, but
     // perhaps shouldn't be?
     if ($contributionRecurID) {
       $memParams['contribution_recur_id'] = $contributionRecurID;
     }
-    //CRM-4555
-    //if we decided status here and want to skip status
-    //calculation in create( ); then need to pass 'skipStatusCal'.
-    if ($updateStatusId) {
-      $memParams['status_id'] = $updateStatusId;
-      $memParams['skipStatusCal'] = TRUE;
-    }
-
-    //since we are renewing,
-    //make status override false.
-    $memParams['is_override'] = FALSE;
-
-    $params['modified_id'] = $contactID;
-
-    //inherit campaign from contrib page.
-    if (isset($campaignId)) {
-      $memParams['campaign_id'] = $campaignId;
-    }
 
     $memParams['custom'] = $customFieldsFormatted;
     // @todo stop passing $ids (membership and userId may be set by this point)
index 0d25822fee239a3a231ea273dd864d70f451eaea..5c9f9760886f7ea7827511a2eff771a12fe08284 100644 (file)
@@ -74,7 +74,7 @@ class CRM_Member_Form_Task_Batch extends CRM_Member_Form_Task {
     $ufGroupId = $this->get('ufGroupId');
 
     if (!$ufGroupId) {
-      CRM_Core_Error::fatal('ufGroupId is missing');
+      CRM_Core_Error::statusBounce('ufGroupId is missing');
     }
     $this->_title = ts('Update multiple memberships') . ' - ' . CRM_Core_BAO_UFGroup::getTitle($ufGroupId);
     CRM_Utils_System::setTitle($this->_title);
index e009c5136581a2554215befa98d6781f3ffe64f4..7ad2f3f4cf80f96f24ded4a0fa6fa05ecbce0dc1 100644 (file)
@@ -71,7 +71,7 @@ abstract class CRM_Member_Import_Parser extends CRM_Import_Parser {
     $totalRowCount = NULL
   ) {
     if (!is_array($fileName)) {
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('Unable to determine import file');
     }
     $fileName = $fileName['name'];
 
index 8ba2539c1361a95036a7795bb844a86055072f4b..62dcf8faeb3eda3d1790af09208e3a5d7df4eecb 100644 (file)
@@ -58,7 +58,7 @@ class CRM_Member_Page_DashBoard extends CRM_Core_Page {
         !checkdate(substr($ym, 4, 2), 1, substr($ym, 0, 4)) ||
         substr($ym, 0, 1) == 0
       ) {
-        CRM_Core_Error::fatal(ts('Invalid date query "%1" in URL (valid syntax is yyyymm).', array(1 => $ym)));
+        CRM_Core_Error::statusBounce(ts('Invalid date query "%1" in URL (valid syntax is yyyymm).', array(1 => $ym)));
       }
 
       $isPreviousMonth = 0;
index 7850f140650a55b4243a23efeb46445fb32ffcc5..39a895c3b2c7f985030a1c15de3b630474d6a1f8 100644 (file)
@@ -114,12 +114,25 @@ class CRM_Member_Page_MembershipStatus extends CRM_Core_Page_Basic {
           $dao->id
         );
       }
-      if ($startEvent = CRM_Utils_Array::value('start_event', $membershipStatus[$dao->id])) {
+      $startEvent = $membershipStatus[$dao->id]['start_event'] ?? NULL;
+      $endEvent = $membershipStatus[$dao->id]['end_event'] ?? NULL;
+      $startEventUnit = $membershipStatus[$dao->id]['start_event_adjust_unit'] ?? NULL;
+      $endEventUnit = $membershipStatus[$dao->id]['end_event_adjust_unit'] ?? NULL;
+      $startEventInterval = $membershipStatus[$dao->id]['start_event_adjust_interval'] ?? NULL;
+      $endEventInterval = $membershipStatus[$dao->id]['end_event_adjust_interval'] ?? NULL;
+
+      if ($startEvent) {
         $membershipStatus[$dao->id]['start_event'] = ($startEvent == 'join_date') ? 'member since' : str_replace("_", " ", $startEvent);
       }
-      if ($endEvent = CRM_Utils_Array::value('end_event', $membershipStatus[$dao->id])) {
+      if ($endEvent) {
         $membershipStatus[$dao->id]['end_event'] = ($endEvent == 'join_date') ? 'member since' : str_replace("_", " ", $endEvent);
       }
+      if ($startEventUnit && $startEventInterval) {
+        $membershipStatus[$dao->id]['start_event_adjust_unit_interval'] = "{$startEventInterval} {$startEventUnit}";
+      }
+      if ($endEventUnit && $endEventInterval) {
+        $membershipStatus[$dao->id]['end_event_adjust_interval'] = "{$endEventInterval} {$endEventUnit}";
+      }
     }
     // Add order changing widget to selector
     $returnURL = CRM_Utils_System::url('civicrm/admin/member/membershipStatus', "reset=1&action=browse");
index 95af552f52bc1d775c070f550f20394f3285964b..2ea752cdede29a1cde6b3bfa113d275182f35df7 100644 (file)
@@ -665,7 +665,7 @@ WHERE pcp.id = %1 AND cc.contribution_status_id = %2 AND cc.is_test = 0";
 
     if (!$domainEmailAddress || $domainEmailAddress == 'info@EXAMPLE.ORG') {
       $fixUrl = CRM_Utils_System::url("civicrm/admin/domain", 'action=update&reset=1');
-      CRM_Core_Error::fatal(ts('The site administrator needs to enter a valid \'FROM Email Address\' in <a href="%1">Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a>. The email address used may need to be a valid mail account with your email service provider.', [1 => $fixUrl]));
+      throw new CRM_Core_Exception(ts('The site administrator needs to enter a valid \'FROM Email Address\' in <a href="%1">Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a>. The email address used may need to be a valid mail account with your email service provider.', [1 => $fixUrl]));
     }
 
     $receiptFrom = '"' . $domainEmailName . '" <' . $domainEmailAddress . '>';
@@ -913,7 +913,7 @@ INNER JOIN civicrm_uf_group ufgroup
 
     $params = [1 => [$component_id, 'Integer'], 2 => [$entity_table, 'String']];
     if (!$supporterProfileId = CRM_Core_DAO::singleValueQuery($query, $params)) {
-      CRM_Core_Error::fatal(ts('Supporter profile is not set for this Personal Campaign Page or the profile is disabled. Please contact the site administrator if you need assistance.'));
+      throw new CRM_Core_Exception(ts('Supporter profile is not set for this Personal Campaign Page or the profile is disabled. Please contact the site administrator if you need assistance.'));
     }
     else {
       return $supporterProfileId;
@@ -936,7 +936,7 @@ INNER JOIN civicrm_uf_group ufgroup
          WHERE pb.entity_id = %1 AND pb.entity_table = %2";
     $params = [1 => [$component_id, 'Integer'], 2 => [$entity_table, 'String']];
     if (!$ownerNotificationId = CRM_Core_DAO::singleValueQuery($query, $params)) {
-      CRM_Core_Error::fatal(ts('Owner Notification is not set for this Personal Campaign Page. Please contact the site administrator if you need assistance.'));
+      throw new CRM_Core_Exception(ts('Owner Notification is not set for this Personal Campaign Page. Please contact the site administrator if you need assistance.'));
     }
     else {
       return $ownerNotificationId;
index b67f820548d00978c8d55c70a3fc4e4112e86e4e..5b37e2d03d4442f5356d9fee03eb582d385515ec 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/PCP/PCP.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c12e9747f9f51dba37cbb4dc80fb36ef)
+ * (GenCodeChecksum:cbc0ec5e899ec81538d2a54f44281856)
  */
 
 /**
@@ -134,6 +134,13 @@ class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('PCPs');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 6034545412356c7058d5fb5ac5980ce8017bc666..2f0f6a9aef9fa0b8da914c7b23ee6952f5a311cb 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/PCP/PCPBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:dd013e9f20918e34e96caa5728dd5047)
+ * (GenCodeChecksum:d4817f5b53ace3909b94c7f6baff5964)
  */
 
 /**
@@ -125,6 +125,13 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('PCPBlocks');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 59c56d9ca90eda205ad3a18b7b9b57d06b0b348a..bea78c69e22e13f797e69dfb521352436daa32de 100644 (file)
@@ -300,7 +300,7 @@ class CRM_PCP_Form_Campaign extends CRM_Core_Form {
 
       if (!$domainEmailAddress || $domainEmailAddress == 'info@EXAMPLE.ORG') {
         $fixUrl = CRM_Utils_System::url('civicrm/admin/domain', 'action=update&reset=1');
-        CRM_Core_Error::fatal(ts('The site administrator needs to enter a valid \'FROM Email Address\' in <a href="%1">Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a>. The email address used may need to be a valid mail account with your email service provider.', [1 => $fixUrl]));
+        CRM_Core_Error::statusBounce(ts('The site administrator needs to enter a valid \'FROM Email Address\' in <a href="%1">Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a>. The email address used may need to be a valid mail account with your email service provider.', [1 => $fixUrl]));
       }
 
       //if more than one email present for PCP notification ,
index 502543f49688a9ef9980f97e858f88d6e442457c..7c96a629cfa6521d100b6d6a64d6b03983a1ed1e 100644 (file)
@@ -57,7 +57,7 @@ class CRM_PCP_Form_PCPAccount extends CRM_Core_Form {
     if (!$this->_pageId) {
       if (!$this->_id) {
         $msg = ts('We can\'t load the requested web page due to an incomplete link. This can be caused by using your browser\'s Back button or by using an incomplete or invalid link.');
-        CRM_Core_Error::fatal($msg);
+        CRM_Core_Error::statusBounce($msg);
       }
       else {
         $this->_pageId = CRM_Core_DAO::getFieldValue('CRM_PCP_DAO_PCP', $this->_id, 'page_id');
@@ -65,7 +65,7 @@ class CRM_PCP_Form_PCPAccount extends CRM_Core_Form {
     }
 
     if (!$this->_pageId) {
-      CRM_Core_Error::fatal(ts('Could not find source page id.'));
+      CRM_Core_Error::statusBounce(ts('Could not find source page id.'));
     }
 
     $this->_single = $this->get('single');
index 1390af09f9a22d17a9b8786ab6284cb75881aa5c..31f8fbc3c4003ea78f2136fe9423f1e6ed1b8f9f 100644 (file)
@@ -692,7 +692,7 @@ GROUP BY  currency
       }
 
       if (is_a(CRM_Activity_BAO_Activity::create($activityParams), 'CRM_Core_Error')) {
-        CRM_Core_Error::fatal("Failed creating Activity for acknowledgment");
+        throw new CRM_Core_Exception('Failed creating Activity for acknowledgment');
       }
     }
   }
index 2672e631cf95ee0c28d205c62e89ee7668aa4170..a3b80ff7d86102dd78c6140bef42a796ec75e31d 100644 (file)
@@ -206,7 +206,7 @@ class CRM_Pledge_BAO_PledgeBlock extends CRM_Pledge_DAO_PledgeBlock {
       }
       // give error if empty or build form for payment.
       if (empty($payments)) {
-        CRM_Core_Error::fatal(ts("Oops. It looks like there is no valid payment status for online payment."));
+        throw new CRM_Core_Exception(ts('Oops. It looks like there is no valid payment status for online payment.'));
       }
       else {
         $form->assign('is_pledge_payment', TRUE);
index 52d159115adcce1dab44a30a1ba8b89d786d5e2a..1d001b841195717ca97594578d44bc5dfb718955 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Pledge/Pledge.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:482a699f087b9ed0250d60f0663727f4)
+ * (GenCodeChecksum:7beeffe02aa5aa08578f40547b3c61bd)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_pledge';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-paper-plane';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -195,6 +202,13 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Pledges');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index db14795b2a536593fec5865ca4c29837069b55e0..edd93769105ec9d2a82b73326bcbee8a1cde2c8e 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Pledge/PledgeBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:748faa657d316e3de8124c5a1ecb7095)
+ * (GenCodeChecksum:8a4ad7f69cab18b992ea2c18ddccec62)
  */
 
 /**
@@ -113,6 +113,13 @@ class CRM_Pledge_DAO_PledgeBlock extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Pledge Blocks');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 8183490607884b7b98feecd231e85b2f3e94c71a..88e388caeb6954ae9537de81b19aba1bac6d287a 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Pledge/PledgePayment.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cfecdde34ba28e4860662441f0f234f5)
+ * (GenCodeChecksum:265731583eeecb13c4759e29bf63b231)
  */
 
 /**
@@ -102,6 +102,13 @@ class CRM_Pledge_DAO_PledgePayment extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Pledge Payments');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index dcb362b67b310bc86e5bd4fc8e976a6d4912ae7b..2ed80ff8ebe8c62285c5729f15f6055ec85ccf02 100644 (file)
@@ -1670,8 +1670,8 @@ WHERE     ct.id = cp.financial_type_id AND
           break;
 
         default:
-          CRM_Core_Error::fatal("$table is not supported in PriceSet::usedBy()");
-          break;
+          throw new CRM_Core_Exception("$table is not supported in PriceSet::usedBy()");
+
       }
     }
     return $usedBy;
index bd41cfae79c0bf232e43ac4859e03a3ccd51ff49..cdd8ddb737c87969c2c7eeb1ce65f578a6842a2d 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/LineItem.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6a272dce6bb5be6d82e1da572bfd4189)
+ * (GenCodeChecksum:5609d31fcef89762093ebeccbf76f91b)
  */
 
 /**
@@ -134,6 +134,13 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Line Items');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 987ae6614fd66b8787cd7e5faf0d4432d9f179f5..afa40932570b9650a3e081b702c5bf6083494c76 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:691cc70f15386dd0c2cd4ab63f9798af)
+ * (GenCodeChecksum:6e47994bc98a74964af2347e6f93ad23)
  */
 
 /**
@@ -153,6 +153,13 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Price Fields');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 058ddf7a6f80e535ea8dbc396bcbd1f0d0bf25fc..db36ba465a222e976205237ca4010434ed8ce2a5 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceFieldValue.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:47c904125e3421dde14b5fcd9b8a6f16)
+ * (GenCodeChecksum:192669fc7d0257b2f4a84c2cf6aebcc6)
  */
 
 /**
@@ -162,6 +162,13 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Price Field Values');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index c7bfebc251bff1ed8995a7e2a7d3c020389e1ea0..17bbe9f48acc60a400eba50bf5ecbe3f2eb724e8 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceSet.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1d3d7fd9d32dd7cd257c4f5a7468db29)
+ * (GenCodeChecksum:94d729c1b16adccb8e8b0111784314b5)
  */
 
 /**
@@ -127,6 +127,13 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Price Sets');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index c45d349727fc4bb6fcc470e7714e257bed4ed9bc..612245329935ee593a8e90ead4b66d7eeddcf9b1 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceSetEntity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a4fdcc0f0c59179ec6ef07fd1cd87537)
+ * (GenCodeChecksum:11565afec12a53af8656a6eaf33b0977)
  */
 
 /**
@@ -64,6 +64,13 @@ class CRM_Price_DAO_PriceSetEntity extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Price Set Entities');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index 0b7cbf2f648e7a6cfba05d352719b0c51f7f239c..571ab77be16ee7158efc542d658b88fa9d98a4c6 100644 (file)
  */
 class CRM_Price_Form_Field extends CRM_Core_Form {
 
+  use CRM_Core_Form_EntityFormTrait;
+
+  /**
+   * Explicitly declare the entity api name.
+   */
+  public function getDefaultEntity() {
+    return 'PriceField';
+  }
+
+  /**
+   * Explicitly declare the form context.
+   */
+  public function getDefaultContext() {
+    return 'create';
+  }
+
+  /**
+   * Get the entity id being edited.
+   *
+   * @return int|null
+   */
+  public function getEntityId() {
+    return $this->_fid;
+  }
+
   /**
    * Constants for number of options for data types of multiple option.
    */
@@ -57,8 +82,8 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
    */
   public function preProcess() {
 
-    $this->_sid = CRM_Utils_Request::retrieve('sid', 'Positive', $this, FALSE, NULL, 'REQUEST');
-    $this->_fid = CRM_Utils_Request::retrieve('fid', 'Positive', $this, FALSE, NULL, 'REQUEST');
+    $this->_sid = CRM_Utils_Request::retrieve('sid', 'Positive', $this);
+    $this->_fid = CRM_Utils_Request::retrieve('fid', 'Positive', $this);
     $url = CRM_Utils_System::url('civicrm/admin/price/field', "reset=1&action=browse&sid={$this->_sid}");
     $breadCrumb = [['title' => ts('Price Set Fields'), 'url' => $url]];
 
@@ -78,20 +103,21 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
    *
    * @return array
    *   array of default values
+   * @throws \CRM_Core_Exception
    */
   public function setDefaultValues() {
     $defaults = [];
     // is it an edit operation ?
-    if (isset($this->_fid)) {
-      $params = ['id' => $this->_fid];
-      $this->assign('fid', $this->_fid);
+    if ($this->getEntityId()) {
+      $params = ['id' => $this->getEntityId()];
+      $this->assign('fid', $this->getEntityId());
       CRM_Price_BAO_PriceField::retrieve($params, $defaults);
       $this->_sid = $defaults['price_set_id'];
 
       // if text, retrieve price
       if ($defaults['html_type'] == 'Text') {
         $isActive = $defaults['is_active'];
-        $valueParams = ['price_field_id' => $this->_fid];
+        $valueParams = ['price_field_id' => $this->getEntityId()];
 
         CRM_Price_BAO_PriceFieldValue::retrieve($valueParams, $defaults);
 
@@ -142,7 +168,7 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
     // add a hidden field to remember the price set id
     // this get around the browser tab issue
     $this->add('hidden', 'sid', $this->_sid);
-    $this->add('hidden', 'fid', $this->_fid);
+    $this->add('hidden', 'fid', $this->getEntityId());
 
     // label
     $this->add('text', 'label', ts('Field Label'), CRM_Core_DAO::getAttribute('CRM_Price_DAO_PriceField', 'label'), TRUE);
@@ -364,8 +390,8 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
    * @param array $fields
    *   Posted values of the form.
    *
-   * @param $files
-   * @param CRM_Core_Form $form
+   * @param array $files
+   * @param self $form
    *
    * @return array
    *   if errors then list of errors to be posted back to the form,
@@ -381,7 +407,7 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
      *  Incomplete row checking is also required.
      */
     if (($form->_action & CRM_Core_Action::ADD || $form->_action & CRM_Core_Action::UPDATE) &&
-      $fields['html_type'] == 'Text'
+      $fields['html_type'] === 'Text'
     ) {
       if ($fields['price'] == NULL) {
         $errors['price'] = ts('Price is a required field');
@@ -397,7 +423,7 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
     $priceFieldLabel->price_set_id = $form->_sid;
 
     $dupeLabel = FALSE;
-    if ($priceFieldLabel->find(TRUE) && $form->_fid != $priceFieldLabel->id) {
+    if ($priceFieldLabel->find(TRUE) && $form->getEntityId() != $priceFieldLabel->id) {
       $dupeLabel = TRUE;
     }
 
@@ -630,8 +656,8 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
     if ($this->_action & (CRM_Core_Action::UPDATE | CRM_Core_Action::ADD)) {
       $fieldValues = ['price_set_id' => $this->_sid];
       $oldWeight = NULL;
-      if ($this->_fid) {
-        $oldWeight = CRM_Core_DAO::getFieldValue('CRM_Price_DAO_PriceField', $this->_fid, 'weight', 'id');
+      if ($this->getEntityId()) {
+        $oldWeight = CRM_Core_DAO::getFieldValue('CRM_Price_DAO_PriceField', $this->getEntityId(), 'weight', 'id');
       }
       $params['weight'] = CRM_Utils_Weight::updateOtherWeights('CRM_Price_DAO_PriceField', $oldWeight, $params['weight'], $fieldValues);
     }
@@ -657,15 +683,15 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
       $params['option_visibility_id'] = [1 => CRM_Utils_Array::value('visibility_id', $params)];
     }
 
-    if ($this->_fid) {
-      $params['id'] = $this->_fid;
-    }
+    $params['id'] = $this->getEntityId();
 
     $params['membership_num_terms'] = (!empty($params['membership_type_id'])) ? CRM_Utils_Array::value('membership_num_terms', $params, 1) : NULL;
 
     $priceField = CRM_Price_BAO_PriceField::create($params);
 
     if (!is_a($priceField, 'CRM_Core_Error')) {
+      // Required by extensions implementing the postProcess hook (to get the ID of new entities)
+      $this->setEntityId($priceField->id);
       CRM_Core_Session::setStatus(ts('Price Field \'%1\' has been saved.', [1 => $priceField->label]), ts('Saved'), 'success');
     }
     $buttonName = $this->controller->getButtonName();
index ff7a8758818b194b671f9bfb6c29a188ce8465ac..750bfb7f99cc29db6a176e1275a2475a2dc1d9fb 100644 (file)
@@ -109,7 +109,7 @@ class CRM_Price_Form_Option extends CRM_Core_Form {
     if ($this->_action == CRM_Core_Action::UPDATE) {
       $finTypeId = CRM_Core_DAO::getFieldValue('CRM_Price_DAO_PriceFieldValue', $this->_oid, 'financial_type_id');
       if (!CRM_Financial_BAO_FinancialType::checkPermissionToEditFinancialType($finTypeId)) {
-        CRM_Core_Error::fatal(ts("You do not have permission to access this page"));
+        CRM_Core_Error::statusBounce(ts("You do not have permission to access this page"));
       }
     }
     if ($this->_action == CRM_Core_Action::DELETE) {
index 1d03a0a68340ee2a173a889c779be098b8d92bf5..31fe2d96bd9e91e17ac37301154ad6b16e947947 100644 (file)
@@ -306,7 +306,7 @@ class CRM_Profile_Form extends CRM_Core_Form {
       if ($this->_multiRecord &&
         !in_array($this->_multiRecord, [CRM_Core_Action::UPDATE, CRM_Core_Action::ADD, CRM_Core_Action::DELETE])
       ) {
-        CRM_Core_Error::fatal(ts('Proper action not specified for this custom value record profile'));
+        CRM_Core_Error::statusBounce(ts('Proper action not specified for this custom value record profile'));
       }
     }
     $this->_duplicateButtonName = $this->getButtonName('upload', 'duplicate');
@@ -322,7 +322,7 @@ class CRM_Profile_Form extends CRM_Core_Form {
 
       // check if we are rendering mixed profiles
       if (CRM_Core_BAO_UFGroup::checkForMixProfiles($this->_profileIds)) {
-        CRM_Core_Error::fatal(ts('You cannot combine profiles of multiple types.'));
+        CRM_Core_Error::statusBounce(ts('You cannot combine profiles of multiple types.'));
       }
 
       // for now consider 1'st profile as primary profile and validate it
@@ -358,7 +358,7 @@ class CRM_Profile_Form extends CRM_Core_Form {
       }
 
       if (empty($this->_ufGroup['is_active'])) {
-        CRM_Core_Error::fatal(ts('The requested profile (gid=%1) is inactive or does not exist.', [
+        CRM_Core_Error::statusBounce(ts('The requested profile (gid=%1) is inactive or does not exist.', [
           1 => $this->_gid,
         ]));
       }
@@ -407,12 +407,12 @@ class CRM_Profile_Form extends CRM_Core_Form {
           if (!$this->_recordId
             && ($this->_multiRecord == CRM_Core_Action::UPDATE || $this->_multiRecord == CRM_Core_Action::DELETE)
           ) {
-            CRM_Core_Error::fatal(ts('The requested Profile (gid=%1) requires record id while performing this action',
+            CRM_Core_Error::statusBounce(ts('The requested Profile (gid=%1) requires record id while performing this action',
               [1 => $this->_gid]
             ));
           }
           elseif (empty($this->_multiRecordFields)) {
-            CRM_Core_Error::fatal(ts('No Multi-Record Fields configured for this profile (gid=%1)',
+            CRM_Core_Error::statusBounce(ts('No Multi-Record Fields configured for this profile (gid=%1)',
               [1 => $this->_gid]
             ));
           }
index 0ef7350a78d34252da73f7b8d1360d98cb324593..67f7edf0d508da8bf61ad99b64d6ea93efc51349 100644 (file)
@@ -237,7 +237,7 @@ class CRM_Profile_Page_Dynamic extends CRM_Core_Page {
       if ($this->_isContactActivityProfile && $this->_gid) {
         $errors = CRM_Profile_Form::validateContactActivityProfile($this->_activityId, $this->_id, $this->_gid);
         if (!empty($errors)) {
-          CRM_Core_Error::fatal(array_pop($errors));
+          CRM_Core_Error::statusBounce(array_pop($errors));
         }
       }
 
index 46807507ce5453ef99deaa38d17672214a9d7a9c..963d59b27fc8e26247728904b5886aa907e702df 100644 (file)
@@ -100,7 +100,7 @@ class CRM_Profile_Page_Listings extends CRM_Core_Page {
 
       // check if we are rendering mixed profiles
       if (CRM_Core_BAO_UFGroup::checkForMixProfiles($this->_profileIds)) {
-        CRM_Core_Error::fatal(ts('You cannot combine profiles of multiple types.'));
+        CRM_Core_Error::statusBounce(ts('You cannot combine profiles of multiple types.'));
       }
 
       $this->_gid = $this->_profileIds[0];
@@ -282,7 +282,7 @@ class CRM_Profile_Page_Listings extends CRM_Core_Page {
       $ufgroupDAO = new CRM_Core_DAO_UFGroup();
       $ufgroupDAO->id = $this->_gid;
       if (!$ufgroupDAO->find(TRUE)) {
-        CRM_Core_Error::fatal();
+        CRM_Core_Error::statusBounce('Unable to find matching UF Group');
       }
     }
 
index 18cba944bfb6f2013e617b8d82263ad2992d177a..e9c5e56995bcf9b84e7fb8cb28f1ddbf7a5f0391 100644 (file)
@@ -53,7 +53,7 @@ class CRM_Profile_Page_MultipleRecordFieldsListing extends CRM_Core_Page_Basic {
    *   (reference) of action links
    */
   public function &links() {
-    if (!(self::$_links[$this->_pageViewType])) {
+    if (!isset(self::$_links[$this->_pageViewType])) {
       // helper variable for nicer formatting
       $links = [];
 
index 0dbaf37bf0e415fbfe9b4a7a53bf9750074617b7..e23fada8bd1d7ba2536476cccec86587a01ec5b0 100644 (file)
@@ -49,7 +49,7 @@ class CRM_Profile_Page_View extends CRM_Core_Page {
       $session = CRM_Core_Session::singleton();
       $this->_id = $session->get('userID');
       if (!$this->_id) {
-        CRM_Core_Error::fatal(ts('Could not find the required contact id parameter (id=) for viewing a contact record with a Profile.'));
+        CRM_Core_Error::statusBounce(ts('Could not find the required contact id parameter (id=) for viewing a contact record with a Profile.'));
       }
     }
     $this->assign('cid', $this->_id);
@@ -66,7 +66,7 @@ class CRM_Profile_Page_View extends CRM_Core_Page {
 
       // check if we are rendering mixed profiles
       if (CRM_Core_BAO_UFGroup::checkForMixProfiles($profileIds)) {
-        CRM_Core_Error::fatal(ts('You cannot combine profiles of multiple types.'));
+        CRM_Core_Error::statusBounce(ts('You cannot combine profiles of multiple types.'));
       }
 
       $this->_gid = $profileIds[0];
index 935b3b85782627f36dcc7f67e47f6f19a08df62e..61250927c4cd357b1cbe0f8d05620a1b58aa6d57 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Queue/QueueItem.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2a3cbbf88c75557fad0418a96b051160)
+ * (GenCodeChecksum:4b3a1116045b1c18e6aa3288bbd07b49)
  */
 
 /**
@@ -74,6 +74,13 @@ class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Queue Items');
+  }
+
   /**
    * Returns all the column names of this table
    *
index 07ca85b1d0a28ea5912ef89fb2c5f6725400de19..ac46d87104ec5eb1f168c7128a798f7615c73240 100644 (file)
@@ -36,7 +36,7 @@ class CRM_Queue_Page_Runner extends CRM_Core_Page {
     $qrid = CRM_Utils_Request::retrieve('qrid', 'String', $this, TRUE);
     $runner = CRM_Queue_Runner::instance($qrid);
     if (!is_object($runner)) {
-      CRM_Core_Error::fatal('Queue runner must be configured before execution.');
+      CRM_Core_Error::statusBounce('Queue runner must be configured before execution.');
     }
 
     CRM_Utils_System::setTitle($runner->title);
index 1258b533a852d88f8117066eb52aaad23f0d2a0d..3f6c474a9468fb204db677d8ea919ac24a6089c6 100644 (file)
@@ -130,7 +130,7 @@ class CRM_Queue_Queue_Sql extends CRM_Queue_Queue {
     $dao = CRM_Core_DAO::executeQuery($sql, $params, TRUE, 'CRM_Queue_DAO_QueueItem');
     if (is_a($dao, 'DB_Error')) {
       // FIXME - Adding code to allow tests to pass
-      CRM_Core_Error::fatal();
+      throw new CRM_Core_Exception('Unable to claim queue item');
     }
 
     if ($dao->fetch()) {
diff --git a/CRM/Queue/Queue/SqlParallel.php b/CRM/Queue/Queue/SqlParallel.php
new file mode 100644 (file)
index 0000000..9eb12ac
--- /dev/null
@@ -0,0 +1,210 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ * A queue implementation which stores items in the CiviCRM SQL database
+ */
+class CRM_Queue_Queue_SqlParallel extends CRM_Queue_Queue {
+
+  /**
+   * Create a reference to queue. After constructing the queue, one should
+   * usually call createQueue (if it's a new queue) or loadQueue (if it's
+   * known to be an existing queue).
+   *
+   * @param array $queueSpec
+   *   Array with keys:
+   *   - type: string, required, e.g. "interactive", "immediate", "stomp",
+   *     "beanstalk"
+   *   - name: string, required, e.g. "upgrade-tasks"
+   *   - reset: bool, optional; if a queue is found, then it should be
+   *     flushed; default to TRUE
+   *   - (additional keys depending on the queue provider).
+   */
+  public function __construct($queueSpec) {
+    parent::__construct($queueSpec);
+  }
+
+  /**
+   * Perform any registation or resource-allocation for a new queue
+   */
+  public function createQueue() {
+    // nothing to do -- just start CRUDing items in the appropriate table
+  }
+
+  /**
+   * Perform any loading or pre-fetch for an existing queue.
+   */
+  public function loadQueue() {
+    // nothing to do -- just start CRUDing items in the appropriate table
+  }
+
+  /**
+   * Release any resources claimed by the queue (memory, DB rows, etc)
+   */
+  public function deleteQueue() {
+    return CRM_Core_DAO::singleValueQuery("
+      DELETE FROM civicrm_queue_item
+      WHERE queue_name = %1
+    ", [
+      1 => [$this->getName(), 'String'],
+    ]);
+  }
+
+  /**
+   * Check if the queue exists.
+   *
+   * @return bool
+   */
+  public function existsQueue() {
+    return ($this->numberOfItems() > 0);
+  }
+
+  /**
+   * Add a new item to the queue.
+   *
+   * @param mixed $data
+   *   Serializable PHP object or array.
+   * @param array $options
+   *   Queue-dependent options; for example, if this is a
+   *   priority-queue, then $options might specify the item's priority.
+   */
+  public function createItem($data, $options = []) {
+    $dao = new CRM_Queue_DAO_QueueItem();
+    $dao->queue_name = $this->getName();
+    $dao->submit_time = CRM_Utils_Time::getTime('YmdHis');
+    $dao->data = serialize($data);
+    $dao->weight = CRM_Utils_Array::value('weight', $options, 0);
+    $dao->save();
+  }
+
+  /**
+   * Determine number of items remaining in the queue.
+   *
+   * @return int
+   */
+  public function numberOfItems() {
+    return CRM_Core_DAO::singleValueQuery("
+      SELECT count(*)
+      FROM civicrm_queue_item
+      WHERE queue_name = %1
+    ", [
+      1 => [$this->getName(), 'String'],
+    ]);
+  }
+
+  /**
+   * Get the next item.
+   *
+   * @param int $lease_time
+   *   Seconds.
+   *
+   * @return object
+   *   With key 'data' that matches the inputted data.
+   */
+  public function claimItem($lease_time = 3600) {
+
+    $result = NULL;
+    $dao = CRM_Core_DAO::executeQuery('LOCK TABLES civicrm_queue_item WRITE;');
+    $sql = "SELECT id, queue_name, submit_time, release_time, data
+        FROM civicrm_queue_item
+        WHERE queue_name = %1
+              AND release_time IS NULL
+        ORDER BY weight ASC, id ASC
+        LIMIT 1
+      ";
+    $params = [
+      1 => [$this->getName(), 'String'],
+    ];
+    $dao = CRM_Core_DAO::executeQuery($sql, $params, TRUE, 'CRM_Queue_DAO_QueueItem');
+    if (is_a($dao, 'DB_Error')) {
+      // FIXME - Adding code to allow tests to pass
+      CRM_Core_Error::fatal();
+    }
+
+    if ($dao->fetch()) {
+      $nowEpoch = CRM_Utils_Time::getTimeRaw();
+      CRM_Core_DAO::executeQuery("UPDATE civicrm_queue_item SET release_time = %1 WHERE id = %2", [
+        '1' => [date('YmdHis', $nowEpoch + $lease_time), 'String'],
+        '2' => [$dao->id, 'Integer'],
+      ]);
+      // (Comment by artfulrobot Sep 2019: Not sure what the below comment means, should be removed/clarified?)
+      // work-around: inconsistent date-formatting causes unintentional breakage
+      #        $dao->submit_time = date('YmdHis', strtotime($dao->submit_time));
+      #        $dao->release_time = date('YmdHis', $nowEpoch + $lease_time);
+      #        $dao->save();
+      $dao->data = unserialize($dao->data);
+      $result = $dao;
+    }
+
+    $dao = CRM_Core_DAO::executeQuery('UNLOCK TABLES;');
+
+    return $result;
+  }
+
+  /**
+   * Get the next item, even if there's an active lease
+   *
+   * @param int $lease_time
+   *   Seconds.
+   *
+   * @return object
+   *   With key 'data' that matches the inputted data.
+   */
+  public function stealItem($lease_time = 3600) {
+    $sql = "
+      SELECT id, queue_name, submit_time, release_time, data
+      FROM civicrm_queue_item
+      WHERE queue_name = %1
+      ORDER BY weight ASC, id ASC
+      LIMIT 1
+    ";
+    $params = [
+      1 => [$this->getName(), 'String'],
+    ];
+    $dao = CRM_Core_DAO::executeQuery($sql, $params, TRUE, 'CRM_Queue_DAO_QueueItem');
+    if ($dao->fetch()) {
+      $nowEpoch = CRM_Utils_Time::getTimeRaw();
+      CRM_Core_DAO::executeQuery("UPDATE civicrm_queue_item SET release_time = %1 WHERE id = %2", [
+        '1' => [date('YmdHis', $nowEpoch + $lease_time), 'String'],
+        '2' => [$dao->id, 'Integer'],
+      ]);
+      $dao->data = unserialize($dao->data);
+      return $dao;
+    }
+  }
+
+  /**
+   * Remove an item from the queue.
+   *
+   * @param CRM_Core_DAO $dao
+   *   The item returned by claimItem.
+   */
+  public function deleteItem($dao) {
+    $dao->delete();
+    $dao->free();
+  }
+
+  /**
+   * Return an item that could not be processed.
+   *
+   * @param CRM_Core_DAO $dao
+   *   The item returned by claimItem.
+   */
+  public function releaseItem($dao) {
+    $sql = "UPDATE civicrm_queue_item SET release_time = NULL WHERE id = %1";
+    $params = [
+      1 => [$dao->id, 'Integer'],
+    ];
+    CRM_Core_DAO::executeQuery($sql, $params);
+    $dao->free();
+  }
+
+}
index cc235a182dc7c91c52740576deac9a3766e82045..b2af24148fca32694430a7fecd937740a2aa16bc 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Report/ReportInstance.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:3b68bec0504edaba7f0038dc41baa524)
+ * (GenCodeChecksum:e578602adaab855b72e2aef8992cb97e)
  */
 
 /**
@@ -21,6 +21,13 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
    */
   public static $_tableName = 'civicrm_report_instance';
 
+  /**
+   * Icon associated with this entity.
+   *
+   * @var string
+   */
+  public static $_icon = 'fa-bar-chart';
+
   /**
    * Should CiviCRM log any modifications to this table in the civicrm_log table.
    *
@@ -181,6 +188,13 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Reports');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index f09de2def6efe856dd694eee5e371e78d75d5690..2aa9b17f9ae3f74ea4c52be3eebc53b13b999380 100644 (file)
@@ -612,7 +612,7 @@ class CRM_Report_Form extends CRM_Core_Form {
         $this->_instanceValues
       );
       if (empty($this->_instanceValues)) {
-        CRM_Core_Error::fatal("Report could not be loaded.");
+        CRM_Core_Error::statusBounce("Report could not be loaded.");
       }
       $this->_title = $this->_instanceValues['title'];
       if (!empty($this->_instanceValues['permission']) &&
@@ -681,7 +681,7 @@ class CRM_Report_Form extends CRM_Core_Form {
     // Do not display Report Settings section if administer Reports permission is absent OR
     // if report instance is reserved and administer reserved reports absent
     if (!CRM_Core_Permission::check('administer Reports') ||
-      ($this->_instanceValues['is_reserved'] &&
+      (!empty($this->_instanceValues['is_reserved']) &&
         !CRM_Core_Permission::check('administer reserved reports'))
     ) {
       $this->_instanceForm = FALSE;
@@ -692,7 +692,7 @@ class CRM_Report_Form extends CRM_Core_Form {
     if (CRM_Core_Permission::check('administer Reports') ||
       CRM_Core_Permission::check('access Report Criteria')
     ) {
-      if (!$this->_instanceValues['is_reserved'] ||
+      if (empty($this->_instanceValues['is_reserved']) ||
         CRM_Core_Permission::check('administer reserved reports')
       ) {
         $this->assign('criteriaForm', TRUE);
index 19c6a9fc3e8fbdd8b14e14860f3dec74f35eea07..e0c5b6408eeba56a61a08b78eada9c026ad5d991 100644 (file)
@@ -643,7 +643,7 @@ class CRM_Report_Form_Activity extends CRM_Report_Form {
    */
   public function add2group($groupID) {
     if (CRM_Utils_Array::value("contact_target_op", $this->_params) == 'nll') {
-      CRM_Core_Error::fatal(ts('Current filter criteria didn\'t have any target contact to add to group'));
+      CRM_Core_Error::statusBounce(ts('Current filter criteria didn\'t have any target contact to add to group'));
     }
 
     $new_select = 'AS addtogroup_contact_id';
index c3ed3f542922d6c3febce46c75c5b03900accd13..8b347fb735b7ddbb58cdcb13389f249af1d799a2 100644 (file)
@@ -178,6 +178,9 @@ class CRM_Report_Form_Contact_LoggingSummary extends CRM_Logging_ReportSummary {
    *
    * @param array $rows
    *   Rows generated by SQL, with an array for each row.
+   *
+   * @throws \CRM_Core_Exception
+   * @throws \CiviCRM_API3_Exception
    */
   public function alterDisplay(&$rows) {
     // cache for id → is_deleted mapping
@@ -206,9 +209,9 @@ class CRM_Report_Form_Contact_LoggingSummary extends CRM_Logging_ReportSummary {
         $row['log_civicrm_entity_altered_contact_hover'] = ts("Go to contact summary");
         $entity = $this->getEntityValue($row['log_civicrm_entity_id'], $row['log_civicrm_entity_log_type'], $row['log_civicrm_entity_log_date']);
         if ($entity) {
-          $row['log_civicrm_entity_altered_contact'] = $row['log_civicrm_entity_altered_contact'] . " [{$entity}]";
+          $row['log_civicrm_entity_altered_contact'] .= " [{$entity}]";
         }
-        if ($entity == 'Contact Merged') {
+        if ($entity === 'Contact Merged') {
           // We're looking at a merge activity created against the surviving
           // contact record. There should be a single activity created against
           // the deleted contact record, with this activity as parent.
@@ -228,14 +231,14 @@ class CRM_Report_Form_Contact_LoggingSummary extends CRM_Logging_ReportSummary {
 
       }
       $row['altered_by_contact_display_name_link'] = CRM_Utils_System::url('civicrm/contact/view', 'reset=1&cid=' . $row['log_civicrm_entity_log_user_id']);
-      $row['altered_by_contact_display_name_hover'] = ts("Go to contact summary");
+      $row['altered_by_contact_display_name_hover'] = ts('Go to contact summary');
 
-      if ($row['log_civicrm_entity_is_deleted'] and 'Update' == CRM_Utils_Array::value('log_civicrm_entity_log_action', $row)) {
+      if ($row['log_civicrm_entity_is_deleted'] && 'Update' === $row['log_civicrm_entity_log_action']) {
         $row['log_civicrm_entity_log_action'] = ts('Delete (to trash)');
       }
 
-      if ('Contact' == CRM_Utils_Array::value('log_type', $this->_logTables[$row['log_civicrm_entity_log_type']]) &&
-        CRM_Utils_Array::value('log_civicrm_entity_log_action', $row) == ts('Insert')
+      if ('Contact' === ($this->_logTables[$row['log_civicrm_entity_log_type']]['log_type'] ?? NULL) &&
+        $row['log_civicrm_entity_log_action'] === ts('Insert')
       ) {
         $row['log_civicrm_entity_log_action'] = ts('Update');
       }
@@ -246,7 +249,7 @@ class CRM_Report_Form_Contact_LoggingSummary extends CRM_Logging_ReportSummary {
       if ($newAction = $this->getEntityAction($row['log_civicrm_entity_id'],
         $row['log_civicrm_entity_log_conn_id'],
         $row['log_civicrm_entity_log_type'],
-        CRM_Utils_Array::value('log_civicrm_entity_log_action', $row))
+        ($row['log_civicrm_entity_log_action'] ?? NULL))
       ) {
         $row['log_civicrm_entity_log_action'] = $newAction;
       }
@@ -255,7 +258,7 @@ class CRM_Report_Form_Contact_LoggingSummary extends CRM_Logging_ReportSummary {
 
       $date = CRM_Utils_Date::isoToMysql($row['log_civicrm_entity_log_date']);
 
-      if (in_array(CRM_Utils_Array::value('log_civicrm_entity_log_action', $row), ['Update', 'Delete'])) {
+      if (in_array(($row['log_civicrm_entity_log_action'] ?? NULL), ['Update', 'Delete'])) {
         $row = $this->addDetailReportLinksToRow($baseQueryCriteria, $row);
       }
 
@@ -293,7 +296,7 @@ class CRM_Report_Form_Contact_LoggingSummary extends CRM_Logging_ReportSummary {
     $entity = $this->currentLogTable;
 
     $detail = $this->_logTables[$entity];
-    $tableName = CRM_Utils_Array::value('table_name', $detail, $entity);
+    $tableName = $detail['table_name'] ?? $entity;
     $clause = $detail['entity_table'] ?? NULL;
     $clause = $clause ? "AND entity_log_civireport.entity_table = 'civicrm_contact'" : NULL;
 
@@ -333,6 +336,7 @@ LEFT  JOIN civicrm_contact altered_by_contact_civireport
   protected function addDetailReportLinksToRow($baseQueryCriteria, $row) {
     $q = $baseQueryCriteria;
     $q .= (!empty($row['log_civicrm_entity_altered_contact'])) ? '&alteredName=' . $row['log_civicrm_entity_altered_contact'] : '';
+    $q .= (!empty($row['log_civicrm_entity_altered_contact_id'])) ? '&cid=' . $row['log_civicrm_entity_altered_contact_id'] : '';
     $q .= (!empty($row['altered_by_contact_display_name'])) ? '&alteredBy=' . $row['altered_by_contact_display_name'] : '';
     $q .= (!empty($row['log_civicrm_entity_log_user_id'])) ? '&alteredById=' . $row['log_civicrm_entity_log_user_id'] : '';
 
index 12deba433c32f83bd00413901d1b3526b8656b66..ebec5bd4233362474e65205817845708e01bddf0 100644 (file)
@@ -643,6 +643,7 @@ class CRM_Report_Form_Contribute_Bookkeeping extends CRM_Report_Form {
     $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label');
     $creditCardTypes = CRM_Financial_DAO_FinancialTrxn::buildOptions('card_type_id');
     foreach ($rows as $rowNum => $row) {
+      $entryFound = FALSE;
       // convert display name to links
       if (array_key_exists('civicrm_contact_sort_name', $row) &&
         !empty($rows[$rowNum]['civicrm_contact_sort_name']) &&
index ea28427be49aa08b8e155493a3b02773a270a65a..29dd59842e0bfe5f141831a2636ca192bb1596e8 100644 (file)
@@ -354,7 +354,7 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form {
                 $fy = $config->fiscalYearStart;
                 $fiscal = self::fiscalYearOffset($field['dbAlias']);
 
-                $select[] = "DATE_ADD(MAKEDATE({$fiscal}, 1), INTERVAL ({$fy{'M'}})-1 MONTH) AS {$tableName}_{$fieldName}_start";
+                $select[] = "DATE_ADD(MAKEDATE({$fiscal}, 1), INTERVAL ({$fy['M']})-1 MONTH) AS {$tableName}_{$fieldName}_start";
                 $select[] = "{$fiscal} AS {$tableName}_{$fieldName}_subtotal";
                 $select[] = "{$fiscal} AS {$tableName}_{$fieldName}_interval";
                 $field['title'] = ts('Fiscal Year Beginning');
@@ -764,9 +764,9 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form {
   /**
    * Build chart.
    *
-   * @param array $rows
+   * @param array $original_rows
    */
-  public function buildChart(&$rows) {
+  public function buildChart(&$original_rows) {
     $graphRows = [];
 
     if (!empty($this->_params['charts'])) {
@@ -775,6 +775,14 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form {
         $contrib = !empty($this->_params['fields']['total_amount']);
         $softContrib = !empty($this->_params['fields']['soft_amount']);
 
+        // Make a copy so that we don't affect what gets passed later to hooks etc.
+        $rows = $original_rows;
+        if ($this->_rollup) {
+          // Remove the total row otherwise it overwrites the real last month's data since it has the
+          // same date.
+          array_pop($rows);
+        }
+
         foreach ($rows as $key => $row) {
           if ($row['civicrm_contribution_receive_date_subtotal']) {
             $graphRows['receive_date'][] = $row['civicrm_contribution_receive_date_start'];
index df5597aa615ad4620a21befbf64f2d6f8d68e3ab..3712539aa61267f5a0cdeaed357401c16b9cea77 100644 (file)
@@ -513,7 +513,7 @@ SELECT COUNT({$this->_aliases['civicrm_grant']}.id) as count ,
       return;
     }
 
-    $currencies = CRM_Core_PseudoConstant::get('CRM_Grant_DAO_Grant', 'currency', ['labelColumn' => 'symbol']);
+    $currencies = CRM_Core_PseudoConstant::get('CRM_Grant_DAO_Grant', 'currency', ['labelColumn' => 'name']);
     $currency = $currencies[$values['civicrm_grant_currency']];
 
     if (!$customData) {
index 71c005d679eb1797d4e79139c5d6460bb24bde79..a5852f190283a9213b08682ab14c12b07df8ffc8 100644 (file)
@@ -63,7 +63,7 @@ class CRM_Report_Page_Options extends CRM_Core_Page_Basic {
       self::$_gId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup', self::$_gName, 'id', 'name');
     }
     else {
-      CRM_Core_Error::fatal();
+      CRM_Core_Error::statusBounce('Unable to determine the Option Group');
     }
 
     self::$_GName = ucwords(str_replace('_', ' ', self::$_gName));
index 7088afe195f7db8b2be8ca8233dc99828f15899a..933b002642bb9df5969ca2efef5b9d8d33234bb7 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/SMS/Provider.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8f832b1b8dbd4cbee327a0900c128cc4)
+ * (GenCodeChecksum:964732a3dec2213ab9106ddd23e5391d)
  */
 
 /**
@@ -103,6 +103,13 @@ class CRM_SMS_DAO_Provider extends CRM_Core_DAO {
     parent::__construct();
   }
 
+  /**
+   * Returns localized title of this entity.
+   */
+  public static function getEntityTitle() {
+    return ts('Providers');
+  }
+
   /**
    * Returns foreign keys and entity references.
    *
index afb81c278c60ec062265f6b7110c9919aac2cc1e..49f1adbd97c3086be84fd06794478e0b9147d2e4 100644 (file)
@@ -9,12 +9,6 @@
  +--------------------------------------------------------------------+
  */
 
-/**
- *
- * @package CRM
- * @copyright CiviCRM LLC https://civicrm.org/licensing
- */
-
 /**
  * This class generates form components
  * for previewing Civicrm Profile Group
@@ -27,10 +21,10 @@ class CRM_UF_Form_Inline_Preview extends CRM_UF_Form_AbstractPreview {
    * gets session variables for group or field id
    */
   public function preProcess() {
-    if ($_SERVER['REQUEST_METHOD'] != 'POST') {
+    if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
       // CRM_Core_Controller validates qfKey for POST requests, but not necessarily
       // for GET requests. Allowing GET would therefore be CSRF vulnerability.
-      CRM_Core_Error::fatal(ts('Preview only supports HTTP POST'));
+      CRM_Core_Error::statusBounce(ts('Preview only supports HTTP POST'));
     }
     // Inline forms don't get menu-level permission checks
     $checkPermission = [
@@ -45,15 +39,12 @@ class CRM_UF_Form_Inline_Preview extends CRM_UF_Form_AbstractPreview {
     $content = json_decode($_REQUEST['ufData'], TRUE);
     foreach (['ufGroup', 'ufFieldCollection'] as $key) {
       if (!is_array($content[$key])) {
-        CRM_Core_Error::fatal("Missing JSON parameter, $key");
+        CRM_Core_Error::statusBounce("Missing JSON parameter, $key");
       }
     }
-    //echo '<pre>'.htmlentities(var_export($content, TRUE)) .'</pre>';
-    //CRM_Utils_System::civiExit();
+
     $fields = CRM_Core_BAO_UFGroup::formatUFFields($content['ufGroup'], $content['ufFieldCollection']);
-    //$fields = CRM_Core_BAO_UFGroup::getFields(1);
     $this->setProfile($fields);
-    //echo '<pre>'.htmlentities(var_export($fields, TRUE)) .'</pre>';CRM_Utils_System::civiExit();
   }
 
 }
index 0d2b09e9b080b257ffcb45410313c41b13f1f649..466278a3fa460bd9860a9363fb660cb353f680d5 100644 (file)
@@ -14,7 +14,7 @@ class CRM_UF_Page_ProfileEditor extends CRM_Core_Page {
    * @throws \Exception
    */
   public function run() {
-    CRM_Core_Error::fatal('This is not a real page!');
+    throw new CRM_Core_Exception('This is not a real page!');
   }
 
   /**
index e1f7bcd2def8c7ef36eff251144c621906b63ffb..bd7c86b6869875ad2ba8eed4143f69d80c9f9671 100644 (file)
@@ -168,7 +168,7 @@ class CRM_Upgrade_Form extends CRM_Core_Form {
       if (!isset($errorMessage)) {
         $errorMessage = 'pre-condition failed for current upgrade step';
       }
-      CRM_Core_Error::fatal($errorMessage);
+      throw new CRM_Core_Exception($errorMessage);
     }
     $this->assign('recentlyViewed', FALSE);
   }
@@ -234,7 +234,7 @@ class CRM_Upgrade_Form extends CRM_Core_Form {
       if (!isset($errorMessage)) {
         $errorMessage = 'post-condition failed for current upgrade step';
       }
-      CRM_Core_Error::fatal($errorMessage);
+      throw new CRM_Core_Exception($errorMessage);
     }
   }
 
@@ -385,7 +385,7 @@ SET    version = '$version'
     }
     else {
       if (!file_exists($sqlFile)) {
-        CRM_Core_Error::fatal("sqlfile - $rev.mysql not found.");
+        throw new CRM_Core_Exception("sqlfile - $rev.mysql not found.");
       }
       $this->source($sqlFile);
     }
@@ -400,13 +400,13 @@ SET    version = '$version'
     $latestVer = CRM_Utils_System::version();
     $currentVer = CRM_Core_BAO_Domain::version(TRUE);
     if (!$currentVer) {
-      CRM_Core_Error::fatal(ts('Version information missing in civicrm database.'));
+      throw new CRM_Core_Exception(ts('Version information missing in civicrm database.'));
     }
     elseif (stripos($currentVer, 'upgrade')) {
-      CRM_Core_Error::fatal(ts('Database check failed - the database looks to have been partially upgraded. You may want to reload the database with the backup and try the upgrade process again.'));
+      throw new CRM_Core_Exception(ts('Database check failed - the database looks to have been partially upgraded. You may want to reload the database with the backup and try the upgrade process again.'));
     }
     if (!$latestVer) {
-      CRM_Core_Error::fatal(ts('Version information missing in civicrm codebase.'));
+      throw new CRM_Core_Exception(ts('Version information missing in civicrm codebase.'));
     }
 
     return [$currentVer, $latestVer];
@@ -453,6 +453,16 @@ SET    version = '$version'
         ]);
     }
 
+    if (version_compare(CRM_Utils_SQL::getDatabaseVersion(), CRM_Upgrade_Incremental_General::MIN_INSTALL_MYSQL_VER) < 0) {
+      $error = ts('CiviCRM %4 requires MySQL version v%1 or MariaDB v%3 (or newer), but the current system uses %2 ',
+        [
+          1 => CRM_Upgrade_Incremental_General::MIN_INSTALL_MYSQL_VER,
+          2 => CRM_Utils_SQL::getDatabaseVersion(),
+          3 => '10.1',
+          4 => $latestVer,
+        ]);
+    }
+
     // check for mysql trigger privileges
     if (!\Civi::settings()->get('logging_no_trigger_permission') && !CRM_Core_DAO::checkTriggerViewPermission(FALSE, TRUE)) {
       $error = ts('CiviCRM %1 requires MySQL trigger privileges.',
@@ -510,7 +520,7 @@ SET    version = '$version'
 
     // Ensure that queue can be created
     if (!CRM_Queue_BAO_QueueItem::findCreateTable()) {
-      CRM_Core_Error::fatal(ts('Failed to find or create queueing table'));
+      throw new CRM_Core_Exception(ts('Failed to find or create queueing table'));
     }
     $queue = CRM_Queue_Service::singleton()->create([
       'name' => self::QUEUE_NAME,
@@ -707,7 +717,7 @@ SET    version = '$version'
     // pre-db check for major release.
     if ($upgrade->checkVersionRelease($rev, 'alpha1')) {
       if (!(is_callable([$versionObject, 'verifyPreDBstate']))) {
-        CRM_Core_Error::fatal("verifyPreDBstate method was not found for $rev");
+        throw new CRM_Core_Exception("verifyPreDBstate method was not found for $rev");
       }
 
       $error = NULL;
@@ -715,7 +725,7 @@ SET    version = '$version'
         if (!isset($error)) {
           $error = "post-condition failed for current upgrade for $rev";
         }
-        CRM_Core_Error::fatal($error);
+        throw new CRM_Core_Exception($error);
       }
 
     }
index 664097658036a136da976295932a214cac0e6f2d..3536831b3bffba05f21e1747b016e39e1f3041d1 100644 (file)
@@ -56,14 +56,7 @@ class CRM_Upgrade_Incremental_General {
    *
    * @see install/index.php
    */
-  const MIN_INSTALL_MYSQL_VER = '5.5';
-
-  /**
-   * The minimum MySQL/MariaDB version required to install Civi.
-   *
-   * @see install/index.php
-   */
-  const NEW_MIN_INSTALL_MYSQL_VER = '5.6.5';
+  const MIN_INSTALL_MYSQL_VER = '5.6.5';
 
   /**
    * Compute any messages which should be displayed before upgrade.
@@ -86,25 +79,14 @@ class CRM_Upgrade_Incremental_General {
       ]);
       $preUpgradeMessage .= '</p>';
     }
-    if (version_compare(CRM_Utils_SQL::getDatabaseVersion(), self::MIN_RECOMMENDED_MYSQL_VER) < 0 && version_compare(CRM_Utils_SQL::getDatabaseVersion(), self::NEW_MIN_INSTALL_MYSQL_VER) >= 0) {
+    if (version_compare(CRM_Utils_SQL::getDatabaseVersion(), self::MIN_RECOMMENDED_MYSQL_VER) < 0) {
       $preUpgradeMessage .= '<p>';
-      $preUpgradeMessage .= ts('This system uses MySQL/MariaDB v%4. You may proceed with the upgrade, and CiviCRM v%1 will continue working normally. However, future releases will require MySQL v%2 or MariaDB v%3.', [
+      $preUpgradeMessage .= ts('This system uses MySQL/MariaDB v%5. You may proceed with the upgrade, and CiviCRM v%1 will continue working normally. However, CiviCRM v%4 will require MySQL v%2 or MariaDB v%3.', [
         1 => $latestVer,
         2 => self::MIN_RECOMMENDED_MYSQL_VER . '+',
         3 => '10.1' . '+',
-        4 => CRM_Utils_SQL::getDatabaseVersion(),
-      ]);
-      $preUpgradeMessage .= '</p>';
-    }
-    if (version_compare(CRM_Utils_SQL::getDatabaseVersion(), self::NEW_MIN_INSTALL_MYSQL_VER) < 0) {
-      $preUpgradeMessage .= '<p>';
-      $preUpgradeMessage .= ts('This system uses MySQL/MariaDB v%6. You may proceed with the upgrade, and CiviCRM v%1 will continue working normally. However, CiviCRM v%5 will require MySQL v%2. We recommend MySQL v%3 or MariaDB v%4.', [
-        1 => $latestVer,
-        2 => self::NEW_MIN_INSTALL_MYSQL_VER . '+',
-        3 => self::MIN_RECOMMENDED_MYSQL_VER . '+',
-        4 => '10.1' . '+',
-        5 => '5.28' . '+',
-        6 => CRM_Utils_SQL::getDatabaseVersion(),
+        4 => '5.34' . '+',
+        5 => CRM_Utils_SQL::getDatabaseVersion(),
       ]);
       $preUpgradeMessage .= '</p>';
     }
diff --git a/CRM/Upgrade/Incremental/php/FiveTwentyEight.php b/CRM/Upgrade/Incremental/php/FiveTwentyEight.php
new file mode 100644 (file)
index 0000000..31f8b7f
--- /dev/null
@@ -0,0 +1,84 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ * Upgrade logic for FiveTwentyEight */
+class CRM_Upgrade_Incremental_php_FiveTwentyEight extends CRM_Upgrade_Incremental_Base {
+
+  /**
+   * Compute any messages which should be displayed beforeupgrade.
+   *
+   * Note: This function is called iteratively for each upcoming
+   * revision to the database.
+   *
+   * @param string $preUpgradeMessage
+   * @param string $rev
+   *   a version number, e.g. '4.4.alpha1', '4.4.beta3', '4.4.0'.
+   * @param null $currentVer
+   */
+  public function setPreUpgradeMessage(&$preUpgradeMessage, $rev, $currentVer = NULL) {
+    // Example: Generate a pre-upgrade message.
+    // if ($rev == '5.12.34') {
+    //   $preUpgradeMessage .= '<p>' . ts('A new permission, "%1", has been added. This permission is now used to control access to the Manage Tags screen.', array(1 => ts('manage tags'))) . '</p>';
+    // }
+  }
+
+  /**
+   * Compute any messages which should be displayed after upgrade.
+   *
+   * @param string $postUpgradeMessage
+   *   alterable.
+   * @param string $rev
+   *   an intermediate version; note that setPostUpgradeMessage is called repeatedly with different $revs.
+   */
+  public function setPostUpgradeMessage(&$postUpgradeMessage, $rev) {
+    // Example: Generate a post-upgrade message.
+    // if ($rev == '5.12.34') {
+    //   $postUpgradeMessage .= '<br /><br />' . ts("By default, CiviCRM now disables the ability to import directly from SQL. To use this feature, you must explicitly grant permission 'import SQL datasource'.");
+    // }
+  }
+
+  /*
+   * Important! All upgrade functions MUST add a 'runSql' task.
+   * Uncomment and use the following template for a new upgrade version
+   * (change the x in the function name):
+   */
+
+  /**
+   * Upgrade function.
+   *
+   * @param string $rev
+   */
+  public function upgrade_5_28_alpha1($rev) {
+    $this->addTask(ts('Upgrade DB to %1: SQL', [1 => $rev]), 'runSql', $rev);
+    $this->addTask('Populate missing Contact Type name fields', 'populateMissingContactTypeName');
+    $this->addTask('Add icon column to civicrm_custom_group', 'addColumn',
+      'civicrm_custom_group', 'icon', "varchar(255) COMMENT 'crm-i icon class' DEFAULT NULL");
+    $this->addTask('Remove index on medium_id from civicrm_activity', 'dropIndex', 'civicrm_activity', 'index_medium_id');
+  }
+
+  public static function populateMissingContactTypeName() {
+    $contactTypes = \Civi\Api4\ContactType::get()
+      ->setCheckPermissions(FALSE)
+      ->execute();
+    foreach ($contactTypes as $contactType) {
+      if (empty($contactType['name'])) {
+        \Civi\Api4\ContactType::update()
+          ->addWhere('id', '=', $contactType['id'])
+          ->addValue('name', ucfirst(CRM_Utils_String::munge($contactType['label'])))
+          ->setCheckPermissions(FALSE)
+          ->execute();
+      }
+    }
+    return TRUE;
+  }
+
+}
index eabdbe968e19bf32bd25fd1ea91094a3524d61e4..4d603e82972c0d7fceff33c45df6ec3b73fc9ea2 100644 (file)
@@ -39,7 +39,7 @@ class CRM_Upgrade_Incremental_php_FourThree extends CRM_Upgrade_Incremental_Base
           1 => $count,
           2 => '<em>SELECT ct.* FROM civicrm_contribution ct LEFT JOIN civicrm_contact c ON ct.contact_id = c.id WHERE c.id IS NULL;</em>',
         ]);
-        CRM_Core_Error::fatal($error);
+        throw new CRM_Core_Exception($error);
         return FALSE;
       }
     }
@@ -51,7 +51,7 @@ class CRM_Upgrade_Incremental_php_FourThree extends CRM_Upgrade_Incremental_Base
         theme('item_list', []);
         $theme_registry = theme_get_registry();
         if (!isset($theme_registry['page']['preprocess functions']) || FALSE === array_search('civicrm_preprocess_page_inject', $theme_registry['page']['preprocess functions'])) {
-          CRM_Core_Error::fatal('Please reset the Drupal cache (Administer => Site Configuration => Performance => Clear cached data))');
+          throw new CRM_Core_Exception('Please reset the Drupal cache (Administer => Site Configuration => Performance => Clear cached data))');
         }
       }
     }
@@ -79,7 +79,7 @@ WHERE {$key}.id IS NULL";
         $dao = CRM_Core_DAO::executeQuery($query, [], TRUE, NULL, FALSE, FALSE);
         if ($dao->N) {
           $invalidDataMessage = '<strong>Oops, it looks like you have orphaned recurring contribution records in your database. Before this upgrade can complete they will need to be fixed or deleted. <a href="http://wiki.civicrm.org/confluence/display/CRMDOC/Fixing+Orphaned+Contribution+Recur+Records" target="_blank">You can review steps to correct this situation on the documentation wiki.</a></strong>';
-          CRM_Core_Error::fatal($invalidDataMessage);
+          throw new CRM_Core_Exception($invalidDataMessage);
           return FALSE;
         }
       }
diff --git a/CRM/Upgrade/Incremental/sql/5.28.alpha1.mysql.tpl b/CRM/Upgrade/Incremental/sql/5.28.alpha1.mysql.tpl
new file mode 100644 (file)
index 0000000..bb5e5c9
--- /dev/null
@@ -0,0 +1,20 @@
+{* file to handle db changes in 5.28.alpha1 during upgrade *}
+
+-- https://github.com/civicrm/civicrm-core/pull/17579
+ALTER TABLE `civicrm_navigation` CHANGE `has_separator`
+`has_separator` tinyint   DEFAULT 0 COMMENT 'Place a separator either before or after this menu item.';
+
+-- https://github.com/civicrm/civicrm-core/pull/17450
+ALTER TABLE `civicrm_activity` CHANGE `activity_date_time` `activity_date_time` datetime NULL  DEFAULT CURRENT_TIMESTAMP COMMENT 'Date and time this activity is scheduled to occur. Formerly named scheduled_date_time.';
+ALTER TABLE `civicrm_activity` CHANGE `created_date` `created_date` timestamp NULL  DEFAULT CURRENT_TIMESTAMP COMMENT 'When was the activity was created.';
+
+-- https://github.com/civicrm/civicrm-core/pull/17548
+ALTER TABLE civicrm_contact_type CHANGE name  name varchar(64) not null comment 'Internal name of Contact Type (or Subtype).';
+ALTER TABLE civicrm_contact_type CHANGE is_active is_active tinyint DEFAULT 1  COMMENT 'Is this entry active?';
+ALTER TABLE civicrm_contact_type CHANGE is_reserved is_reserved tinyint DEFAULT 0  COMMENT 'Is this contact type a predefined system type';
+UPDATE civicrm_contact_type SET is_active = 1 WHERE is_active IS NULL;
+UPDATE civicrm_contact_type SET is_reserved = 0 WHERE is_reserved IS NULL;
+
+-- https://lab.civicrm.org/dev/core/-/issues/1833
+ALTER TABLE civicrm_event CHANGE participant_listing_id participant_listing_id int unsigned   DEFAULT NULL COMMENT 'Should we expose the participant list? Implicit FK to civicrm_option_value where option_group = participant_listing.';
+UPDATE civicrm_event SET participant_listing_id = NULL WHERE participant_listing_id = 0;
index a8008f14b912982aacd66743197227a9cad31efd..77b7ad1103161a52bbe00f63278a4e04f819b9ed 100644 (file)
@@ -66,7 +66,7 @@ class CRM_Upgrade_Page_Upgrade extends CRM_Core_Page {
         break;
 
       default:
-        CRM_Core_Error::fatal(ts('Unrecognized upgrade action'));
+        throw new CRM_Core_Exception(ts('Unrecognized upgrade action'));
     }
   }
 
@@ -79,7 +79,7 @@ class CRM_Upgrade_Page_Upgrade extends CRM_Core_Page {
     list($currentVer, $latestVer) = $upgrade->getUpgradeVersions();
 
     if ($error = $upgrade->checkUpgradeableVersion($currentVer, $latestVer)) {
-      CRM_Core_Error::fatal($error);
+      throw new CRM_Core_Exception($error);
     }
 
     $config = CRM_Core_Config::singleton();
@@ -119,7 +119,7 @@ class CRM_Upgrade_Page_Upgrade extends CRM_Core_Page {
     list($currentVer, $latestVer) = $upgrade->getUpgradeVersions();
 
     if ($error = $upgrade->checkUpgradeableVersion($currentVer, $latestVer)) {
-      CRM_Core_Error::fatal($error);
+      throw new CRM_Core_Exception($error);
     }
 
     $config = CRM_Core_Config::singleton();
@@ -145,7 +145,7 @@ class CRM_Upgrade_Page_Upgrade extends CRM_Core_Page {
       'buttons' => ['retry' => $config->debug, 'skip' => $config->debug],
     ]);
     $queueRunner->runAllViaWeb();
-    CRM_Core_Error::fatal(ts('Upgrade failed to redirect'));
+    throw new CRM_Core_Exception(ts('Upgrade failed to redirect'));
   }
 
   /**
@@ -172,7 +172,7 @@ class CRM_Upgrade_Page_Upgrade extends CRM_Core_Page {
     // do a version check - after doFinish() sets the final version
     list($currentVer, $latestVer) = $upgrade->getUpgradeVersions();
     if ($error = $upgrade->checkCurrentVersion($currentVer, $latestVer)) {
-      CRM_Core_Error::fatal($error);
+      throw new CRM_Core_Exception($error);
     }
 
     $template->assign('message', $postUpgradeMessage);
index 4753496c8cc66ad2a47c9df051642d5271217903..54c46df70bf4e657069d40a21f37db2e4e1de0f2 100644 (file)
@@ -938,45 +938,17 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component {
   public function checkMysqlVersion() {
     $messages = [];
     $version = CRM_Utils_SQL::getDatabaseVersion();
-    $minInstallVersion = CRM_Upgrade_Incremental_General::MIN_INSTALL_MYSQL_VER;
     $minRecommendedVersion = CRM_Upgrade_Incremental_General::MIN_RECOMMENDED_MYSQL_VER;
     $mariaDbRecommendedVersion = '10.1';
-    $upcomingCiviChangeVersion = '5.28';
-    if (version_compare(CRM_Utils_SQL::getDatabaseVersion(), $minInstallVersion, '<')) {
+    $upcomingCiviChangeVersion = '5.34';
+    if (version_compare(CRM_Utils_SQL::getDatabaseVersion(), $minRecommendedVersion, '<')) {
       $messages[] = new CRM_Utils_Check_Message(
         __FUNCTION__,
-        ts('This system uses MySQL/MariaDB v%1. To ensure the continued operation of CiviCRM, upgrade MySQL now. The recommended version is MySQL v%2 or MariaDB v%3.', [
-          1 => $version,
-          2 => $minRecommendedVersion . '+',
-          3 => '10.1' . '+',
-        ]),
-        ts('MySQL Out-of-Date'),
-        \Psr\Log\LogLevel::ERROR,
-        'fa-server'
-      );
-    }
-    elseif (version_compare(CRM_Utils_SQL::getDatabaseVersion(), CRM_Upgrade_Incremental_General::NEW_MIN_INSTALL_MYSQL_VER, '<')) {
-      $messages[] = new CRM_Utils_Check_Message(
-        __FUNCTION__,
-        ts('This system uses MySQL/MariaDB v%1. To prepare for CiviCRM v%5, please upgrade MySQL. The recommended version will be MySQL v%3 or MariaDB v%4. The minimum requirement will be MySQL v%2. ', [
-          1 => $version,
-          2 => CRM_Upgrade_Incremental_General::NEW_MIN_INSTALL_MYSQL_VER . '+',
-          3 => $minRecommendedVersion . '+',
-          4 => $mariaDbRecommendedVersion . '+',
-          5 => $upcomingCiviChangeVersion . '+',
-        ]),
-        ts('MySQL Out-of-Date'),
-        \Psr\Log\LogLevel::WARNING,
-        'fa-server'
-      );
-    }
-    elseif (version_compare(CRM_Utils_SQL::getDatabaseVersion(), $minRecommendedVersion, '<')) {
-      $messages[] = new CRM_Utils_Check_Message(
-        __FUNCTION__,
-        ts('This system uses MySQL/MariaDB v%1. You can continue to use this version of MySQL. However, support may be removed in a future release. The recommended version is MySQL v%2 or MariaDB v%3.', [
+        ts('To prepare for CiviCRM v%4, please upgrade MySQL. The recommended version will be MySQL v%2 or MariaDB v%3.', [
           1 => $version,
           2 => $minRecommendedVersion . '+',
           3 => $mariaDbRecommendedVersion . '+',
+          4 => $upcomingCiviChangeVersion . '+',
         ]),
         ts('MySQL Out-of-Date'),
         \Psr\Log\LogLevel::NOTICE,
index a0c429fbdae9ae0018924df03aef8d57d67d0b14..77a1679a14722781d890b39e4934d0644bdfebb9 100644 (file)
@@ -33,9 +33,9 @@ class CRM_Utils_Check_Component_OptionGroups extends CRM_Utils_Check_Component {
         if (count($values) > 0) {
           foreach ($values as $value) {
             try {
-              CRM_Utils_Type::validate($value['value'], $optionGroup['data_type'], FALSE, '', TRUE);
+              CRM_Utils_Type::validate($value['value'], $optionGroup['data_type']);
             }
-            catch (Exception $e) {
+            catch (CRM_Core_Exception $e) {
               $problemValues[] = [
                 'group_name' => $optionGroup['title'],
                 'value_name' => $value['label'],
index 9e4eac33ed88f7b4dde7c60a5e5a41c39c87f2df..831fca5bc8f5cd6397527e191616b7187a04ac39 100644 (file)
@@ -1822,6 +1822,7 @@ class CRM_Utils_Date {
             $to['d'] = $now['mday'];
             $to['M'] = $now['mon'];
             $to['Y'] = $now['year'];
+            $to = self::intervalAdd('day', -1, $to);
             unset($from);
             break;
 
index 3ad79207b6711b83df29cfa8e54449c9c3f6b2a2..ff1bccb6bf59327a81bdd6e17203f0ac71323789 100644 (file)
@@ -334,7 +334,7 @@ class CRM_Utils_File {
     if (CRM_Utils_Constant::value('CIVICRM_MYSQL_STRICT', CRM_Utils_System::isDevelopment())) {
       $db->query('SET SESSION sql_mode = STRICT_TRANS_TABLES');
     }
-    $db->query('SET NAMES utf8');
+    $db->query('SET NAMES utf8mb4');
     $transactionId = CRM_Utils_Type::escape(CRM_Utils_Request::id(), 'String');
     $db->query('SET @uniqueID = ' . "'$transactionId'");
 
index 32f01c2f3ff3dca8cd8bb4b12909a3fe0174678e..38c1da128e0db51fdf0e1678591e21dea5858ec7 100644 (file)
@@ -531,6 +531,26 @@ abstract class CRM_Utils_Hook {
       ->invoke(['op', 'groupID', 'entityID', 'params'], $op, $groupID, $entityID, $params, self::$_nullObject, self::$_nullObject, 'civicrm_custom');
   }
 
+  /**
+   * This hook is called before a db write on a custom table.
+   *
+   * @param string $op
+   *   The type of operation being performed.
+   * @param string $groupID
+   *   The custom group ID.
+   * @param object $entityID
+   *   The entityID of the row in the custom table.
+   * @param array $params
+   *   The parameters that were sent into the calling function.
+   *
+   * @return null
+   *   the return value is ignored
+   */
+  public static function customPre($op, $groupID, $entityID, &$params) {
+    return self::singleton()
+      ->invoke(['op', 'groupID', 'entityID', 'params'], $op, $groupID, $entityID, $params, self::$_nullObject, self::$_nullObject, 'civicrm_customPre');
+  }
+
   /**
    * This hook is called when composing the ACL where clause to restrict
    * visibility of contacts to the logged in user
index c7989ec626842d935c381ed23a99e1107a0fee46..c2d12ae18cffc677d923bd78b7b1c62a78147289 100644 (file)
@@ -117,7 +117,6 @@ class CRM_Utils_HttpClient {
     list($ch, $caConfig) = $this->createCurl($remoteFile);
 
     if (preg_match('/^https:/', $remoteFile) && !$caConfig->isEnableSSL()) {
-      // CRM_Core_Error::fatal('Cannot install this extension - does not support SSL');
       return [self::STATUS_DL_ERROR, NULL];
     }
 
@@ -146,14 +145,12 @@ class CRM_Utils_HttpClient {
   public function post($remoteFile, $params) {
     // Download extension zip file ...
     if (!function_exists('curl_init')) {
-      //CRM_Core_Error::fatal('Cannot install this extension - curl is not installed!');
       return [self::STATUS_DL_ERROR, NULL];
     }
 
     list($ch, $caConfig) = $this->createCurl($remoteFile);
 
     if (preg_match('/^https:/', $remoteFile) && !$caConfig->isEnableSSL()) {
-      // CRM_Core_Error::fatal('Cannot install this extension - does not support SSL');
       return [self::STATUS_DL_ERROR, NULL];
     }
 
index bcd80dd79967e5223b3518c738dc511554206d31..27e52d0d1ffb0c86acaaa11ecd4a949654563178 100644 (file)
@@ -54,13 +54,15 @@ class CRM_Utils_JS {
    * Note that you can only dedupe closures if they are directly adjacent and
    * have exactly the same parameters.
    *
+   * Also dedupes the "use strict" directive as it is only meaningful at the beginning of a closure.
+   *
    * @param array $scripts
    *   Javascript source.
    * @param array $localVars
    *   Ordered list of JS vars to identify the start of a closure.
    * @param array $inputVals
    *   Ordered list of input values passed into the closure.
-   * @return string
+   * @return string[]
    *   Javascript source.
    */
   public static function dedupeClosures($scripts, $localVars, $inputVals) {
@@ -70,7 +72,7 @@ class CRM_Utils_JS {
       return preg_quote($v, '/');
     }, $localVars));
     $opening .= '\)\s*\{';
-    $opening = '/^' . $opening . '/';
+    $opening = '/^' . $opening . '\s*(?:"use strict";\s|\'use strict\';\s)?/';
 
     // Example closing: })(angular, CRM.$, CRM._);
     $closing = '\}\s*\)\s*\(\s*';
@@ -107,7 +109,7 @@ class CRM_Utils_JS {
    * @return string
    */
   public static function stripComments($script) {
-    return preg_replace(":^\\s*//[^\n]+$:m", "", $script);
+    return preg_replace("#^\\s*//[^\n]*$(?:\r\n|\n)?#m", "", $script);
   }
 
   /**
@@ -124,6 +126,7 @@ class CRM_Utils_JS {
    *
    * @param string $js
    * @return mixed
+   * @throws Exception
    */
   public static function decode($js) {
     $js = trim($js);
@@ -187,7 +190,7 @@ class CRM_Utils_JS {
    *
    * @param $js
    * @return array
-   * @throws \Exception
+   * @throws Exception
    */
   public static function getRawProps($js) {
     $js = trim($js);
index 551024153f7577d1019fca5ebf63de91e8cab6e4..f5fb16244e43c2a67a4b736ffea615d7f35b2d12 100644 (file)
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  */
 
+use Brick\Money\Money;
+use Brick\Money\Context\DefaultContext;
+use Brick\Math\RoundingMode;
+
 /**
  * Money utilties
  */
@@ -135,8 +139,8 @@ class CRM_Utils_Money {
    */
   public static function subtractCurrencies($leftOp, $rightOp, $currency) {
     if (is_numeric($leftOp) && is_numeric($rightOp)) {
-      $precision = pow(10, self::getCurrencyPrecision($currency));
-      return (($leftOp * $precision) - ($rightOp * $precision)) / $precision;
+      $money = Money::of($leftOp, $currency, new DefaultContext(), RoundingMode::CEILING);
+      return $money->minus($rightOp)->getAmount()->toFloat();
     }
   }
 
index ff254735958b65660c0c0ffb404c9fdb3b7385f7..3dae925661efe6b395d181f0055199a3f9f24253 100644 (file)
@@ -75,7 +75,7 @@ class CRM_Utils_Number {
    */
   public static function formatUnitSize($size, $checkForPostMax = FALSE) {
     if ($size) {
-      $last = strtolower($size{strlen($size) - 1});
+      $last = strtolower($size[strlen($size) - 1]);
       $size = (int) $size;
       switch ($last) {
         // The 'G' modifier is available since PHP 5.1.0
index 643646c2ed6265a5f6ef1fb88444cee947c6099c..49b84ad8cd10d0499acc27288e7fea324d8a3d00 100644 (file)
@@ -63,15 +63,13 @@ class CRM_Utils_Request {
    *   Default value of the variable if not present.
    * @param string $method
    *   Where to look for the variable - 'GET', 'POST' or 'REQUEST'.
-   * @param bool $isThrowException
-   *   Should a an exception be thrown rather than a fatal.
    *
    * @return mixed
    *   The value of the variable
    *
    * @throws \CRM_Core_Exception
    */
-  public static function retrieve($name, $type, &$store = NULL, $abort = FALSE, $default = NULL, $method = 'REQUEST', $isThrowException = TRUE) {
+  public static function retrieve($name, $type, &$store = NULL, $abort = FALSE, $default = NULL, $method = 'REQUEST') {
 
     $value = NULL;
     switch ($method) {
@@ -97,10 +95,7 @@ class CRM_Utils_Request {
     }
 
     if (!isset($value) && $abort) {
-      if ($isThrowException) {
-        throw new CRM_Core_Exception(ts("Could not find valid value for %1", [1 => $name]));
-      }
-      CRM_Core_Error::fatal(ts("Could not find valid value for %1", [1 => $name]));
+      throw new CRM_Core_Exception(ts('Could not find valid value for %1', [1 => $name]));
     }
 
     if (!isset($value) && $default) {
@@ -108,7 +103,7 @@ class CRM_Utils_Request {
     }
 
     // minor hack for action
-    if ($name == 'action') {
+    if ($name === 'action') {
       if (!is_numeric($value) && is_string($value)) {
         $value = CRM_Core_Action::resolve($value);
       }
index 816c89f605d0079eb949a02d1e2be230c31473f5..f70cbc5d80c42c5168393f06d823d30f4dd9feb4 100644 (file)
@@ -67,7 +67,7 @@ class CRM_Utils_SQL_Insert {
         $value = NULL;
       }
       // Skip '_foobar' and '{\u00}*_options' and 'N'.
-      if (preg_match('/[a-zA-Z]/', $key{0}) && $key !== 'N') {
+      if (preg_match('/[a-zA-Z]/', $key[0]) && $key !== 'N') {
         $row[$key] = $value;
       }
     }
index e0cac9a763ba167433a6c45677831032d4f5e4cf..654b74ff0ebcb41cbd4c28162935265021dbebe0 100644 (file)
@@ -939,16 +939,15 @@ class CRM_Utils_String {
    * @return string
    */
   public static function pluralize($str) {
-    switch (substr($str, -1)) {
-      case 's':
-        return $str . 'es';
-
-      case 'y':
-        return substr($str, 0, -1) . 'ies';
-
-      default:
-        return $str . 's';
+    $lastLetter = substr($str, -1);
+    $lastTwo = substr($str, -2);
+    if ($lastLetter == 's' || $lastTwo == 'ch') {
+      return $str . 'es';
+    }
+    if ($lastLetter == 'y' && $lastTwo != 'ey') {
+      return substr($str, 0, -1) . 'ies';
     }
+    return $str . 's';
   }
 
   /**
index 6e42f703b8814c1f36bd5ecf6372bcea2ff57ae9..fad974b80d680a4232307d2a2a20ad79d229b887 100644 (file)
@@ -408,7 +408,15 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
     $request = new \Symfony\Component\HttpFoundation\Request([], [], [], [], [], $_SERVER);
 
     // Create a kernel and boot it.
-    \Drupal\Core\DrupalKernel::createFromRequest($request, $autoloader, 'prod')->prepareLegacyRequest($request);
+    $kernel = \Drupal\Core\DrupalKernel::createFromRequest($request, $autoloader, 'prod');
+    $kernel->boot();
+    $kernel->preHandle($request);
+    $container = $kernel->rebuildContainer();
+    // Add our request to the stack and route context.
+    $request->attributes->set(\Symfony\Cmf\Component\Routing\RouteObjectInterface::ROUTE_OBJECT, new \Symfony\Component\Routing\Route('<none>'));
+    $request->attributes->set(\Symfony\Cmf\Component\Routing\RouteObjectInterface::ROUTE_NAME, '<none>');
+    $container->get('request_stack')->push($request);
+    $container->get('router.request_context')->fromRequest($request);
 
     // Initialize Civicrm
     \Drupal::service('civicrm')->initialize();
@@ -537,7 +545,7 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
   public function getModules() {
     $modules = [];
 
-    $module_data = system_rebuild_module_data();
+    $module_data = \Drupal::service('extension.list.module')->reset()->getList();
     foreach ($module_data as $module_name => $extension) {
       if (!isset($extension->info['hidden']) && $extension->origin != 'core') {
         $extension->schema_version = drupal_get_installed_schema_version($module_name);
@@ -706,7 +714,7 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
    * @inheritDoc
    */
   public function getTimeZoneString() {
-    $timezone = drupal_get_user_timezone();
+    $timezone = date_default_timezone_get();
     return $timezone;
   }
 
index 54abc84763e947b62494af3c8f3b718c43526f90..8dfc7d6295063084a44c53bbf44cdebf0b814150 100644 (file)
@@ -196,11 +196,18 @@ class CRM_Utils_Type {
   /**
    * Helper function to call validate on arrays
    *
+   * @param mixed $data
+   * @param string $type
+   *
+   * @return mixed
+   *
+   * @throws \CRM_Core_Exception
+   *
    * @see validate
    */
-  public static function validateAll($data, $type, $abort = TRUE) {
+  public static function validateAll($data, $type) {
     foreach ($data as $key => $value) {
-      $data[$key] = CRM_Utils_Type::validate($value, $type, $abort);
+      $data[$key] = CRM_Utils_Type::validate($value, $type);
     }
     return $data;
   }
@@ -351,15 +358,13 @@ class CRM_Utils_Type {
    *   If TRUE, the operation will CRM_Core_Error::fatal() on invalid data.
    * @param string $name
    *   The name of the attribute
-   * @param bool $isThrowException
-   *   Should an exception be thrown rather than a using a deprecated fatal error.
    *
    * @return mixed
    *   The data, escaped if necessary
    *
    * @throws \CRM_Core_Exception
    */
-  public static function validate($data, $type, $abort = TRUE, $name = 'One of parameters ', $isThrowException = TRUE) {
+  public static function validate($data, $type, $abort = TRUE, $name = 'One of parameters ') {
 
     $possibleTypes = [
       'Integer',
@@ -385,10 +390,7 @@ class CRM_Utils_Type {
       'Color',
     ];
     if (!in_array($type, $possibleTypes)) {
-      if ($isThrowException) {
-        throw new CRM_Core_Exception(ts('Invalid type, must be one of : ' . implode($possibleTypes)));
-      }
-      CRM_Core_Error::fatal(ts('Invalid type, must be one of : ' . implode($possibleTypes)));
+      throw new CRM_Core_Exception(ts('Invalid type, must be one of : ' . implode($possibleTypes)));
     }
     switch ($type) {
       case 'Integer':
@@ -465,10 +467,7 @@ class CRM_Utils_Type {
 
     if ($abort) {
       $data = htmlentities($data);
-      if ($isThrowException) {
-        throw new CRM_Core_Exception("$name (value: $data) is not of the type $type");
-      }
-      CRM_Core_Error::fatal("$name (value: $data) is not of the type $type");
+      throw new CRM_Core_Exception("$name (value: $data) is not of the type $type");
     }
 
     return NULL;
index 27c92a5867b16395213863d24e732d7a197cd4d3..fc5d9b08c965a56a3ca6069f59b2b5b0241e698e 100644 (file)
@@ -150,7 +150,7 @@ class ChangeSet implements ChangeSetInterface {
    */
   public function alterHtml($file, $callback) {
     $this->htmlFilters[] = [
-      'regex' => ($file{0} === ';') ? $file : $this->createRegex($file),
+      'regex' => ($file[0] === ';') ? $file : $this->createRegex($file),
       'callback' => $callback,
     ];
     return $this;
index 96d78867c44d8def951f7d825a6a6d537c38946d..d7957629ab9b62fdf50f1e2d73a56f6a463d4c0c 100644 (file)
@@ -106,15 +106,14 @@ class Modules extends \CRM_Core_Page {
   public function digestJs($files) {
     $scripts = [];
     foreach ($files as $file) {
-      $scripts[] = file_get_contents($file);
+      $scripts[] = \CRM_Utils_JS::stripComments(file_get_contents($file));
     }
     $scripts = \CRM_Utils_JS::dedupeClosures(
       $scripts,
       ['angular', '$', '_'],
       ['angular', 'CRM.$', 'CRM._']
     );
-    // This impl of stripComments currently adds 10-20ms and cuts ~7%
-    return \CRM_Utils_JS::stripComments(implode("\n", $scripts));
+    return implode("\n", $scripts);
   }
 
   /**
index 22fded735d3a3e89bbd3c8f7a9b869cb798d6612..0f8d12ca02fb73ed4cad8074b41b933594209741 100644 (file)
@@ -19,6 +19,8 @@
 
 namespace Civi\Api4\Action\Domain;
 
+use Civi\Api4\Generic\Result;
+
 /**
  * @inheritDoc
  */
@@ -34,11 +36,11 @@ class Get extends \Civi\Api4\Generic\DAOGetAction {
   /**
    * @inheritDoc
    */
-  protected function getObjects() {
+  protected function getObjects(Result $result) {
     if ($this->currentDomain) {
       $this->addWhere('id', '=', \CRM_Core_Config::domainID());
     }
-    return parent::getObjects();
+    parent::getObjects($result);
   }
 
 }
index 4ec56adbf827550b7e3717c581cd2ffcc12a23df..044105e4e5a639afd7395a160301dff0e1d3d31f 100644 (file)
@@ -20,7 +20,6 @@
 namespace Civi\Api4\Action\Entity;
 
 use Civi\Api4\CustomGroup;
-use Civi\Api4\Utils\ReflectionUtils;
 
 /**
  * Get the names & docblocks of all APIv4 entities.
@@ -47,7 +46,6 @@ class Get extends \Civi\Api4\Generic\BasicGetAction {
   protected function getRecords() {
     $entities = [];
     $toGet = $this->_itemsToGet('name');
-    $getDocs = $this->_isFieldSelected('description', 'comment', 'see');
     $locations = array_merge([\Civi::paths()->getPath('[civicrm.root]/Civi.php')],
       array_column(\CRM_Extension_System::singleton()->getMapper()->getActiveModuleFiles(), 'filePath')
     );
@@ -57,15 +55,13 @@ class Get extends \Civi\Api4\Generic\BasicGetAction {
         foreach (glob("$dir/*.php") as $file) {
           $matches = [];
           preg_match('/(\w*)\.php$/', $file, $matches);
+          $entity = '\Civi\Api4\\' . $matches[1];
           if (
             (!$toGet || in_array($matches[1], $toGet))
-            && is_a('\Civi\Api4\\' . $matches[1], '\Civi\Api4\Generic\AbstractEntity', TRUE)
+            && is_a($entity, '\Civi\Api4\Generic\AbstractEntity', TRUE)
           ) {
-            $entity = ['name' => $matches[1]];
-            if ($getDocs) {
-              $this->addDocs($entity);
-            }
-            $entities[$matches[1]] = $entity;
+            $info = $entity::getInfo();
+            $entities[$info['name']] = $info;
           }
         }
       }
@@ -90,18 +86,20 @@ class Get extends \Civi\Api4\Generic\BasicGetAction {
     $customEntities = CustomGroup::get()
       ->addWhere('is_multiple', '=', 1)
       ->addWhere('is_active', '=', 1)
-      ->setSelect(['name', 'title', 'help_pre', 'help_post', 'extends'])
+      ->setSelect(['name', 'title', 'help_pre', 'help_post', 'extends', 'icon'])
       ->setCheckPermissions(FALSE)
       ->execute();
     foreach ($customEntities as $customEntity) {
       $fieldName = 'Custom_' . $customEntity['name'];
       $entities[$fieldName] = [
         'name' => $fieldName,
-        'description' => $customEntity['title'] . ' custom group - extends ' . $customEntity['extends'],
+        'title' => $customEntity['title'],
+        'description' => 'Custom group - extends ' . $customEntity['extends'],
         'see' => [
           'https://docs.civicrm.org/user/en/latest/organising-your-data/creating-custom-fields/#multiple-record-fieldsets',
           '\\Civi\\Api4\\CustomGroup',
         ],
+        'icon' => $customEntity['icon'],
       ];
       if (!empty($customEntity['help_pre'])) {
         $entities[$fieldName]['comment'] = $this->plainTextify($customEntity['help_pre']);
@@ -123,15 +121,4 @@ class Get extends \Civi\Api4\Generic\BasicGetAction {
     return html_entity_decode(strip_tags($input), ENT_QUOTES | ENT_HTML5, 'UTF-8');
   }
 
-  /**
-   * Add info from code docblock.
-   *
-   * @param $entity
-   */
-  private function addDocs(&$entity) {
-    $reflection = new \ReflectionClass("\\Civi\\Api4\\" . $entity['name']);
-    $entity += ReflectionUtils::getCodeDocs($reflection, NULL, ['entity' => $entity['name']]);
-    unset($entity['package'], $entity['method']);
-  }
-
 }
index fbab1f057db8e3bc15749372b2b02e13dc50c241..66b8966ade869dd3241bd7c3bfa61c49ea5e8a05 100644 (file)
@@ -33,7 +33,7 @@ class GetActions extends BasicGetAction {
     $entityReflection = new \ReflectionClass('\Civi\Api4\\' . $this->_entityName);
     foreach ($entityReflection->getMethods(\ReflectionMethod::IS_STATIC | \ReflectionMethod::IS_PUBLIC) as $method) {
       $actionName = $method->getName();
-      if ($actionName != 'permissions' && $actionName[0] != '_') {
+      if ($actionName != 'permissions' && $actionName != 'getInfo' && $actionName[0] != '_') {
         $this->loadAction($actionName, $method);
       }
     }
@@ -75,7 +75,7 @@ class GetActions extends BasicGetAction {
     try {
       if (!isset($this->_actions[$actionName]) && (!$this->_actionsToGet || in_array($actionName, $this->_actionsToGet))) {
         $action = \Civi\API\Request::create($this->getEntityName(), $actionName, ['version' => 4]);
-        if (is_object($action)) {
+        if (is_object($action) && (!$this->checkPermissions || $action->isAuthorized())) {
           $this->_actions[$actionName] = ['name' => $actionName];
           if ($this->_isFieldSelected('description', 'comment', 'see')) {
             $vars = ['entity' => $this->getEntityName(), 'action' => $actionName];
index 430900b663737fbe88f29eb58fc57ea89c9b479d..a7767eab47bcfd74108d1fd2392a12ab28669d51 100644 (file)
@@ -47,6 +47,10 @@ class Entity extends Generic\AbstractEntity {
           'name' => 'name',
           'description' => 'Entity name',
         ],
+        [
+          'name' => 'title',
+          'description' => 'Localized title',
+        ],
         [
           'name' => 'description',
           'description' => 'Description from docblock',
@@ -55,6 +59,14 @@ class Entity extends Generic\AbstractEntity {
           'name' => 'comment',
           'description' => 'Comments from docblock',
         ],
+        [
+          'name' => 'icon',
+          'description' => 'crm-i icon class associated with this entity',
+        ],
+        [
+          'name' => 'dao',
+          'description' => 'Class name for dao-based entities',
+        ],
         [
           'name' => 'see',
           'data_type' => 'Array',
index 8a1ed4e86286838b887f5b35a54644ea97c34a4d..254f626a059ff93859cfa620ab9019a67d91a0fe 100644 (file)
@@ -19,6 +19,7 @@
 namespace Civi\Api4\Generic;
 
 use Civi\API\Exception\NotImplementedException;
+use Civi\Api4\Utils\ReflectionUtils;
 
 /**
  * Base class for all api entities.
@@ -80,6 +81,15 @@ abstract class AbstractEntity {
     return substr(static::class, strrpos(static::class, '\\') + 1);
   }
 
+  /**
+   * Overridable function to return a localized title for this entity.
+   *
+   * @return string
+   */
+  protected static function getEntityTitle() {
+    return static::getEntityName();
+  }
+
   /**
    * Magic method to return the action object for an api.
    *
@@ -101,4 +111,21 @@ abstract class AbstractEntity {
     return $actionObject;
   }
 
+  /**
+   * Reflection function called by Entity::get()
+   *
+   * @see \Civi\Api4\Action\Entity\Get
+   * @return array
+   */
+  public static function getInfo() {
+    $info = [
+      'name' => static::getEntityName(),
+      'title' => static::getEntityTitle(),
+    ];
+    $reflection = new \ReflectionClass(static::class);
+    $info += ReflectionUtils::getCodeDocs($reflection, NULL, ['entity' => $info['name']]);
+    unset($info['package'], $info['method']);
+    return $info;
+  }
+
 }
index f1d34d237f068426dcfee8fc8a86772861b19908..e40215faa77791e5316bb672f95d59f77b2a2421 100644 (file)
@@ -59,7 +59,7 @@ class BasicGetAction extends AbstractGetAction {
     $this->expandSelectClauseWildcards();
     $values = $this->getRecords();
     $this->formatRawValues($values);
-    $result->exchangeArray($this->queryArray($values));
+    $this->queryArray($values, $result);
   }
 
   /**
index a277bf5901b4a406af8b92ba744cff784aee8e98..070d9909bd574200c6bb23cad29bdfeed8dc89ef 100644 (file)
@@ -97,7 +97,7 @@ class BasicGetFieldsAction extends BasicGetAction {
       $values = $this->getRecords();
     }
     $this->formatResults($values);
-    $result->exchangeArray($this->queryArray($values));
+    $this->queryArray($values, $result);
   }
 
   /**
index f63c87ba62199f9ae92248d2faec7956a33169c2..915b42cc54279dca093becbd8dbbc155dfed80cd 100644 (file)
@@ -70,4 +70,26 @@ abstract class DAOEntity extends AbstractEntity {
     return new BasicReplaceAction(static::class, __FUNCTION__);
   }
 
+  /**
+   * @return string
+   */
+  protected static function getEntityTitle() {
+    $name = static::getEntityName();
+    $dao = \CRM_Core_DAO_AllCoreTables::getFullName($name);
+    return $dao ? $dao::getEntityTitle() : $name;
+  }
+
+  /**
+   * @return array
+   */
+  public static function getInfo() {
+    $info = parent::getInfo();
+    $dao = \CRM_Core_DAO_AllCoreTables::getFullName($info['name']);
+    if ($dao) {
+      $info['icon'] = $dao::$_icon;
+      $info['dao'] = $dao;
+    }
+    return $info;
+  }
+
 }
index d922781ada2e049574a2d065aec703437733213e..2b73f18a8ffb3d33a172cd6cc9f4dc8d516baf0a 100644 (file)
@@ -71,20 +71,31 @@ class DAOGetAction extends AbstractGetAction {
   public function _run(Result $result) {
     $this->setDefaultWhereClause();
     $this->expandSelectClauseWildcards();
-    $result->exchangeArray($this->getObjects());
+    $this->getObjects($result);
   }
 
   /**
-   * @return array|int
+   * @param \Civi\Api4\Generic\Result $result
    */
-  protected function getObjects() {
-    $query = new Api4SelectQuery($this);
-
-    $result = $query->run();
-    if (is_array($result)) {
-      \CRM_Utils_API_HTMLInputCoder::singleton()->decodeRows($result);
+  protected function getObjects(Result $result) {
+    $getCount = in_array('row_count', $this->getSelect());
+    $onlyCount = $this->getSelect() === ['row_count'];
+
+    if (!$onlyCount) {
+      $query = new Api4SelectQuery($this);
+      $rows = $query->run();
+      \CRM_Utils_API_HTMLInputCoder::singleton()->decodeRows($rows);
+      $result->exchangeArray($rows);
+      // No need to fetch count if we got a result set below the limit
+      if (!$this->getLimit() || count($rows) < $this->getLimit()) {
+        $result->rowCount = count($rows) + $this->getOffset();
+        $getCount = FALSE;
+      }
+    }
+    if ($getCount) {
+      $query = new Api4SelectQuery($this);
+      $result->rowCount = $query->getCount();
     }
-    return $result;
   }
 
   /**
index 675b752e70a20e93162f50e74440cb9641f8b81a..afc30c217ade1d5b7dde54284881ac457609ae4b 100644 (file)
@@ -40,6 +40,10 @@ class Result extends \ArrayObject implements \JsonSerializable {
    * @var int
    */
   public $version = 4;
+  /**
+   * @var int
+   */
+  public $rowCount;
 
   private $indexedBy;
 
@@ -107,11 +111,7 @@ class Result extends \ArrayObject implements \JsonSerializable {
    * @return int
    */
   public function count() {
-    $count = parent::count();
-    if ($count == 1 && is_array($this->first()) && array_keys($this->first()) == ['row_count']) {
-      return $this->first()['row_count'];
-    }
-    return $count;
+    return $this->rowCount ?? parent::count();
   }
 
   /**
index fc7f21229b46d376d476d86369fe436df3118d39..08db9f75fac31a31e7fc71c31cd8e3765b2acda1 100644 (file)
@@ -32,16 +32,18 @@ trait ArrayQueryActionTrait {
 
   /**
    * @param array $values
-   *   List of all rows
-   * @return array
-   *   Filtered list of rows
+   *   List of all rows to be filtered
+   * @param \Civi\Api4\Generic\Result $result
+   *   Object to store result
    */
-  protected function queryArray($values) {
+  protected function queryArray($values, $result) {
     $values = $this->filterArray($values);
     $values = $this->sortArray($values);
+    // Set total count before applying limit
+    $result->rowCount = count($values);
     $values = $this->limitArray($values);
     $values = $this->selectArray($values);
-    return $values;
+    $result->exchangeArray($values);
   }
 
   /**
index 794df9580a1150b5a0b0da76d5182ea157a97175..b9bedfa86bbc7a17d0ae1ebd79d42f08f8e256f4 100644 (file)
@@ -11,7 +11,6 @@
 
 namespace Civi\Api4\Query;
 
-use Civi\API\SelectQuery;
 use Civi\Api4\Service\Schema\Joinable\CustomGroupJoinable;
 use Civi\Api4\Utils\FormattingUtil;
 use Civi\Api4\Utils\CoreUtil;
@@ -30,81 +29,87 @@ use Civi\Api4\Utils\SelectUtil;
  * * "NOT LIKE", 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN',
  * * 'IS NOT NULL', or 'IS NULL'.
  */
-class Api4SelectQuery extends SelectQuery {
+class Api4SelectQuery {
+
+  const
+    MAIN_TABLE_ALIAS = 'a',
+    UNLIMITED = '18446744073709551615';
 
   /**
-   * @var int
+   * @var \CRM_Utils_SQL_Select
    */
-  protected $apiVersion = 4;
+  protected $query;
 
   /**
    * @var array
-   * [alias => expr][]
    */
-  protected $selectAliases = [];
+  protected $joins = [];
 
   /**
-   * If set to an array, this will start collecting debug info.
-   *
-   * @var null|array
+   * @var array[]
    */
-  public $debugOutput = NULL;
+  protected $apiFieldSpec;
 
   /**
    * @var array
    */
-  public $groupBy = [];
+  protected $entityFieldNames = [];
 
-  public $forceSelectId = TRUE;
+  /**
+   * @var array
+   */
+  protected $aclFields = [];
+
+  /**
+   * @var \Civi\Api4\Generic\DAOGetAction
+   */
+  private $api;
 
   /**
    * @var array
+   * [alias => expr][]
+   */
+  protected $selectAliases = [];
+
+  /**
+   * @var bool
    */
-  public $having = [];
+  public $forceSelectId = TRUE;
 
   /**
    * @param \Civi\Api4\Generic\DAOGetAction $apiGet
    */
   public function __construct($apiGet) {
-    $this->entity = $apiGet->getEntityName();
-    $this->checkPermissions = $apiGet->getCheckPermissions();
-    $this->select = $apiGet->getSelect();
-    $this->where = $apiGet->getWhere();
-    $this->groupBy = $apiGet->getGroupBy();
-    $this->orderBy = $apiGet->getOrderBy();
-    $this->limit = $apiGet->getLimit();
-    $this->offset = $apiGet->getOffset();
-    $this->having = $apiGet->getHaving();
-    // Always select ID of main table unless grouping is used
-    $this->forceSelectId = !$this->groupBy;
-    if ($apiGet->getDebug()) {
-      $this->debugOutput =& $apiGet->_debugOutput;
-    }
-    foreach ($apiGet->entityFields() as $field) {
+    $this->api = $apiGet;
+
+    // Always select ID of main table unless grouping by something else
+    $this->forceSelectId = !$this->getGroupBy() || $this->getGroupBy() === ['id'];
+
+    // Build field lists
+    foreach ($this->api->entityFields() as $field) {
       $this->entityFieldNames[] = $field['name'];
       $field['sql_name'] = '`' . self::MAIN_TABLE_ALIAS . '`.`' . $field['column_name'] . '`';
       $this->addSpecField($field['name'], $field);
     }
 
-    $baoName = CoreUtil::getBAOFromApiName($this->entity);
-    $this->constructQueryObject();
+    $tableName = CoreUtil::getTableName($this->getEntity());
+    $this->query = \CRM_Utils_SQL_Select::from($tableName . ' ' . self::MAIN_TABLE_ALIAS);
 
     // Add ACLs first to avoid redundant subclauses
+    $baoName = CoreUtil::getBAOFromApiName($this->getEntity());
     $this->query->where($this->getAclClause(self::MAIN_TABLE_ALIAS, $baoName));
-
-    // Add explicit joins. Other joins implied by dot notation may be added later
-    $this->addExplicitJoins($apiGet->getJoin());
   }
 
   /**
-   * Builds final sql statement after all params are set.
+   * Builds main final sql statement after initialization.
    *
    * @return string
    * @throws \API_Exception
    * @throws \CRM_Core_Exception
-   * @throws \Civi\API\Exception\UnauthorizedException
    */
   public function getSql() {
+    // Add explicit joins. Other joins implied by dot notation may be added later
+    $this->addExplicitJoins();
     $this->buildSelectClause();
     $this->buildWhereClause();
     $this->buildOrderBy();
@@ -117,20 +122,14 @@ class Api4SelectQuery extends SelectQuery {
   /**
    * Why walk when you can
    *
-   * @return array|int
+   * @return array
    */
   public function run() {
     $results = [];
     $sql = $this->getSql();
-    if (is_array($this->debugOutput)) {
-      $this->debugOutput['sql'][] = $sql;
-    }
+    $this->debug('sql', $sql);
     $query = \CRM_Core_DAO::executeQuery($sql);
     while ($query->fetch()) {
-      if (in_array('row_count', $this->select)) {
-        $results[]['row_count'] = (int) $query->c;
-        break;
-      }
       $result = [];
       foreach ($this->selectAliases as $alias => $expr) {
         $returnName = $alias;
@@ -139,47 +138,76 @@ class Api4SelectQuery extends SelectQuery {
       }
       $results[] = $result;
     }
-    FormattingUtil::formatOutputValues($results, $this->getApiFieldSpec(), $this->getEntity());
+    FormattingUtil::formatOutputValues($results, $this->apiFieldSpec, $this->getEntity());
     return $results;
   }
 
-  protected function buildSelectClause() {
-    // An empty select is the same as *
-    if (empty($this->select)) {
-      $this->select = $this->entityFieldNames;
+  /**
+   * @return int
+   * @throws \API_Exception
+   */
+  public function getCount() {
+    $this->addExplicitJoins();
+    $this->buildWhereClause();
+    // If no having or groupBy, we only need to select count
+    if (!$this->getHaving() && !$this->getGroupBy()) {
+      $this->query->select('COUNT(*) AS `c`');
+      $sql = $this->query->toSQL();
     }
-    elseif (in_array('row_count', $this->select)) {
-      $this->query->select("COUNT(*) AS `c`");
-      return;
+    // Use a subquery to count groups from GROUP BY or results filtered by HAVING
+    else {
+      // With no HAVING, just select the last field grouped by
+      if (!$this->getHaving()) {
+        $select = array_slice($this->getGroupBy(), -1);
+      }
+      $this->buildSelectClause($select ?? NULL);
+      $this->buildHavingClause();
+      $this->buildGroupBy();
+      $subquery = $this->query->toSQL();
+      $sql = "SELECT count(*) AS `c` FROM ( $subquery ) AS rows";
+    }
+    $this->debug('sql', $sql);
+    return (int) \CRM_Core_DAO::singleValueQuery($sql);
+  }
+
+  /**
+   * @param array $select
+   *   Array of select expressions; defaults to $this->getSelect
+   * @throws \API_Exception
+   */
+  protected function buildSelectClause($select = NULL) {
+    // Use default if select not provided, exclude row_count which is handled elsewhere
+    $select = array_diff($select ?? $this->getSelect(), ['row_count']);
+    // An empty select is the same as *
+    if (empty($select)) {
+      $select = $this->entityFieldNames;
     }
     else {
       if ($this->forceSelectId) {
-        $this->select = array_merge(['id'], $this->select);
+        $select = array_merge(['id'], $select);
       }
 
       // Expand wildcards in joins (the api wrapper already expanded non-joined wildcards)
-      $wildFields = array_filter($this->select, function($item) {
+      $wildFields = array_filter($select, function($item) {
         return strpos($item, '*') !== FALSE && strpos($item, '.') !== FALSE && strpos($item, '(') === FALSE && strpos($item, ' ') === FALSE;
       });
       foreach ($wildFields as $item) {
-        $pos = array_search($item, array_values($this->select));
+        $pos = array_search($item, array_values($select));
         $this->autoJoinFK($item);
         $matches = SelectUtil::getMatchingFields($item, array_keys($this->apiFieldSpec));
-        array_splice($this->select, $pos, 1, $matches);
+        array_splice($select, $pos, 1, $matches);
       }
-      $this->select = array_unique($this->select);
+      $select = array_unique($select);
     }
-    foreach ($this->select as $item) {
+    foreach ($select as $item) {
       $expr = SqlExpression::convert($item, TRUE);
       $valid = TRUE;
       foreach ($expr->getFields() as $fieldName) {
         $field = $this->getField($fieldName);
         // Remove expressions with unknown fields without raising an error
         if (!$field) {
-          $this->select = array_diff($this->select, [$item]);
-          if (is_array($this->debugOutput)) {
-            $this->debugOutput['undefined_fields'][] = $fieldName;
-          }
+          $select = array_diff($select, [$item]);
+          $this->debug('undefined_fields', $fieldName);
           $valid = FALSE;
         }
       }
@@ -195,30 +223,33 @@ class Api4SelectQuery extends SelectQuery {
   }
 
   /**
-   * @inheritDoc
+   * Add WHERE clause to query
    */
   protected function buildWhereClause() {
-    foreach ($this->where as $clause) {
-      $this->query->where($this->treeWalkClauses($clause, 'WHERE'));
+    foreach ($this->getWhere() as $clause) {
+      $sql = $this->treeWalkClauses($clause, 'WHERE');
+      if ($sql) {
+        $this->query->where($sql);
+      }
     }
   }
 
   /**
-   * Build HAVING clause.
+   * Add HAVING clause to query
    *
    * Every expression referenced must also be in the SELECT clause.
    */
   protected function buildHavingClause() {
-    foreach ($this->having as $clause) {
+    foreach ($this->getHaving() as $clause) {
       $this->query->having($this->treeWalkClauses($clause, 'HAVING'));
     }
   }
 
   /**
-   * @inheritDoc
+   * Add ORDER BY to query
    */
   protected function buildOrderBy() {
-    foreach ($this->orderBy as $item => $dir) {
+    foreach ($this->getOrderBy() as $item => $dir) {
       if ($dir !== 'ASC' && $dir !== 'DESC') {
         throw new \API_Exception("Invalid sort direction. Cannot order by $item $dir");
       }
@@ -240,20 +271,22 @@ class Api4SelectQuery extends SelectQuery {
   }
 
   /**
+   * Add LIMIT to query
+   *
    * @throws \CRM_Core_Exception
    */
   protected function buildLimit() {
-    if (!empty($this->limit) || !empty($this->offset)) {
+    if ($this->getLimit() || $this->getOffset()) {
       // If limit is 0, mysql will actually return 0 results. Instead set to maximum possible.
-      $this->query->limit($this->limit ?: '18446744073709551615', $this->offset);
+      $this->query->limit($this->getLimit() ?: self::UNLIMITED, $this->getOffset());
     }
   }
 
   /**
-   * Adds GROUP BY clause to query
+   * Add GROUP BY clause to query
    */
   protected function buildGroupBy() {
-    foreach ($this->groupBy as $item) {
+    foreach ($this->getGroupBy() as $item) {
       $this->query->groupBy($this->getExpression($item)->render($this->apiFieldSpec));
     }
   }
@@ -270,6 +303,10 @@ class Api4SelectQuery extends SelectQuery {
    * @uses composeClause() to generate the SQL etc.
    */
   protected function treeWalkClauses($clause, $type) {
+    // Skip empty leaf.
+    if (in_array($clause[0], ['AND', 'OR', 'NOT']) && empty($clause[1])) {
+      return '';
+    }
     switch ($clause[0]) {
       case 'OR':
       case 'AND':
@@ -388,10 +425,29 @@ class Api4SelectQuery extends SelectQuery {
   }
 
   /**
-   * @inheritDoc
+   * Get acl clause for an entity
+   *
+   * @param string $tableAlias
+   * @param \CRM_Core_DAO|string $baoName
+   * @param array $stack
+   * @return array
    */
-  protected function getFields() {
-    return $this->apiFieldSpec;
+  public function getAclClause($tableAlias, $baoName, $stack = []) {
+    if (!$this->getCheckPermissions()) {
+      return [];
+    }
+    // Prevent (most) redundant acl sub clauses if they have already been applied to the main entity.
+    // FIXME: Currently this only works 1 level deep, but tracking through multiple joins would increase complexity
+    // and just doing it for the first join takes care of most acl clause deduping.
+    if (count($stack) === 1 && in_array($stack[0], $this->aclFields)) {
+      return [];
+    }
+    $clauses = $baoName::getSelectWhereClause($tableAlias);
+    if (!$stack) {
+      // Track field clauses added to the main entity
+      $this->aclFields = array_keys($clauses);
+    }
+    return array_filter($clauses);
   }
 
   /**
@@ -401,7 +457,7 @@ class Api4SelectQuery extends SelectQuery {
    * @param bool $strict
    *   In strict mode, this will throw an exception if the field doesn't exist
    *
-   * @return string|null
+   * @return array|null
    * @throws \API_Exception
    */
   public function getField($expr, $strict = FALSE) {
@@ -424,12 +480,11 @@ class Api4SelectQuery extends SelectQuery {
   /**
    * Join onto other entities as specified by the api call.
    *
-   * @param $joins
    * @throws \API_Exception
    * @throws \Civi\API\Exception\NotImplementedException
    */
-  private function addExplicitJoins($joins) {
-    foreach ($joins as $join) {
+  private function addExplicitJoins() {
+    foreach ($this->getJoin() as $join) {
       // First item in the array is the entity name
       $entity = array_shift($join);
       // Which might contain an alias. Split on the keyword "AS"
@@ -439,10 +494,9 @@ class Api4SelectQuery extends SelectQuery {
       // First item in the array is a boolean indicating if the join is required (aka INNER or LEFT).
       // The rest are join conditions.
       $side = array_shift($join) ? 'INNER' : 'LEFT';
-      $joinEntityGet = \Civi\API\Request::create($entity, 'get', ['version' => 4, 'checkPermissions' => $this->checkPermissions]);
+      $joinEntityGet = \Civi\API\Request::create($entity, 'get', ['version' => 4, 'checkPermissions' => $this->getCheckPermissions()]);
       foreach ($joinEntityGet->entityFields() as $field) {
         $field['sql_name'] = '`' . $alias . '`.`' . $field['column_name'] . '`';
-        $field['is_join'] = TRUE;
         $this->addSpecField($alias . '.' . $field['name'], $field);
       }
       $conditions = $this->getJoinConditions($entity, $alias);
@@ -471,7 +525,7 @@ class Api4SelectQuery extends SelectQuery {
       if ($field['entity'] !== $entity && $field['fk_entity'] === $entity) {
         $conditions[] = $this->treeWalkClauses([$name, '=', "$alias.id"], 'ON');
       }
-      elseif (strpos($name, "$alias.") === 0 && substr_count($name, '.') === 1 &&  $field['fk_entity'] === $this->entity) {
+      elseif (strpos($name, "$alias.") === 0 && substr_count($name, '.') === 1 &&  $field['fk_entity'] === $this->getEntity()) {
         $conditions[] = $this->treeWalkClauses([$name, '=', 'id'], 'ON');
         $stack = ['id'];
       }
@@ -524,141 +578,131 @@ class Api4SelectQuery extends SelectQuery {
     foreach ($lastLink->getEntityFields() as $fieldObject) {
       $fieldArray = $fieldObject->toArray();
       $fieldArray['sql_name'] = '`' . $lastLink->getAlias() . '`.`' . $fieldArray['column_name'] . '`';
-      $fieldArray['is_custom'] = $isCustom;
-      $fieldArray['is_join'] = TRUE;
       $this->addSpecField($prefix . $fieldArray['name'], $fieldArray);
     }
   }
 
+  /**
+   * @param string $side
+   * @param string $tableName
+   * @param string $tableAlias
+   * @param array $conditions
+   */
+  public function join($side, $tableName, $tableAlias, $conditions) {
+    // INNER JOINs take precedence over LEFT JOINs
+    if ($side != 'LEFT' || !isset($this->joins[$tableAlias])) {
+      $this->joins[$tableAlias] = $side;
+      $this->query->join($tableAlias, "$side JOIN `$tableName` `$tableAlias` ON " . implode(' AND ', $conditions));
+    }
+  }
+
   /**
    * @return FALSE|string
    */
   public function getFrom() {
-    return CoreUtil::getTableName($this->entity);
+    return CoreUtil::getTableName($this->getEntity());
   }
 
   /**
    * @return string
    */
   public function getEntity() {
-    return $this->entity;
+    return $this->api->getEntityName();
   }
 
   /**
    * @return array
    */
   public function getSelect() {
-    return $this->select;
+    return $this->api->getSelect();
   }
 
   /**
    * @return array
    */
   public function getWhere() {
-    return $this->where;
+    return $this->api->getWhere();
   }
 
   /**
    * @return array
    */
-  public function getOrderBy() {
-    return $this->orderBy;
-  }
-
-  /**
-   * @return mixed
-   */
-  public function getLimit() {
-    return $this->limit;
-  }
-
-  /**
-   * @return mixed
-   */
-  public function getOffset() {
-    return $this->offset;
+  public function getHaving() {
+    return $this->api->getHaving();
   }
 
   /**
    * @return array
    */
-  public function getSelectFields() {
-    return $this->selectFields;
+  public function getJoin() {
+    return $this->api->getJoin();
   }
 
   /**
-   * @return \CRM_Utils_SQL_Select
+   * @return array
    */
-  public function getQuery() {
-    return $this->query;
+  public function getGroupBy() {
+    return $this->api->getGroupBy();
   }
 
   /**
    * @return array
    */
-  public function getJoins() {
-    return $this->joins;
+  public function getOrderBy() {
+    return $this->api->getOrderBy();
   }
 
   /**
-   * @return array
+   * @return mixed
    */
-  public function getApiFieldSpec() {
-    return $this->apiFieldSpec;
+  public function getLimit() {
+    return $this->api->getLimit();
   }
 
   /**
-   * @return array
+   * @return mixed
    */
-  public function getEntityFieldNames() {
-    return $this->entityFieldNames;
+  public function getOffset() {
+    return $this->api->getOffset();
   }
 
   /**
-   * @return array
+   * @return \CRM_Utils_SQL_Select
    */
-  public function getAclFields() {
-    return $this->aclFields;
+  public function getQuery() {
+    return $this->query;
   }
 
   /**
    * @return bool|string
    */
   public function getCheckPermissions() {
-    return $this->checkPermissions;
+    return $this->api->getCheckPermissions();
   }
 
   /**
-   * @return int
-   */
-  public function getApiVersion() {
-    return $this->apiVersion;
-  }
-
-  /**
-   * Get table name on basis of entity
-   *
-   * @return void
-   */
-  public function constructQueryObject() {
-    $tableName = CoreUtil::getTableName($this->entity);
-    $this->query = \CRM_Utils_SQL_Select::from($tableName . ' ' . self::MAIN_TABLE_ALIAS);
-  }
-
-  /**
-   * @param $path
-   * @param $field
+   * @param string $path
+   * @param array $field
    */
   private function addSpecField($path, $field) {
     // Only add field to spec if we have permission
-    if ($this->checkPermissions && !empty($field['permission']) && !\CRM_Core_Permission::check($field['permission'])) {
+    if ($this->getCheckPermissions() && !empty($field['permission']) && !\CRM_Core_Permission::check($field['permission'])) {
       $this->apiFieldSpec[$path] = FALSE;
       return;
     }
-    $defaults = [];
-    $defaults['is_custom'] = $defaults['is_join'] = FALSE;
-    $field += $defaults;
     $this->apiFieldSpec[$path] = $field;
   }
 
+  /**
+   * Add something to the api's debug output if debugging is enabled
+   *
+   * @param $key
+   * @param $item
+   */
+  public function debug($key, $item) {
+    if ($this->api->getDebug()) {
+      $this->api->_debugOutput[$key][] = $item;
+    }
+  }
+
 }
index 19753d91acfa4f73e5b15b10d68a8e5eb073aeca..dbc245f7bfc40dfd5e3ed0c5e6dbc74a47614b75 100644 (file)
@@ -22,6 +22,19 @@ abstract class SqlFunction extends SqlExpression {
 
   protected $args = [];
 
+  /**
+   * Used for categorizing functions in the UI
+   *
+   * @var string
+   */
+  protected static $category;
+
+  const CATEGORY_AGGREGATE = 'aggregate',
+    CATEGORY_COMPARISON = 'comparison',
+    CATEGORY_DATE = 'date',
+    CATEGORY_MATH = 'math',
+    CATEGORY_STRING = 'string';
+
   /**
    * Parse the argument string into an array of function arguments
    */
@@ -186,4 +199,16 @@ abstract class SqlFunction extends SqlExpression {
     return $params;
   }
 
+  /**
+   * @return string
+   */
+  public static function getCategory(): string {
+    return static::$category;
+  }
+
+  /**
+   * @return string
+   */
+  abstract public static function getTitle(): string;
+
 }
similarity index 51%
rename from CRM/Admin/Page/Setting.php
rename to Civi/Api4/Query/SqlFunctionABS.php
index 1e747bc83b2769e9ae236b314b56bab12ff88fac..96d682cd576b140f2c7d3c63043d54cace49d4c3 100644 (file)
@@ -9,28 +9,28 @@
  +--------------------------------------------------------------------+
  */
 
-/**
- *
- * @package CRM
- * @copyright CiviCRM LLC https://civicrm.org/licensing
- */
+namespace Civi\Api4\Query;
 
 /**
- * Page for displaying list of categories for Settings.
+ * Sql function
  */
-class CRM_Admin_Page_Setting extends CRM_Core_Page {
+class SqlFunctionABS extends SqlFunction {
+
+  protected static $category = self::CATEGORY_MATH;
+
+  protected static $params = [
+    [
+      'expr' => 1,
+      'optional' => FALSE,
+      'must_be' => ['SqlField', 'SqlNumber'],
+    ],
+  ];
 
   /**
-   * Run page.
-   *
    * @return string
-   * @throws Exception
    */
-  public function run() {
-    CRM_Core_Error::fatal('This page is deprecated. If you have followed a link or have been redirected here, please change link or redirect to Admin Console (/civicrm/admin?reset=1)');
-    CRM_Utils_System::setTitle(ts("Global Settings"));
-
-    return parent::run();
+  public static function getTitle(): string {
+    return ts('Absolute');
   }
 
 }
index 9a064135e9170a8fdbbe243178f5b4083e82d433..577f05afc7a6c70499f47e7a2e91cd0580e094ed 100644 (file)
@@ -16,6 +16,8 @@ namespace Civi\Api4\Query;
  */
 class SqlFunctionAVG extends SqlFunction {
 
+  protected static $category = self::CATEGORY_AGGREGATE;
+
   protected static $params = [
     [
       'prefix' => ['', 'DISTINCT', 'ALL'],
@@ -24,4 +26,11 @@ class SqlFunctionAVG extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Average');
+  }
+
 }
diff --git a/Civi/Api4/Query/SqlFunctionCOALESCE.php b/Civi/Api4/Query/SqlFunctionCOALESCE.php
new file mode 100644 (file)
index 0000000..584f437
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionCOALESCE extends SqlFunction {
+
+  protected static $category = self::CATEGORY_COMPARISON;
+
+  protected static $params = [
+    [
+      'expr' => 99,
+      'optional' => FALSE,
+    ],
+  ];
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Coalesce');
+  }
+
+}
diff --git a/Civi/Api4/Query/SqlFunctionCONCAT.php b/Civi/Api4/Query/SqlFunctionCONCAT.php
new file mode 100644 (file)
index 0000000..5dc6334
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionCONCAT extends SqlFunction {
+
+  protected static $category = self::CATEGORY_STRING;
+
+  protected static $params = [
+    [
+      'expr' => 99,
+      'optional' => FALSE,
+      'must_be' => ['SqlField', 'SqlString'],
+    ],
+  ];
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Combine');
+  }
+
+}
index d444675350b398abf816a1d322f7de1562b392f0..f149108a8d9e665902937b93209e5507155942a2 100644 (file)
@@ -16,6 +16,8 @@ namespace Civi\Api4\Query;
  */
 class SqlFunctionCOUNT extends SqlFunction {
 
+  protected static $category = self::CATEGORY_AGGREGATE;
+
   protected static $params = [
     [
       'prefix' => ['', 'DISTINCT', 'ALL'],
@@ -25,4 +27,11 @@ class SqlFunctionCOUNT extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Count');
+  }
+
 }
diff --git a/Civi/Api4/Query/SqlFunctionCURDATE.php b/Civi/Api4/Query/SqlFunctionCURDATE.php
new file mode 100644 (file)
index 0000000..b7687d7
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionCURDATE extends SqlFunction {
+
+  protected static $category = self::CATEGORY_DATE;
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Now');
+  }
+
+}
diff --git a/Civi/Api4/Query/SqlFunctionGREATEST.php b/Civi/Api4/Query/SqlFunctionGREATEST.php
new file mode 100644 (file)
index 0000000..755ab28
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionGREATEST extends SqlFunction {
+
+  protected static $category = self::CATEGORY_COMPARISON;
+
+  protected static $params = [
+    [
+      'expr' => 99,
+      'optional' => FALSE,
+    ],
+  ];
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Greatest');
+  }
+
+}
diff --git a/Civi/Api4/Query/SqlFunctionGROUP_CONCAT.php b/Civi/Api4/Query/SqlFunctionGROUP_CONCAT.php
new file mode 100644 (file)
index 0000000..869bd07
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionGROUP_CONCAT extends SqlFunction {
+
+  protected static $category = self::CATEGORY_AGGREGATE;
+
+  protected static $params = [
+    [
+      'prefix' => ['', 'DISTINCT', 'ALL'],
+      'expr' => 1,
+      'must_be' => ['SqlField'],
+      'optional' => FALSE,
+    ],
+    [
+      'prefix' => ['ORDER BY'],
+      'expr' => 1,
+      'suffix' => ['', 'ASC', 'DESC'],
+      'must_be' => ['SqlField'],
+      'optional' => TRUE,
+    ],
+    [
+      'prefix' => ['SEPARATOR'],
+      'expr' => 1,
+      'must_be' => ['SqlString'],
+      'optional' => TRUE,
+    ],
+  ];
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('List');
+  }
+
+}
diff --git a/Civi/Api4/Query/SqlFunctionISNULL.php b/Civi/Api4/Query/SqlFunctionISNULL.php
new file mode 100644 (file)
index 0000000..538ad32
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionISNULL extends SqlFunction {
+
+  protected static $category = self::CATEGORY_COMPARISON;
+
+  protected static $params = [
+    [
+      'expr' => 1,
+      'optional' => FALSE,
+    ],
+  ];
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Is null');
+  }
+
+}
diff --git a/Civi/Api4/Query/SqlFunctionLEAST.php b/Civi/Api4/Query/SqlFunctionLEAST.php
new file mode 100644 (file)
index 0000000..ea246a8
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionLEAST extends SqlFunction {
+
+  protected static $category = self::CATEGORY_COMPARISON;
+
+  protected static $params = [
+    [
+      'expr' => 99,
+      'optional' => FALSE,
+    ],
+  ];
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Least');
+  }
+
+}
diff --git a/Civi/Api4/Query/SqlFunctionLOWER.php b/Civi/Api4/Query/SqlFunctionLOWER.php
new file mode 100644 (file)
index 0000000..2a6b968
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionLOWER extends SqlFunction {
+
+  protected static $category = self::CATEGORY_STRING;
+
+  protected static $params = [
+    [
+      'expr' => 1,
+      'optional' => FALSE,
+      'must_be' => ['SqlField', 'SqlString'],
+    ],
+  ];
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Lowercase');
+  }
+
+}
index f80ebeea15abfb7fb804642d675ea920f6950400..2116ec19f3744691019088c0e94e0a189376104e 100644 (file)
@@ -16,6 +16,8 @@ namespace Civi\Api4\Query;
  */
 class SqlFunctionMAX extends SqlFunction {
 
+  protected static $category = self::CATEGORY_AGGREGATE;
+
   protected static $params = [
     [
       'prefix' => ['', 'DISTINCT', 'ALL'],
@@ -24,4 +26,11 @@ class SqlFunctionMAX extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Max');
+  }
+
 }
index 993a5b18eb876e2447b916c6ae4a6e99dc0e0d46..e8d4c56ebb3a13e6cc8246542ff0cc2632a171ae 100644 (file)
@@ -16,6 +16,8 @@ namespace Civi\Api4\Query;
  */
 class SqlFunctionMIN extends SqlFunction {
 
+  protected static $category = self::CATEGORY_AGGREGATE;
+
   protected static $params = [
     [
       'prefix' => ['', 'DISTINCT', 'ALL'],
@@ -24,4 +26,11 @@ class SqlFunctionMIN extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Min');
+  }
+
 }
diff --git a/Civi/Api4/Query/SqlFunctionNULLIF.php b/Civi/Api4/Query/SqlFunctionNULLIF.php
new file mode 100644 (file)
index 0000000..846981c
--- /dev/null
@@ -0,0 +1,39 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionNULLIF extends SqlFunction {
+
+  protected static $category = self::CATEGORY_COMPARISON;
+
+  protected static $params = [
+    [
+      'expr' => 1,
+      'optional' => FALSE,
+    ],
+    [
+      'expr' => 1,
+      'optional' => FALSE,
+    ],
+  ];
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Null if');
+  }
+
+}
diff --git a/Civi/Api4/Query/SqlFunctionREPLACE.php b/Civi/Api4/Query/SqlFunctionREPLACE.php
new file mode 100644 (file)
index 0000000..d1cdef7
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionREPLACE extends SqlFunction {
+
+  protected static $category = self::CATEGORY_STRING;
+
+  protected static $params = [
+    [
+      'expr' => 1,
+      'optional' => FALSE,
+      'must_be' => ['SqlField', 'SqlString'],
+    ],
+    [
+      'expr' => 1,
+      'optional' => FALSE,
+      'must_be' => ['SqlField', 'SqlString'],
+    ],
+    [
+      'expr' => 1,
+      'optional' => FALSE,
+      'must_be' => ['SqlField', 'SqlString'],
+    ],
+  ];
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Replace');
+  }
+
+}
diff --git a/Civi/Api4/Query/SqlFunctionROUND.php b/Civi/Api4/Query/SqlFunctionROUND.php
new file mode 100644 (file)
index 0000000..4d5b2f0
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionROUND extends SqlFunction {
+
+  protected static $category = self::CATEGORY_MATH;
+
+  protected static $params = [
+    [
+      'expr' => 1,
+      'optional' => FALSE,
+      'must_be' => ['SqlField', 'SqlNumber'],
+    ],
+    [
+      'expr' => 1,
+      'optional' => TRUE,
+      'must_be' => ['SqlNumber'],
+    ],
+  ];
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Round');
+  }
+
+}
index 36f4ebb3cc3c6e7c886944b60e8633ededdb8d2a..b6b74ae786b3b58cb001d2d4880eae3cb90a43a2 100644 (file)
@@ -16,6 +16,8 @@ namespace Civi\Api4\Query;
  */
 class SqlFunctionSUM extends SqlFunction {
 
+  protected static $category = self::CATEGORY_AGGREGATE;
+
   protected static $params = [
     [
       'prefix' => ['', 'DISTINCT', 'ALL'],
@@ -24,4 +26,11 @@ class SqlFunctionSUM extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Sum');
+  }
+
 }
diff --git a/Civi/Api4/Query/SqlFunctionUPPER.php b/Civi/Api4/Query/SqlFunctionUPPER.php
new file mode 100644 (file)
index 0000000..b9a714e
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Query;
+
+/**
+ * Sql function
+ */
+class SqlFunctionUPPER extends SqlFunction {
+
+  protected static $category = self::CATEGORY_STRING;
+
+  protected static $params = [
+    [
+      'expr' => 1,
+      'optional' => FALSE,
+      'must_be' => ['SqlField', 'SqlString'],
+    ],
+  ];
+
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Uppercase');
+  }
+
+}
diff --git a/Civi/Core/Event/SmartyErrorEvent.php b/Civi/Core/Event/SmartyErrorEvent.php
new file mode 100644 (file)
index 0000000..e27fb3a
--- /dev/null
@@ -0,0 +1,51 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Core\Event;
+
+/**
+ * This triggers when a smarty parse error happens via \Smarty::trigger_error
+ * Event: civi.smarty.error
+ *
+ * Class SmartyErrorEvent
+ * @package Civi\API\Event
+ */
+class SmartyErrorEvent extends \Symfony\Component\EventDispatcher\Event {
+
+  /**
+   * The error message generated by smarty
+   * @var string
+   */
+  public $errorMsg;
+
+  /**
+   * The error type - one of PHP error constants
+   * @var int
+   */
+  public $errorType;
+
+  /**
+   * @param string $errorMsg
+   * @param int $errorType
+   */
+  public function __construct($errorMsg, $errorType) {
+    $this->errorMsg = $errorMsg;
+    $this->errorType = $errorType;
+  }
+
+  /**
+   * @inheritDoc
+   */
+  public function getHookValues() {
+    return [$this->errorMsg, $this->errorType];
+  }
+
+}
index a1ebfe2b0fdde0156742fc8276184a5e36ac24db..a3950c74e9f0f4cf6f9d95a3219f3cd81d6fe5ed 100644 (file)
@@ -95,7 +95,7 @@ class Resolver {
       // Callback: Constant value.
       return new ResolverConstantCallback((int) $id);
     }
-    elseif ($id{0} >= 'A' && $id{0} <= 'Z') {
+    elseif ($id[0] >= 'A' && $id[0] <= 'Z') {
       // Object: New/default instance.
       return new $id();
     }
index 9156eb55588d081372a7ebf1b35859b9b113001f..dee905485fdc24c5576ba2fd2a4f8846531fe6d4 100644 (file)
@@ -135,7 +135,7 @@ class Themes {
   public function getAvailable() {
     $result = [];
     foreach ($this->getAll() as $key => $theme) {
-      if ($key{0} !== '_') {
+      if ($key[0] !== '_') {
         $result[$key] = $theme['title'];
       }
     }
index 0381768218aca43d2adb5ac52b82ad088bf7930b..586a0c75d2de3c2d458e00a97740305cf567c7b1 100644 (file)
@@ -58,6 +58,9 @@ class Requirements {
    *   An array of check summaries. Each array contains the keys 'title', 'severity', and 'details'.
    */
   public function checkAll(array $config) {
+    if (!class_exists('\CRM_Utils_SQL_TempTable')) {
+      require_once dirname(__FILE__) . '/../../CRM/Utils/SQL/TempTable.php';
+    }
     return array_merge($this->checkSystem($config['file_paths']), $this->checkDatabase($config['db_config']));
   }
 
@@ -304,7 +307,8 @@ class Requirements {
       return $results;
     }
 
-    if (version_compare($info, $min) == -1) {
+    $versionDetails = mysqli_query($conn, 'SELECT version() as version')->fetch_assoc();
+    if (version_compare($versionDetails['version'], $min) == -1) {
       $results['severity'] = $this::REQUIREMENT_ERROR;
       $results['details'] = "MySQL version is {$info}; minimum required is {$min}";
       return $results;
@@ -373,15 +377,15 @@ class Requirements {
       $results['details'] = "Could not select the database";
       return $results;
     }
-
-    $r = mysqli_query($conn, 'CREATE TEMPORARY TABLE civicrm_install_temp_table_test (test text)');
+    $temporaryTableName = \CRM_Utils_SQL_TempTable::build()->setCategory('install')->getName();
+    $r = mysqli_query($conn, 'CREATE TEMPORARY TABLE ' . $temporaryTableName . ' (test text)');
     if (!$r) {
       $results['severity'] = $this::REQUIREMENT_ERROR;
       $results['details'] = "Database does not support creation of temporary tables";
       return $results;
     }
 
-    mysqli_query($conn, 'DROP TEMPORARY TABLE civicrm_install_temp_table_test');
+    mysqli_query($conn, 'DROP TEMPORARY TABLE ' . $temporaryTableName);
     return $results;
   }
 
index 8878734691078a3cc9ce44189b0c845065dcfc00..49a4ea4e8c9975f9c5392638c098b2033a7dc78a 100644 (file)
@@ -3,6 +3,7 @@ namespace Civi\Payment;
 
 use InvalidArgumentException;
 use Civi;
+use CRM_Core_Error;
 use CRM_Core_PseudoConstant;
 
 /**
@@ -21,11 +22,6 @@ use CRM_Core_PseudoConstant;
  *
  */
 class PropertyBag implements \ArrayAccess {
-  /**
-   * @var array
-   * - see legacyWarning
-   */
-  public static $legacyWarnings = [];
 
   protected $props = ['default' => []];
 
@@ -75,6 +71,14 @@ class PropertyBag implements \ArrayAccess {
     'isNotifyProcessorOnCancelRecur' => TRUE,
   ];
 
+
+  /**
+   * @var bool
+   * Temporary, internal variable to help ease transition to PropertyBag.
+   * Used by cast() to suppress legacy warnings.
+   */
+  protected $suppressLegacyWarnings = FALSE;
+
   /**
    * Get the property bag.
    *
@@ -109,7 +113,9 @@ class PropertyBag implements \ArrayAccess {
    */
   public function offsetExists ($offset): bool {
     $prop = $this->handleLegacyPropNames($offset, TRUE);
-    return $prop && isset($this->props['default'][$prop]);
+    // If there's no prop, assume it's a custom property.
+    $prop = $prop ?? $offset;
+    return array_key_exists($prop, $this->props['default']);
   }
 
   /**
@@ -118,8 +124,35 @@ class PropertyBag implements \ArrayAccess {
    * @param mixed $offset
    * @return mixed
    */
-  public function offsetGet ($offset) {
-    $prop = $this->handleLegacyPropNames($offset);
+  public function offsetGet($offset) {
+    try {
+      $prop = $this->handleLegacyPropNames($offset);
+    }
+    catch (InvalidArgumentException $e) {
+
+      CRM_Core_Error::deprecatedFunctionWarning(
+        "proper getCustomProperty('$offset') for non-core properties. "
+        . $e->getMessage(),
+        "PropertyBag array access to get '$offset'"
+      );
+
+      try {
+        return $this->getCustomProperty($offset, 'default');
+      }
+      catch (BadMethodCallException $e) {
+        CRM_Core_Error::deprecatedFunctionWarning(
+          "proper setCustomProperty('$offset', \$value) to store the value (since it is not a core value), then access it with getCustomProperty('$offset'). NULL is returned but in future an exception will be thrown."
+          . $e->getMessage(),
+          "PropertyBag array access to get unset property '$offset'"
+        );
+        return NULL;
+      }
+    }
+
+    CRM_Core_Error::deprecatedFunctionWarning(
+      "get" . ucfirst($offset) . "()",
+      "PropertyBag array access for core property '$offset'"
+    );
     return $this->get($prop, 'default');
   }
 
@@ -139,7 +172,15 @@ class PropertyBag implements \ArrayAccess {
       // This is fine if it's something particular to a payment processor
       // (which should be using setCustomProperty) however it could also lead to
       // things like 'my_weirly_named_contact_id'.
-      $this->legacyWarning($e->getMessage() . " We have merged this in for now as a custom property. Please rewrite your code to use PropertyBag->setCustomProperty if it is a genuinely custom property, or a standardised setter like PropertyBag->setContactID for standard properties");
+      //
+      // From 5.28 we suppress this when using PropertyBag::cast() to ease transition.
+      if (!$this->suppressLegacyWarnings) {
+        CRM_Core_Error::deprecatedFunctionWarning(
+          "proper setCustomProperty('$offset', \$value) for non-core properties. "
+          . $e->getMessage(),
+          "PropertyBag array access to set '$offset'"
+        );
+      }
       $this->setCustomProperty($offset, $value, 'default');
       return;
     }
@@ -155,6 +196,12 @@ class PropertyBag implements \ArrayAccess {
     // These lines are here (and not in try block) because the catch must only
     // catch the case when the prop is custom.
     $setter = 'set' . ucfirst($prop);
+    if (!$this->suppressLegacyWarnings) {
+      CRM_Core_Error::deprecatedFunctionWarning(
+        "$setter()",
+        "PropertyBag array access to set core property '$offset'"
+      );
+    }
     $this->$setter($value, 'default');
   }
 
@@ -168,24 +215,6 @@ class PropertyBag implements \ArrayAccess {
     unset($this->props['default'][$prop]);
   }
 
-  /**
-   * Log legacy warnings info.
-   *
-   * @param string $message
-   */
-  protected function legacyWarning($message) {
-    if (empty(static::$legacyWarnings)) {
-      // First time we have been called.
-      register_shutdown_function([PropertyBag::class, 'writeLegacyWarnings']);
-    }
-    // Store warnings instead of logging immediately, as calls to Civi::log()
-    // can take over half a second to work in some hosting environments.
-    static::$legacyWarnings[$message] = TRUE;
-
-    // For unit tests:
-    $this->lastWarning = $message;
-  }
-
   /**
    * Save any legacy warnings to log.
    *
@@ -226,7 +255,10 @@ class PropertyBag implements \ArrayAccess {
       throw new \InvalidArgumentException("Unknown property '$prop'.");
     }
     // Remaining case is legacy name that's been translated.
-    $this->legacyWarning("We have translated '$prop' to '$newName' for you, but please update your code to use the propper setters and getters.");
+    if (!$this->suppressLegacyWarnings) {
+      CRM_Core_Error::deprecatedFunctionWarning("Canonical property name '$newName'", "Legacy property name '$prop'");
+    }
+
     return $newName;
   }
 
@@ -239,7 +271,7 @@ class PropertyBag implements \ArrayAccess {
    * @return mixed
    */
   protected function get($prop, $label) {
-    if (array_key_exists($prop, $this->props['default'])) {
+    if (array_key_exists($prop, $this->props[$label] ?? [])) {
       return $this->props[$label][$prop];
     }
     throw new \BadMethodCallException("Property '$prop' has not been set.");
@@ -291,17 +323,21 @@ class PropertyBag implements \ArrayAccess {
 
   /**
    * This is used to merge values from an array.
-   * It's a transitional function and should not be used!
+   * It's a transitional, internal function and should not be used!
    *
    * @param array $data
    */
   public function mergeLegacyInputParams($data) {
-    $this->legacyWarning('We have merged input params into the property bag for now but please rewrite code to not use this.');
+    // Suppress legacy warnings for merging an array of data as this
+    // suits our migration plan at this moment. Future behaviour may differ.
+    // @see https://github.com/civicrm/civicrm-core/pull/17643
+    $this->suppressLegacyWarnings = TRUE;
     foreach ($data as $key => $value) {
       if ($value !== NULL && $value !== '') {
         $this->offsetSet($key, $value);
       }
     }
+    $this->suppressLegacyWarnings = FALSE;
   }
 
   /**
@@ -1056,6 +1092,10 @@ class PropertyBag implements \ArrayAccess {
     if (isset(static::$propMap[$prop])) {
       throw new \InvalidArgumentException("Attempted to get '$prop' via getCustomProperty - must use using its getter.");
     }
+
+    if (!array_key_exists($prop, $this->props[$label] ?? [])) {
+      throw new \BadMethodCallException("Property '$prop' has not been set.");
+    }
     return $this->props[$label][$prop] ?? NULL;
   }
 
index e32d9b45d28888a925824bb608a5de85bd944799..2851bda3d89c9d283186e3dd54beeee9f104b327 100644 (file)
@@ -7,6 +7,9 @@ if (class_exists('PHPUnit_Runner_Version') && version_compare(\PHPUnit_Runner_Ve
   // Using an early return instead of a else does not work when using the PHPUnit phar due to some weird PHP behavior (the class
   // gets defined without executing the code before it and so the definition is not properly conditional)
 }
+elseif (version_compare(\PHPUnit\Runner\Version::id(), '7.0.0', '>=')) {
+  class_alias('Civi\Test\CiviTestListenerPHPUnit7', 'Civi\Test\CiviTestListener');
+}
 else {
 
   /**
diff --git a/Civi/Test/CiviTestListenerPHPUnit7.php b/Civi/Test/CiviTestListenerPHPUnit7.php
new file mode 100644 (file)
index 0000000..ee8173d
--- /dev/null
@@ -0,0 +1,297 @@
+<?php
+
+namespace Civi\Test;
+
+/**
+ * Class CiviTestListener
+ * @package Civi\Test
+ *
+ * CiviTestListener participates in test-execution, looking for test-classes
+ * which have certain tags. If the tags are found, the listener will perform
+ * additional setup/teardown logic.
+ *
+ * @see EndToEndInterface
+ * @see HeadlessInterface
+ * @see HookInterface
+ */
+class CiviTestListenerPHPUnit7 implements \PHPUnit\Framework\TestListener {
+
+  use \PHPUnit\Framework\TestListenerDefaultImplementation;
+
+  /**
+   * @var \CRM_Core_TemporaryErrorScope
+   */
+  private $errorScope;
+
+  /**
+   * @var array
+   *  Ex: $cache['Some_Test_Class']['civicrm_foobar'] = 'hook_civicrm_foobar';
+   *  Array(string $testClass => Array(string $hookName => string $methodName)).
+   */
+  private $cache = [];
+
+  /**
+   * @var \CRM_Core_Transaction|null
+   */
+  private $tx;
+
+  public function startTestSuite(\PHPUnit\Framework\TestSuite $suite): void {
+    $byInterface = $this->indexTestsByInterface($suite->tests());
+    $this->validateGroups($byInterface);
+    $this->autoboot($byInterface);
+  }
+
+  public function endTestSuite(\PHPUnit\Framework\TestSuite $suite): void {
+    $this->cache = [];
+  }
+
+  public function startTest(\PHPUnit\Framework\Test $test): void {
+    if ($this->isCiviTest($test)) {
+      error_reporting(E_ALL);
+      $this->errorScope = \CRM_Core_TemporaryErrorScope::useException();
+    }
+
+    if ($test instanceof HeadlessInterface) {
+      $this->bootHeadless($test);
+    }
+
+    if ($test instanceof HookInterface) {
+      // Note: bootHeadless() indirectly resets any hooks, which means that hook_civicrm_config
+      // is unsubscribable. However, after bootHeadless(), we're free to subscribe to hooks again.
+      $this->registerHooks($test);
+    }
+
+    if ($test instanceof TransactionalInterface) {
+      $this->tx = new \CRM_Core_Transaction(TRUE);
+      $this->tx->rollback();
+    }
+    else {
+      $this->tx = NULL;
+    }
+  }
+
+  public function endTest(\PHPUnit\Framework\Test $test, float $time): void {
+    if ($test instanceof TransactionalInterface) {
+      $this->tx->rollback()->commit();
+      $this->tx = NULL;
+    }
+    if ($test instanceof HookInterface) {
+      \CRM_Utils_Hook::singleton()->reset();
+    }
+    if ($this->isCiviTest($test)) {
+      error_reporting(E_ALL & ~E_NOTICE);
+      $this->errorScope = NULL;
+    }
+  }
+
+  /**
+   * @param HeadlessInterface|\PHPUnit\Framework\Test $test
+   */
+  protected function bootHeadless($test) {
+    if (CIVICRM_UF !== 'UnitTests') {
+      throw new \RuntimeException('HeadlessInterface requires CIVICRM_UF=UnitTests');
+    }
+
+    // Hrm, this seems wrong. Shouldn't we be resetting the entire session?
+    $session = \CRM_Core_Session::singleton();
+    $session->set('userID', NULL);
+    $test->setUpHeadless();
+
+    \CRM_Utils_System::flushCache();
+    \Civi::reset();
+    \CRM_Core_Session::singleton()->set('userID', NULL);
+    // ugh, performance
+    $config = \CRM_Core_Config::singleton(TRUE, TRUE);
+
+    if (property_exists($config->userPermissionClass, 'permissions')) {
+      $config->userPermissionClass->permissions = NULL;
+    }
+  }
+
+  /**
+   * @param \Civi\Test\HookInterface $test
+   * @return array
+   *   Array(string $hookName => string $methodName)).
+   */
+  protected function findTestHooks(HookInterface $test) {
+    $class = get_class($test);
+    if (!isset($this->cache[$class])) {
+      $funcs = [];
+      foreach (get_class_methods($class) as $func) {
+        if (preg_match('/^hook_/', $func)) {
+          $funcs[substr($func, 5)] = $func;
+        }
+      }
+      $this->cache[$class] = $funcs;
+    }
+    return $this->cache[$class];
+  }
+
+  /**
+   * @param \PHPUnit\Framework\Test $test
+   * @return bool
+   */
+  protected function isCiviTest(\PHPUnit\Framework\Test $test) {
+    return $test instanceof HookInterface || $test instanceof HeadlessInterface;
+  }
+
+  /**
+   * Find any hook functions in $test and register them.
+   *
+   * @param \Civi\Test\HookInterface $test
+   */
+  protected function registerHooks(HookInterface $test) {
+    if (CIVICRM_UF !== 'UnitTests') {
+      // This is not ideal -- it's just a side-effect of how hooks and E2E tests work.
+      // We can temporarily subscribe to hooks in-process, but for other processes, it gets messy.
+      throw new \RuntimeException('CiviHookTestInterface requires CIVICRM_UF=UnitTests');
+    }
+    \CRM_Utils_Hook::singleton()->reset();
+    /** @var \CRM_Utils_Hook_UnitTests $hooks */
+    $hooks = \CRM_Utils_Hook::singleton();
+    foreach ($this->findTestHooks($test) as $hook => $func) {
+      $hooks->setHook($hook, [$test, $func]);
+    }
+  }
+
+  /**
+   * The first time we come across HeadlessInterface or EndToEndInterface, we'll
+   * try to autoboot.
+   *
+   * Once the system is booted, there's nothing we can do -- we're stuck with that
+   * environment. (Thank you, prolific define()s!) If there's a conflict between a
+   * test-class and the active boot-level, then we'll have to bail.
+   *
+   * @param array $byInterface
+   *   List of test classes, keyed by major interface (HeadlessInterface vs EndToEndInterface).
+   */
+  protected function autoboot($byInterface) {
+    if (defined('CIVICRM_UF')) {
+      // OK, nothing we can do. System has booted already.
+    }
+    elseif (!empty($byInterface['HeadlessInterface'])) {
+      putenv('CIVICRM_UF=UnitTests');
+      // phpcs:disable
+      eval($this->cv('php:boot --level=full', 'phpcode'));
+      // phpcs:enable
+    }
+    elseif (!empty($byInterface['EndToEndInterface'])) {
+      putenv('CIVICRM_UF=');
+      // phpcs:disable
+      eval($this->cv('php:boot --level=full', 'phpcode'));
+      // phpcs:enable
+    }
+
+    $blurb = "Tip: Run the headless tests and end-to-end tests separately, e.g.\n"
+    . "  $ phpunit5 --group headless\n"
+    . "  $ phpunit5 --group e2e  \n";
+
+    if (!empty($byInterface['HeadlessInterface']) && CIVICRM_UF !== 'UnitTests') {
+      $testNames = implode(', ', array_keys($byInterface['HeadlessInterface']));
+      throw new \RuntimeException("Suite includes headless tests ($testNames) which require CIVICRM_UF=UnitTests.\n\n$blurb");
+    }
+    if (!empty($byInterface['EndToEndInterface']) && CIVICRM_UF === 'UnitTests') {
+      $testNames = implode(', ', array_keys($byInterface['EndToEndInterface']));
+      throw new \RuntimeException("Suite includes end-to-end tests ($testNames) which do not support CIVICRM_UF=UnitTests.\n\n$blurb");
+    }
+  }
+
+  /**
+   * Call the "cv" command.
+   *
+   * This duplicates the standalone `cv()` wrapper that is recommended in bootstrap.php.
+   * This duplication is necessary because `cv()` is optional, and downstream implementers
+   * may alter, rename, or omit the wrapper, and (by virtue of its role in bootstrap) there
+   * it is impossible to define it centrally.
+   *
+   * @param string $cmd
+   *   The rest of the command to send.
+   * @param string $decode
+   *   Ex: 'json' or 'phpcode'.
+   * @return string
+   *   Response output (if the command executed normally).
+   * @throws \RuntimeException
+   *   If the command terminates abnormally.
+   */
+  protected function cv($cmd, $decode = 'json') {
+    $cmd = 'cv ' . $cmd;
+    $descriptorSpec = [0 => ["pipe", "r"], 1 => ["pipe", "w"], 2 => STDERR];
+    $oldOutput = getenv('CV_OUTPUT');
+    putenv("CV_OUTPUT=json");
+    $process = proc_open($cmd, $descriptorSpec, $pipes, __DIR__);
+    putenv("CV_OUTPUT=$oldOutput");
+    fclose($pipes[0]);
+    $result = stream_get_contents($pipes[1]);
+    fclose($pipes[1]);
+    if (proc_close($process) !== 0) {
+      throw new \RuntimeException("Command failed ($cmd):\n$result");
+    }
+    switch ($decode) {
+      case 'raw':
+        return $result;
+
+      case 'phpcode':
+        // If the last output is /*PHPCODE*/, then we managed to complete execution.
+        if (substr(trim($result), 0, 12) !== "/*BEGINPHP*/" || substr(trim($result), -10) !== "/*ENDPHP*/") {
+          throw new \RuntimeException("Command failed ($cmd):\n$result");
+        }
+        return $result;
+
+      case 'json':
+        return json_decode($result, 1);
+
+      default:
+        throw new \RuntimeException("Bad decoder format ($decode)");
+    }
+  }
+
+  /**
+   * @param $tests
+   * @return array
+   */
+  protected function indexTestsByInterface($tests) {
+    $byInterface = ['HeadlessInterface' => [], 'EndToEndInterface' => []];
+    foreach ($tests as $test) {
+      /** @var \PHPUnit\Framework\Test $test */
+      if ($test instanceof HeadlessInterface) {
+        $byInterface['HeadlessInterface'][get_class($test)] = 1;
+      }
+      if ($test instanceof EndToEndInterface) {
+        $byInterface['EndToEndInterface'][get_class($test)] = 1;
+      }
+    }
+    return $byInterface;
+  }
+
+  /**
+   * Ensure that any tests have sensible groups, e.g.
+   *
+   * `HeadlessInterface` ==> `group headless`
+   * `EndToEndInterface` ==> `group e2e`
+   *
+   * @param array $byInterface
+   */
+  protected function validateGroups($byInterface) {
+    foreach ($byInterface['HeadlessInterface'] as $className => $nonce) {
+      $clazz = new \ReflectionClass($className);
+      $docComment = str_replace("\r\n", "\n", $clazz->getDocComment());
+      if (strpos($docComment, "@group headless\n") === FALSE) {
+        echo "WARNING: Class $className implements HeadlessInterface. It should declare \"@group headless\".\n";
+      }
+      if (strpos($docComment, "@group e2e\n") !== FALSE) {
+        echo "WARNING: Class $className implements HeadlessInterface. It should not declare \"@group e2e\".\n";
+      }
+    }
+    foreach ($byInterface['EndToEndInterface'] as $className => $nonce) {
+      $clazz = new \ReflectionClass($className);
+      $docComment = str_replace("\r\n", "\n", $clazz->getDocComment());
+      if (strpos($docComment, "@group e2e\n") === FALSE) {
+        echo "WARNING: Class $className implements EndToEndInterface. It should declare \"@group e2e\".\n";
+      }
+      if (strpos($docComment, "@group headless\n") !== FALSE) {
+        echo "WARNING: Class $className implements EndToEndInterface. It should not declare \"@group headless\".\n";
+      }
+    }
+  }
+
+}
index 8cada62629b6cb198f3ad8cc6b5c6056bc29c390..9360484f29b427f2373170cbe067dd079f52a975 100644 (file)
@@ -18,7 +18,7 @@ class Data {
       \Civi\Test::schema()->setStrict(FALSE);
 
       // Ensure that when we populate the database it is done in utf8 mode
-      \Civi\Test::execute('SET NAMES utf8');
+      \Civi\Test::execute('SET NAMES utf8mb4');
       $sqlDir = dirname(dirname(__DIR__)) . "/sql";
 
       if (!isset(\Civi\Test::$statics['locale_data'])) {
index 866984566f7a32cf1c6899c4adb6864c1275a5a6..b664edd84add4a354d0857509c4a8b8b4c7c3aad 100644 (file)
@@ -143,7 +143,7 @@ trait DbTestTrait {
     $expectedValue, $message
   ) {
     $value = \CRM_Core_DAO::getFieldValue($daoName, $searchValue, $returnColumn, $searchColumn, TRUE);
-    $this->assertEquals($expectedValue, $value, $message);
+    $this->assertEquals(trim($expectedValue), trim($value), $message);
   }
 
   /**
index 5b432ac9530d5a66f6639494dc52684e781cae10..dd1df865e2e51c8e54953e3ab6121cd182b6543e 100644 (file)
 
 namespace Civi\Test;
 
-class TAP extends \PHPUnit\Util\Printer implements \PHPUnit\Framework\TestListener {
-
-  /**
-   * @var int
-   */
-  protected $testNumber = 0;
-
-  /**
-   * @var int
-   */
-  protected $testSuiteLevel = 0;
+if (version_compare(\PHPUnit\Runner\Version::id(), '7.0.0', '<')) {
+  class_alias('Civi\Test\TAPLegacy', 'Civi\Test\TAP');
+}
+else {
+  class TAP extends \PHPUnit\Util\Printer implements \PHPUnit\Framework\TestListener {
 
-  /**
-   * @var bool
-   */
-  protected $testSuccessful = TRUE;
+    /**
+     * @var int
+     */
+    protected $testNumber = 0;
 
-  /**
-   * Constructor.
-   *
-   * @param mixed $out
-   *
-   * @throws \PHPUnit\Framework\Exception
-   *
-   * @since  Method available since Release 3.3.4
-   */
-  public function __construct($out = NULL) {
-    parent::__construct($out);
-    $this
-      ->write("TAP version 13\n");
-  }
+    /**
+     * @var int
+     */
+    protected $testSuiteLevel = 0;
 
-  /**
-   * An error occurred.
-   *
-   * @param \PHPUnit\Framework\Test $test
-   * @param \Exception $e
-   * @param float $time
-   */
-  public function addError(\PHPUnit\Framework\Test $test, \Exception $e, $time) {
-    $this
-      ->writeNotOk($test, 'Error');
-  }
+    /**
+     * @var bool
+     */
+    protected $testSuccessful = TRUE;
 
-  /**
-   * A failure occurred.
-   *
-   * @param \PHPUnit\Framework\Test $test
-   * @param \PHPUnit\Framework\AssertionFailedError $e
-   * @param float $time
-   */
-  public function addFailure(\PHPUnit\Framework\Test $test, \PHPUnit\Framework\AssertionFailedError $e, $time) {
-    $this
-      ->writeNotOk($test, 'Failure');
-    $message = explode("\n", \PHPUnit\Framework\TestFailure::exceptionToString($e));
-    $diagnostic = array(
-      'message' => $message[0],
-      'severity' => 'fail',
-    );
-    if ($e instanceof \PHPUnit\Framework\ExpectationFailedException) {
-      $cf = $e
-        ->getComparisonFailure();
-      if ($cf !== NULL) {
-        $diagnostic['data'] = array(
-          'got' => $cf
-            ->getActual(),
-          'expected' => $cf
-            ->getExpected(),
-        );
-      }
+    /**
+     * Constructor.
+     *
+     * @param mixed $out
+     *
+     * @throws \PHPUnit\Framework\Exception
+     *
+     * @since  Method available since Release 3.3.4
+     */
+    public function __construct($out = NULL) {
+      parent::__construct($out);
+      $this
+        ->write("TAP version 13\n");
     }
 
-    if (function_exists('yaml_emit')) {
-      $content = \yaml_emit($diagnostic, YAML_UTF8_ENCODING);
-      $content = '  ' . strtr($content, ["\n" => "\n  "]);
-    }
-    else {
-      // Any valid JSON document is a valid YAML document.
-      $content = json_encode($diagnostic, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
-      // For closest match, drop outermost {}'s. Realign indentation.
-      $content = substr($content, 0, strrpos($content, "}")) . '  }';
-      $content = '  ' . ltrim($content);
-      $content = sprintf("  ---\n%s\n  ...\n", $content);
+    /**
+     * An error occurred.
+     *
+     * @param \PHPUnit\Framework\Test $test
+     * @param \Throwable $t
+     * @param float $time
+     */
+    public function addError(\PHPUnit\Framework\Test $test, \Throwable $t, float $time): void {
+      $this
+        ->writeNotOk($test, 'Error');
     }
 
-    $this->write($content);
-  }
-
-  /**
-   * Incomplete test.
-   *
-   * @param \PHPUnit\Framework\Test $test
-   * @param \Exception $e
-   * @param float $time
-   */
-  public function addIncompleteTest(\PHPUnit\Framework\Test $test, \Exception $e, $time) {
-    $this
-      ->writeNotOk($test, '', 'TODO Incomplete Test');
-  }
-
-  /**
-   * Risky test.
-   *
-   * @param \PHPUnit\Framework\Test $test
-   * @param \Exception $e
-   * @param float $time
-   *
-   * @since  Method available since Release 4.0.0
-   */
-  public function addRiskyTest(\PHPUnit\Framework\Test $test, \Exception $e, $time) {
-    $this
-      ->write(sprintf("ok %d - # RISKY%s\n", $this->testNumber, $e
-        ->getMessage() != '' ? ' ' . $e
-        ->getMessage() : ''));
-    $this->testSuccessful = FALSE;
-  }
+    /**
+     * A failure occurred.
+     *
+     * @param \PHPUnit\Framework\Test $test
+     * @param \PHPUnit\Framework\AssertionFailedError $e
+     * @param float $time
+     */
+    public function addFailure(\PHPUnit\Framework\Test $test, \PHPUnit\Framework\AssertionFailedError $e, float $time): void {
+      $this
+        ->writeNotOk($test, 'Failure');
+      $message = explode("\n", \PHPUnit\Framework\TestFailure::exceptionToString($e));
+      $diagnostic = array(
+        'message' => $message[0],
+        'severity' => 'fail',
+      );
+      if ($e instanceof \PHPUnit\Framework\ExpectationFailedException) {
+        $cf = $e
+          ->getComparisonFailure();
+        if ($cf !== NULL) {
+          $diagnostic['data'] = array(
+            'got' => $cf
+              ->getActual(),
+            'expected' => $cf
+              ->getExpected(),
+          );
+        }
+      }
 
-  /**
-   * Skipped test.
-   *
-   * @param \PHPUnit\Framework\Test $test
-   * @param \Exception $e
-   * @param float $time
-   *
-   * @since  Method available since Release 3.0.0
-   */
-  public function addSkippedTest(\PHPUnit\Framework\Test $test, \Exception $e, $time) {
-    $this
-      ->write(sprintf("ok %d - # SKIP%s\n", $this->testNumber, $e
-        ->getMessage() != '' ? ' ' . $e
-        ->getMessage() : ''));
-    $this->testSuccessful = FALSE;
-  }
+      if (function_exists('yaml_emit')) {
+        $content = \yaml_emit($diagnostic, YAML_UTF8_ENCODING);
+        $content = '  ' . strtr($content, ["\n" => "\n  "]);
+      }
+      else {
+        // Any valid JSON document is a valid YAML document.
+        $content = json_encode($diagnostic, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
+        // For closest match, drop outermost {}'s. Realign indentation.
+        $content = substr($content, 0, strrpos($content, "}")) . '  }';
+        $content = '  ' . ltrim($content);
+        $content = sprintf("  ---\n%s\n  ...\n", $content);
+      }
 
-  /**
-   * Warning test.
-   *
-   * @param \PHPUnit\Framework\Test $test
-   * @param \PHPUnit\Framework\Warning $e
-   * @param float $time
-   *
-   * @since  Method available since Release 3.0.0
-   */
-  public function addWarning(\PHPUnit\Framework\Test $test, \PHPUnit\Framework\Warning $e, $time) {
-    $this
-      ->write(sprintf("ok %d - # Warning%s\n", $this->testNumber, $e
-        ->getMessage() != '' ? ' ' . $e
-        ->getMessage() : ''));
-    $this->testSuccessful = FALSE;
-  }
+      $this->write($content);
+    }
 
-  /**
-   * A testsuite started.
-   *
-   * @param \PHPUnit\Framework\TestSuite $suite
-   */
-  public function startTestSuite(\PHPUnit\Framework\TestSuite $suite) {
-    $this->testSuiteLevel++;
-  }
+    /**
+     * Incomplete test.
+     *
+     * @param \PHPUnit\Framework\Test $test
+     * @param \Throwable $t
+     * @param float $time
+     */
+    public function addIncompleteTest(\PHPUnit\Framework\Test $test, \Throwable $t, float $time): void {
+      $this
+        ->writeNotOk($test, '', 'TODO Incomplete Test');
+    }
 
-  /**
-   * A testsuite ended.
-   *
-   * @param \PHPUnit\Framework\TestSuite $suite
-   */
-  public function endTestSuite(\PHPUnit\Framework\TestSuite $suite) {
-    $this->testSuiteLevel--;
-    if ($this->testSuiteLevel == 0) {
+    /**
+     * Risky test.
+     *
+     * @param \PHPUnit\Framework\Test $test
+     * @param \Throwable $t
+     * @param float $time
+     *
+     * @since  Method available since Release 4.0.0
+     */
+    public function addRiskyTest(\PHPUnit\Framework\Test $test, \Throwable $t, float $time): void {
       $this
-        ->write(sprintf("1..%d\n", $this->testNumber));
+        ->write(sprintf("ok %d - # RISKY%s\n", $this->testNumber, $t
+          ->getMessage() != '' ? ' ' . $t
+          ->getMessage() : ''));
+      $this->testSuccessful = FALSE;
     }
-  }
 
-  /**
-   * A test started.
-   *
-   * @param \PHPUnit\Framework\Test $test
-   */
-  public function startTest(\PHPUnit\Framework\Test $test) {
-    $this->testNumber++;
-    $this->testSuccessful = TRUE;
-  }
+    /**
+     * Skipped test.
+     *
+     * @param \PHPUnit\Framework\Test $test
+     * @param \Throwable $t
+     * @param float $time
+     *
+     * @since  Method available since Release 3.0.0
+     */
+    public function addSkippedTest(\PHPUnit\Framework\Test $test, \Throwable $t, float $time): void {
+      $this
+        ->write(sprintf("ok %d - # SKIP%s\n", $this->testNumber, $t
+          ->getMessage() != '' ? ' ' . $t
+          ->getMessage() : ''));
+      $this->testSuccessful = FALSE;
+    }
 
-  /**
-   * A test ended.
-   *
-   * @param \PHPUnit\Framework\Test $test
-   * @param float $time
-   */
-  public function endTest(\PHPUnit\Framework\Test $test, $time) {
-    if ($this->testSuccessful === TRUE) {
+    /**
+     * Warning test.
+     *
+     * @param \PHPUnit\Framework\Test $test
+     * @param \PHPUnit\Framework\Warning $e
+     * @param float $time
+     *
+     * @since  Method available since Release 3.0.0
+     */
+    public function addWarning(\PHPUnit\Framework\Test $test, \PHPUnit\Framework\Warning $e, float $time): void {
       $this
-        ->write(sprintf("ok %d - %s\n", $this->testNumber, \PHPUnit\Util\Test::describe($test)));
+        ->write(sprintf("ok %d - # Warning%s\n", $this->testNumber, $e
+          ->getMessage() != '' ? ' ' . $e
+          ->getMessage() : ''));
+      $this->testSuccessful = FALSE;
     }
-    $this
-      ->writeDiagnostics($test);
-  }
 
-  /**
-   * @param \PHPUnit\Framework\Test $test
-   * @param string $prefix
-   * @param string $directive
-   */
-  protected function writeNotOk(\PHPUnit\Framework\Test $test, $prefix = '', $directive = '') {
-    $this
-      ->write(sprintf("not ok %d - %s%s%s\n", $this->testNumber, $prefix != '' ? $prefix . ': ' : '', \PHPUnit\Util\Test::describe($test), $directive != '' ? ' # ' . $directive : ''));
-    $this->testSuccessful = FALSE;
-  }
+    /**
+     * A testsuite started.
+     *
+     * @param \PHPUnit\Framework\TestSuite $suite
+     */
+    public function startTestSuite(\PHPUnit\Framework\TestSuite $suite): void {
+      $this->testSuiteLevel++;
+    }
+
+    /**
+     * A testsuite ended.
+     *
+     * @param \PHPUnit\Framework\TestSuite $suite
+     */
+    public function endTestSuite(\PHPUnit\Framework\TestSuite $suite): void {
+      $this->testSuiteLevel--;
+      if ($this->testSuiteLevel == 0) {
+        $this
+          ->write(sprintf("1..%d\n", $this->testNumber));
+      }
+    }
 
-  /**
-   * @param \PHPUnit\Framework\Test $test
-   */
-  private function writeDiagnostics(\PHPUnit\Framework\Test $test) {
-    if (!$test instanceof \PHPUnit\Framework\TestCase) {
-      return;
+    /**
+     * A test started.
+     *
+     * @param \PHPUnit\Framework\Test $test
+     */
+    public function startTest(\PHPUnit\Framework\Test $test): void {
+      $this->testNumber++;
+      $this->testSuccessful = TRUE;
     }
-    if (!$test
-      ->hasOutput()) {
-      return;
+
+    /**
+     * A test ended.
+     *
+     * @param \PHPUnit\Framework\Test $test
+     * @param float $time
+     */
+    public function endTest(\PHPUnit\Framework\Test $test, float $time): void {
+      if ($this->testSuccessful === TRUE) {
+        $this
+          ->write(sprintf("ok %d - %s\n", $this->testNumber, \PHPUnit\Util\Test::describeAsString($test)));
+      }
+      $this
+        ->writeDiagnostics($test);
     }
-    foreach (explode("\n", trim($test
-      ->getActualOutput())) as $line) {
+
+    /**
+     * @param \PHPUnit\Framework\Test $test
+     * @param string $prefix
+     * @param string $directive
+     */
+    protected function writeNotOk(\PHPUnit\Framework\Test $test, $prefix = '', $directive = ''): void {
       $this
-        ->write(sprintf("# %s\n", $line));
+        ->write(sprintf("not ok %d - %s%s%s\n", $this->testNumber, $prefix != '' ? $prefix . ': ' : '', \PHPUnit\Util\Test::describeAsString($test), $directive != '' ? ' # ' . $directive : ''));
+      $this->testSuccessful = FALSE;
     }
-  }
 
+    /**
+     * @param \PHPUnit\Framework\Test $test
+     */
+    private function writeDiagnostics(\PHPUnit\Framework\Test $test): void {
+      if (!$test instanceof \PHPUnit\Framework\TestCase) {
+        return;
+      }
+      if (!$test
+        ->hasOutput()) {
+        return;
+      }
+      foreach (explode("\n", trim($test
+        ->getActualOutput())) as $line) {
+        $this
+          ->write(sprintf("# %s\n", $line));
+      }
+    }
+
+  }
 }
diff --git a/Civi/Test/TAPLegacy.php b/Civi/Test/TAPLegacy.php
new file mode 100644 (file)
index 0000000..41c7da0
--- /dev/null
@@ -0,0 +1,256 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | CiviCRM version 5                                                  |
+ +--------------------------------------------------------------------+
+ | This file is a part of CiviCRM.                                    |
+ |                                                                    |
+ | CiviCRM is free software; you can copy, modify, and distribute it  |
+ | under the terms of the GNU Affero General Public License           |
+ | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
+ |                                                                    |
+ | CiviCRM is distributed in the hope that it will be useful, but     |
+ | WITHOUT ANY WARRANTY; without even the implied warranty of         |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.               |
+ | See the GNU Affero General Public License for more details.        |
+ |                                                                    |
+ | You should have received a copy of the GNU Affero General Public   |
+ | License and the CiviCRM Licensing Exception along                  |
+ | with this program; if not, contact CiviCRM LLC                     |
+ | at info[AT]civicrm[DOT]org. If you have questions about the        |
+ | GNU Affero General Public License or the licensing of CiviCRM,     |
+ | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Test;
+
+class TAPLegacy extends \PHPUnit\Util\Printer implements \PHPUnit\Framework\TestListener {
+
+  /**
+   * @var int
+   */
+  protected $testNumber = 0;
+
+  /**
+   * @var int
+   */
+  protected $testSuiteLevel = 0;
+
+  /**
+   * @var bool
+   */
+  protected $testSuccessful = TRUE;
+
+  /**
+   * Constructor.
+   *
+   * @param mixed $out
+   *
+   * @throws \PHPUnit\Framework\Exception
+   *
+   * @since  Method available since Release 3.3.4
+   */
+  public function __construct($out = NULL) {
+    parent::__construct($out);
+    $this
+      ->write("TAP version 13\n");
+  }
+
+  /**
+   * An error occurred.
+   *
+   * @param \PHPUnit\Framework\Test $test
+   * @param \Exception $e
+   * @param float $time
+   */
+  public function addError(\PHPUnit\Framework\Test $test, \Exception $e, $time) {
+    $this
+      ->writeNotOk($test, 'Error');
+  }
+
+  /**
+   * A failure occurred.
+   *
+   * @param \PHPUnit\Framework\Test $test
+   * @param \PHPUnit\Framework\AssertionFailedError $e
+   * @param float $time
+   */
+  public function addFailure(\PHPUnit\Framework\Test $test, \PHPUnit\Framework\AssertionFailedError $e, $time) {
+    $this
+      ->writeNotOk($test, 'Failure');
+    $message = explode("\n", \PHPUnit\Framework\TestFailure::exceptionToString($e));
+    $diagnostic = array(
+      'message' => $message[0],
+      'severity' => 'fail',
+    );
+    if ($e instanceof \PHPUnit\Framework\ExpectationFailedException) {
+      $cf = $e
+        ->getComparisonFailure();
+      if ($cf !== NULL) {
+        $diagnostic['data'] = array(
+          'got' => $cf
+            ->getActual(),
+          'expected' => $cf
+            ->getExpected(),
+        );
+      }
+    }
+
+    if (function_exists('yaml_emit')) {
+      $content = \yaml_emit($diagnostic, YAML_UTF8_ENCODING);
+      $content = '  ' . strtr($content, ["\n" => "\n  "]);
+    }
+    else {
+      // Any valid JSON document is a valid YAML document.
+      $content = json_encode($diagnostic, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
+      // For closest match, drop outermost {}'s. Realign indentation.
+      $content = substr($content, 0, strrpos($content, "}")) . '  }';
+      $content = '  ' . ltrim($content);
+      $content = sprintf("  ---\n%s\n  ...\n", $content);
+    }
+
+    $this->write($content);
+  }
+
+  /**
+   * Incomplete test.
+   *
+   * @param \PHPUnit\Framework\Test $test
+   * @param \Exception $e
+   * @param float $time
+   */
+  public function addIncompleteTest(\PHPUnit\Framework\Test $test, \Exception $e, $time) {
+    $this
+      ->writeNotOk($test, '', 'TODO Incomplete Test');
+  }
+
+  /**
+   * Risky test.
+   *
+   * @param \PHPUnit\Framework\Test $test
+   * @param \Exception $e
+   * @param float $time
+   *
+   * @since  Method available since Release 4.0.0
+   */
+  public function addRiskyTest(\PHPUnit\Framework\Test $test, \Exception $e, $time) {
+    $this
+      ->write(sprintf("ok %d - # RISKY%s\n", $this->testNumber, $e
+        ->getMessage() != '' ? ' ' . $e
+        ->getMessage() : ''));
+    $this->testSuccessful = FALSE;
+  }
+
+  /**
+   * Skipped test.
+   *
+   * @param \PHPUnit\Framework\Test $test
+   * @param \Exception $e
+   * @param float $time
+   *
+   * @since  Method available since Release 3.0.0
+   */
+  public function addSkippedTest(\PHPUnit\Framework\Test $test, \Exception $e, $time) {
+    $this
+      ->write(sprintf("ok %d - # SKIP%s\n", $this->testNumber, $e
+        ->getMessage() != '' ? ' ' . $e
+        ->getMessage() : ''));
+    $this->testSuccessful = FALSE;
+  }
+
+  /**
+   * Warning test.
+   *
+   * @param \PHPUnit\Framework\Test $test
+   * @param \PHPUnit\Framework\Warning $e
+   * @param float $time
+   *
+   * @since  Method available since Release 3.0.0
+   */
+  public function addWarning(\PHPUnit\Framework\Test $test, \PHPUnit\Framework\Warning $e, $time) {
+    $this
+      ->write(sprintf("ok %d - # Warning%s\n", $this->testNumber, $e
+        ->getMessage() != '' ? ' ' . $e
+        ->getMessage() : ''));
+    $this->testSuccessful = FALSE;
+  }
+
+  /**
+   * A testsuite started.
+   *
+   * @param \PHPUnit\Framework\TestSuite $suite
+   */
+  public function startTestSuite(\PHPUnit\Framework\TestSuite $suite) {
+    $this->testSuiteLevel++;
+  }
+
+  /**
+   * A testsuite ended.
+   *
+   * @param \PHPUnit\Framework\TestSuite $suite
+   */
+  public function endTestSuite(\PHPUnit\Framework\TestSuite $suite) {
+    $this->testSuiteLevel--;
+    if ($this->testSuiteLevel == 0) {
+      $this
+        ->write(sprintf("1..%d\n", $this->testNumber));
+    }
+  }
+
+  /**
+   * A test started.
+   *
+   * @param \PHPUnit\Framework\Test $test
+   */
+  public function startTest(\PHPUnit\Framework\Test $test) {
+    $this->testNumber++;
+    $this->testSuccessful = TRUE;
+  }
+
+  /**
+   * A test ended.
+   *
+   * @param \PHPUnit\Framework\Test $test
+   * @param float $time
+   */
+  public function endTest(\PHPUnit\Framework\Test $test, $time) {
+    if ($this->testSuccessful === TRUE) {
+      $this
+        ->write(sprintf("ok %d - %s\n", $this->testNumber, \PHPUnit\Util\Test::describe($test)));
+    }
+    $this
+      ->writeDiagnostics($test);
+  }
+
+  /**
+   * @param \PHPUnit\Framework\Test $test
+   * @param string $prefix
+   * @param string $directive
+   */
+  protected function writeNotOk(\PHPUnit\Framework\Test $test, $prefix = '', $directive = '') {
+    $this
+      ->write(sprintf("not ok %d - %s%s%s\n", $this->testNumber, $prefix != '' ? $prefix . ': ' : '', \PHPUnit\Util\Test::describe($test), $directive != '' ? ' # ' . $directive : ''));
+    $this->testSuccessful = FALSE;
+  }
+
+  /**
+   * @param \PHPUnit\Framework\Test $test
+   */
+  private function writeDiagnostics(\PHPUnit\Framework\Test $test) {
+    if (!$test instanceof \PHPUnit\Framework\TestCase) {
+      return;
+    }
+    if (!$test
+      ->hasOutput()) {
+      return;
+    }
+    foreach (explode("\n", trim($test
+      ->getActualOutput())) as $line) {
+      $this
+        ->write(sprintf("# %s\n", $line));
+    }
+  }
+
+}
index 9f9412e9f723ec9b611f7241d43dd6b981888d69..96698212f4cad6277417382a4247dabbd337b8a3 100644 (file)
@@ -1,39 +1,41 @@
-<legend>{{ data.label || data.op + ' group' }}<span class="crm-marker" ng-if="data.required"> *</span></legend>
+<legend>{{ data.label || ts('%1 group', {1: $ctrl.conjunctions[data.op]}) }}</legend>
 <div class="btn-group btn-group-xs" ng-if="data.groupParent">
-  <button class="btn btn-danger-outline" ng-click="removeGroup()" title="{{:: ts('Remove group') }}">
+  <button class="btn btn-danger-outline" ng-click="$ctrl.removeGroup()" title="{{:: ts('Remove group') }}">
     <i class="crm-i fa-trash" aria-hidden="true"></i>
   </button>
 </div>
-<div class="api4-clause-group-sortable" ng-model="data.clauses" ui-sortable="{axis: 'y', connectWith: '.api4-clause-group-sortable', containment: '.api4-clause-fieldset', over: onSortOver}" ui-sortable-start="onSort" ui-sortable-stop="onSort">
-  <div class="api4-input form-inline clearfix" ng-repeat="(index, clause) in data.clauses">
-    <div class="api4-clause-badge" title="{{:: ts('Drag to reposition') }}">
-      <span class="badge badge-info">
-        <span ng-if="!index && !data.groupParent">{{ data.type }}</span>
-        <span ng-if="index || data.groupParent">{{ data.op }}</span>
-        <i class="crm-i fa-arrows" aria-hidden="true"></i>
-      </span>
+<div class="api4-clause-group-sortable" ng-model="data.clauses" ui-sortable="$ctrl.sortOptions">
+  <div class="api4-input form-inline clearfix" ng-repeat="(index, clause) in data.clauses" ng-class="{hiddenElement: index &lt; (data.skip || 0)}">
+    <div ng-if="index &gt;= (data.skip || 0)">
+      <div class="api4-clause-badge" title="{{:: ts('Drag to reposition') }}">
+        <span class="badge badge-info">
+          <span ng-if="index === (data.skip || 0) && !data.groupParent">{{ data.label }}</span>
+          <span ng-if="index &gt; (data.skip || 0) || data.groupParent">{{ $ctrl.conjunctions[data.op] }}</span>
+          <i class="crm-i fa-arrows" aria-hidden="true"></i>
+        </span>
+      </div>
+      <div ng-if="!$ctrl.conjunctions[clause[0]]" class="api4-input-group">
+        <input class="collapsible-optgroups form-control" ng-model="clause[0]" crm-ui-select="{data: data.fields, allowClear: true, placeholder: 'Field'}" />
+        <select class="form-control api4-operator" ng-model="clause[1]" ng-options="o for o in $ctrl.operators" ></select>
+        <input class="form-control" ng-model="clause[2]" api4-exp-value="{field: clause[0], op: clause[1], format: data.format}" />
+      </div>
+      <fieldset class="clearfix" ng-if="$ctrl.conjunctions[clause[0]]" crm-api4-clause="{format: data.format, clauses: clause[1], op: clause[0], fields: data.fields, groupParent: data.clauses, groupIndex: index}">
+      </fieldset>
     </div>
-    <div ng-if="clause[0] !== 'AND' && clause[0] !== 'OR' && clause[0] !== 'NOT'" class="api4-input-group">
-      <input class="collapsible-optgroups form-control" ng-model="clause[0]" crm-ui-select="{data: data.fields, allowClear: true, placeholder: 'Field'}" />
-      <select class="form-control api4-operator" ng-model="clause[1]" ng-options="o for o in operators" ></select>
-      <input class="form-control" ng-model="clause[2]" api4-exp-value="{field: clause[0], op: clause[1]}" />
-    </div>
-    <fieldset class="clearfix" ng-if="clause[0] === 'AND' || clause[0] === 'OR' || clause[0] === 'NOT'" crm-api4-clause="{type: data.type, clauses: clause[1], op: clause[0], fields: data.fields, groupParent: data.clauses, groupIndex: index}">
-    </fieldset>
   </div>
 </div>
 <div class="api4-input form-inline">
   <div class="api4-clause-badge">
     <div class="btn-group btn-group-xs" title="{{ data.groupParent ? ts('Add a subgroup of clauses') : ts('Add a group of clauses') }}">
       <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-        {{ data.op }} <span class="caret"></span>
+        {{ $ctrl.conjunctions[data.op] }} <span class="caret"></span>
       </button>
       <ul class="dropdown-menu api4-add-where-group-menu">
-        <li ng-repeat="con in conjunctions" ng-if="data.op !== con">
-          <a href ng-click="addGroup(con)">{{ con }}</a>
+        <li ng-repeat="(con, label) in $ctrl.conjunctions" ng-show="data.op !== con">
+          <a href ng-click="$ctrl.addGroup(con)">{{ label }}</a>
         </li>
       </ul>
     </div>
   </div>
-  <input class="collapsible-optgroups form-control" ng-model="newClause" title="Add a single clause" crm-ui-select="{data: data.fields, placeholder: 'Add clause'}" />
+  <input class="collapsible-optgroups form-control" ng-model="$ctrl.newClause" ng-change="$ctrl.addClause()" title="Add a single clause" crm-ui-select="{data: data.fields, placeholder: 'Add clause'}" />
 </div>
index d1379c892949d92713735a79550bbcd8c981d24c..5b479786836048345bc1f9c79ca4312b978979a2 100644 (file)
             </label>
             <a href class="crm-hover-button" title="Clear" ng-click="clearParam(name)" ng-show="params[name] !== null"><i class="crm-i fa-times" aria-hidden="true"></i></a>
           </div>
-          <fieldset class="api4-input form-inline" ng-mouseenter="help('select', availableParams.select)" ng-mouseleave="help()" ng-if="availableParams.select && !isSelectRowCount()">
+          <fieldset class="api4-input form-inline" ng-mouseenter="help('select', availableParams.select)" ng-mouseleave="help()" ng-if="availableParams.select">
             <legend>select<span class="crm-marker" ng-if="::availableParams.select.required"> *</span></legend>
             <div ng-model="params.select" ui-sortable="{axis: 'y'}">
-              <div class="api4-input form-inline" ng-repeat="item in params.select track by $index">
+              <div class="api4-input form-inline" ng-repeat="item in params.select track by $index" ng-show="item !== 'row_count'">
                 <i class="crm-i fa-arrows" aria-hidden="true"></i>
                 <input class="form-control huge" type="text" ng-model="params.select[$index]" />
                 <a href class="crm-hover-button" title="Clear" ng-click="clearParam('select', $index)"><i class="crm-i fa-times" aria-hidden="true"></i></a>
               <input class="collapsible-optgroups form-control huge" ng-model="controls.select" crm-ui-select="{data: fieldsAndJoinsAndFunctionsAndWildcards}" placeholder="Add select" />
             </div>
           </fieldset>
-          <fieldset class="api4-input form-inline" ng-mouseenter="help('join', availableParams.join)" ng-mouseleave="help()" ng-if="::availableParams.join">
+          <fieldset id="api4-join-fieldset" class="api4-input form-inline" ng-mouseenter="help('join', availableParams.join)" ng-mouseleave="help()" ng-if="::availableParams.join">
             <legend>join<span class="crm-marker" ng-if="::availableParams.join.required"> *</span></legend>
-            <div ng-model="params.join" ui-sortable="{axis: 'y'}">
-              <div class="api4-input form-inline" ng-repeat="item in params.join track by $index">
-                <i class="crm-i fa-arrows"></i>
-                <input class="form-control twenty" type="text" ng-model="params.join[$index][0]" />
-                <select class="form-control" ng-model="params.join[$index][1]" ng-options="o.k as o.v for o in ::joinTypes" ></select>
-                <input class="form-control twenty" type="text" ng-model="params.join[$index][2]" />
-                <a href class="crm-hover-button" title="Clear" ng-click="clearParam('join', $index)"><i class="crm-i fa-times"></i></a>
-              </div>
+            <div ng-model="params.join" ui-sortable="{axis: 'y', containment: '#api4-join-fieldset'}">
+              <fieldset ng-repeat="item in params.join track by $index">
+                <div class="api4-input form-inline">
+                  <i class="crm-i fa-arrows"></i>
+                  <input class="form-control twenty" type="text" ng-model="params.join[$index][0]" ng-model-options="{updateOn: 'blur'}" ng-change="$ctrl.buildFieldList()"/>
+                  <select class="form-control" ng-model="params.join[$index][1]" ng-options="o.k as o.v for o in ::joinTypes" ></select>
+                  <a href class="crm-hover-button" title="Clear" ng-click="clearParam('join', $index)"><i class="crm-i fa-times"></i></a>
+                </div>
+                <fieldset class="api4-clause-fieldset" crm-api4-clause="{skip: 2, clauses: params.join[$index], op: 'AND', label: 'On', fields: fieldsAndJoins, format: 'plain'}">
+                </fieldset>
+              </fieldset>
             </div>
             <div class="api4-input form-inline">
               <input class="collapsible-optgroups form-control huge" ng-model="controls.join" crm-ui-select="{data: entities}" placeholder="Add join" />
             <textarea class="form-control" type="{{:: param.type[0] === 'int' && param.type.length === 1 ? 'number' : 'text' }}" id="api4-param-{{:: name }}" ng-model="params[name]">
             </textarea>
           </div>
-          <fieldset ng-if="::availableParams.where" class="api4-clause-fieldset" ng-mouseenter="help('where', availableParams.where)" ng-mouseleave="help()" crm-api4-clause="{type: 'where', clauses: params.where, required: availableParams.where.required, op: 'AND', label: 'where', fields: fieldsAndJoins}">
+          <fieldset ng-if="::availableParams.where" class="api4-clause-fieldset" ng-mouseenter="help('where', availableParams.where)" ng-mouseleave="help()" crm-api4-clause="{type: 'where', clauses: params.where, required: availableParams.where.required, op: 'AND', label: 'Where', fields: fieldsAndJoins}">
           </fieldset>
           <fieldset ng-repeat="name in ['values', 'defaults']" ng-if="::availableParams[name]" ng-mouseenter="help(name, availableParams[name])" ng-mouseleave="help()">
             <legend>{{:: name }}<span class="crm-marker" ng-if="::availableParams[name].required"> *</span></legend>
               <input class="collapsible-optgroups form-control huge" ng-model="controls.groupBy" crm-ui-select="{data: fieldsAndJoinsAndFunctions}" placeholder="Add groupBy" />
             </div>
           </fieldset>
-          <fieldset ng-if="::availableParams.having" class="api4-clause-fieldset" ng-mouseenter="help('having', availableParams.having)" ng-mouseleave="help()" crm-api4-clause="{type: 'having', clauses: params.having, required: availableParams.having.required, op: 'AND', label: 'having', fields: havingOptions}">
+          <fieldset ng-if="::availableParams.having" class="api4-clause-fieldset" ng-mouseenter="help('having', availableParams.having)" ng-mouseleave="help()" crm-api4-clause="{clauses: params.having, required: availableParams.having.required, op: 'AND', label: 'Having', fields: havingOptions}">
           </fieldset>
           <fieldset ng-if="::availableParams.orderBy" ng-mouseenter="help('orderBy', availableParams.orderBy)" ng-mouseleave="help()">
             <legend>orderBy<span class="crm-marker" ng-if="::availableParams.orderBy.required"> *</span></legend>
index 17de0a2958e63a98b4b0e6521012e2017acc6453..9e6b9644a8262a5b0fe8da60d3ed1096d0c80507 100644 (file)
@@ -10,6 +10,8 @@
   var actions = [];
   // Field options
   var fieldOptions = {};
+  // Api params
+  var params;
 
 
   angular.module('api4Explorer').config(function($routeProvider) {
@@ -21,7 +23,8 @@
   });
 
   angular.module('api4Explorer').controller('Api4Explorer', function($scope, $routeParams, $location, $timeout, $http, crmUiHelp, crmApi4, dialogService) {
-    var ts = $scope.ts = CRM.ts();
+    var ts = $scope.ts = CRM.ts(),
+      ctrl = $scope.$ctrl = this;
     $scope.entities = entities;
     $scope.actions = actions;
     $scope.fields = [];
@@ -31,7 +34,7 @@
     $scope.fieldsAndJoinsAndFunctionsWithSuffixes = [];
     $scope.fieldsAndJoinsAndFunctionsAndWildcards = [];
     $scope.availableParams = {};
-    $scope.params = {};
+    params = $scope.params = {};
     $scope.index = '';
     $scope.selectedTab = {result: 'result', code: 'php'};
     $scope.perm = {
@@ -73,7 +76,7 @@
     };
 
     if (!entities.length) {
-      formatForSelect2(schema, entities, 'name', ['description']);
+      formatForSelect2(schema, entities, 'name', ['description', 'icon']);
     }
 
     $scope.$bindToRoute({
     }
 
     function pluralize(str) {
-      switch (str[str.length-1]) {
-        case 's':
-          return str + 'es';
-        case 'y':
-          return str.slice(0, -1) + 'ies';
-        default:
-          return str + 's';
+      var lastLetter = str[str.length - 1],
+        lastTwo = str[str.length - 2] + lastLetter;
+      if (lastLetter === 's' || lastTwo === 'ch') {
+        return str + 'es';
+      }
+      if (lastLetter === 'y' && lastTwo !== 'ey') {
+        return str.slice(0, -1) + 'ies';
       }
+      return str + 's';
     }
 
     // Reformat an existing array of objects for compatibility with select2
       return container;
     }
 
-    // Returns field list formatted for select2
-    function getFieldList(action, addPseudoconstant) {
-      var fields = [],
-        fieldInfo = _.findWhere(getEntity().actions, {name: action}).fields;
+    // Replaces contents of fieldList array with current fields formatted for select2
+    function getFieldList(fieldList, action, addPseudoconstant) {
+      var fieldInfo = _.cloneDeep(_.findWhere(getEntity().actions, {name: action}).fields);
+      fieldList.length = 0;
       if (addPseudoconstant) {
-        fieldInfo = _.cloneDeep(fieldInfo);
         addPseudoconstants(fieldInfo, addPseudoconstant);
       }
-      formatForSelect2(fieldInfo, fields, 'name', ['description', 'required', 'default_value']);
-      return fields;
+      formatForSelect2(fieldInfo, fieldList, 'name', ['description', 'required', 'default_value']);
     }
 
     // Note: this function expects fieldList to be select2-formatted already
     function addJoins(fieldList, addWildcard, addPseudoconstant) {
-      var fields = _.cloneDeep(fieldList);
+      // Add entities specified by the join param
+      _.each(getExplicitJoins(), function(joinEntity, joinAlias) {
+        var wildCard = addWildcard ? [{id: joinAlias + '.*', text: joinAlias + '.*', 'description': 'All core ' + joinEntity + ' fields'}] : [],
+          joinFields = _.cloneDeep(entityFields(joinEntity));
+        if (joinFields) {
+          if (addPseudoconstant) {
+            addPseudoconstants(joinFields, addPseudoconstant);
+          }
+          fieldList.push({
+            text: joinEntity + ' AS ' + joinAlias,
+            description: 'Explicit join to ' + joinEntity,
+            children: wildCard.concat(formatForSelect2(joinFields, [], 'name', ['description'], joinAlias + '.'))
+          });
+        }
+      });
+      // Add implicit joins based on schema links
       _.each(links[$scope.entity], function(link) {
         var linkFields = _.cloneDeep(entityFields(link.entity)),
           wildCard = addWildcard ? [{id: link.alias + '.*', text: link.alias + '.*', 'description': 'All core ' + link.entity + ' fields'}] : [];
           if (addPseudoconstant) {
             addPseudoconstants(linkFields, addPseudoconstant);
           }
-          fields.push({
+          fieldList.push({
             text: link.alias,
             description: 'Implicit join to ' + link.entity,
             children: wildCard.concat(formatForSelect2(linkFields, [], 'name', ['description'], link.alias + '.'))
           });
         }
       });
-      return fields;
     }
 
     // Note: this function transforms a raw list a-la getFields; not a select2-formatted list
     // Returns field list for write params (values, defaults)
     $scope.fieldList = function(param) {
       return function() {
-        var fields = _.cloneDeep(getFieldList($scope.action === 'getFields' ? ($scope.params.action || 'get') : $scope.action, ['name']));
+        var fields = [];
+        getFieldList(fields, $scope.action === 'getFields' ? ($scope.params.action || 'get') : $scope.action, ['name']);
         // Disable fields that are already in use
         _.each($scope.params[param] || [], function(val) {
           var usedField = val[0].replace(':name', '');
     };
 
     $scope.selectRowCount = function() {
-      if ($scope.isSelectRowCount()) {
-        $scope.params.select = [];
+      var index = params.select.indexOf('row_count');
+      if (index < 0) {
+        $scope.params.select.push('row_count');
       } else {
-        $scope.params.select = ['row_count'];
-        $scope.index = '';
-        if ($scope.params.limit == 25) {
-          $scope.params.limit = 0;
-        }
+        $scope.params.select.splice(index, 1);
       }
     };
 
     };
 
     function isSelectRowCount(params) {
-      return params && params.select && params.select.length === 1 && params.select[0] === 'row_count';
+      return params && params.select && params.select.indexOf('row_count') >= 0;
     }
 
     function getEntity(entityName) {
     }
 
     function parseYaml(input) {
-      if (typeof input === 'undefined') {
-        return undefined;
+      if (typeof input === 'undefined' || input === '') {
+        return input;
       }
-      if (input === '') {
-        return '';
+      // Return literal quoted string without removing quotes - for the sake of JOIN ON clauses
+      if (_.isString(input) && input[0] === input[input.length - 1] && _.includes(["'", '"'], input[0])) {
+        return input;
       }
       if (_.isObject(input) || _.isArray(input)) {
         _.each(input, function(item, index) {
       }
     }
 
+    this.buildFieldList = function() {
+      var actionInfo = _.findWhere(actions, {id: $scope.action});
+      getFieldList($scope.fields, $scope.action);
+      getFieldList($scope.fieldsAndJoins, $scope.action, ['name']);
+      getFieldList($scope.fieldsAndJoinsAndFunctions, $scope.action);
+      getFieldList($scope.fieldsAndJoinsAndFunctionsWithSuffixes, $scope.action, ['name', 'label']);
+      getFieldList($scope.fieldsAndJoinsAndFunctionsAndWildcards, $scope.action, ['name', 'label']);
+      if (_.contains(['get', 'update', 'delete', 'replace'], $scope.action)) {
+        addJoins($scope.fieldsAndJoins);
+        // SQL functions are supported if HAVING is
+        if (actionInfo.params.having) {
+          var functions = {
+            text: ts('FUNCTION'),
+            description: ts('Calculate result of a SQL function'),
+            children: _.transform(CRM.vars.api4.functions, function(result, fn) {
+              result.push({
+                id: fn.name + '() AS ' + fn.name.toLowerCase(),
+                text: fn.name + '()',
+                description: fn.name + '(' + describeSqlFn(fn.params) + ')'
+              });
+            })
+          };
+          $scope.fieldsAndJoinsAndFunctions.push(functions);
+          $scope.fieldsAndJoinsAndFunctionsWithSuffixes.push(functions);
+          $scope.fieldsAndJoinsAndFunctionsAndWildcards.push(functions);
+        }
+        addJoins($scope.fieldsAndJoinsAndFunctions, true);
+        addJoins($scope.fieldsAndJoinsAndFunctionsWithSuffixes, false, ['name', 'label']);
+        addJoins($scope.fieldsAndJoinsAndFunctionsAndWildcards, true, ['name', 'label']);
+      }
+      $scope.fieldsAndJoinsAndFunctionsAndWildcards.unshift({id: '*', text: '*', 'description': 'All core ' + $scope.entity + ' fields'});
+    };
+
     function selectAction() {
       $scope.action = $routeParams.api4action;
-      $scope.fieldsAndJoins.length = 0;
-      $scope.fieldsAndJoinsAndFunctions.length = 0;
-      $scope.fieldsAndJoinsAndFunctionsWithSuffixes.length = 0;
-      $scope.fieldsAndJoinsAndFunctionsAndWildcards.length = 0;
       if (!actions.length) {
         formatForSelect2(getEntity().actions, actions, 'name', ['description', 'params']);
       }
       if ($scope.action) {
         var actionInfo = _.findWhere(actions, {id: $scope.action});
-        $scope.fields = getFieldList($scope.action);
-        if (_.contains(['get', 'update', 'delete', 'replace'], $scope.action)) {
-          $scope.fieldsAndJoins = addJoins(getFieldList($scope.action, ['name']));
-          var functions = [];
-          // SQL functions are supported if HAVING is
-          if (actionInfo.params.having) {
-            functions.push({
-              text: ts('FUNCTION'),
-              description: ts('Calculate result of a SQL function'),
-              children: _.transform(CRM.vars.api4.functions, function(result, fn) {
-                result.push({
-                  id: fn.name + '() AS ' + fn.name.toLowerCase(),
-                  text: fn.name + '()',
-                  description: fn.name + '(' + describeSqlFn(fn.params) + ')'
-                });
-              })
-            });
-          }
-          $scope.fieldsAndJoinsAndFunctions = addJoins($scope.fields.concat(functions), true);
-          $scope.fieldsAndJoinsAndFunctionsWithSuffixes = addJoins(getFieldList($scope.action, ['name', 'label']).concat(functions), false, ['name', 'label']);
-          $scope.fieldsAndJoinsAndFunctionsAndWildcards = addJoins(getFieldList($scope.action, ['name', 'label']).concat(functions), true, ['name', 'label']);
-        } else {
-          $scope.fieldsAndJoins = getFieldList($scope.action, ['name']);
-          $scope.fieldsAndJoinsAndFunctions = $scope.fields;
-          $scope.fieldsAndJoinsAndFunctionsWithSuffixes = getFieldList($scope.action, ['name', 'label']);
-          $scope.fieldsAndJoinsAndFunctionsAndWildcards = getFieldList($scope.action, ['name', 'label']);
-        }
-        $scope.fieldsAndJoinsAndFunctionsAndWildcards.unshift({id: '*', text: '*', 'description': 'All core ' + $scope.entity + ' fields'});
         _.each(actionInfo.params, function (param, name) {
           var format,
             defaultVal = _.cloneDeep(param.default);
               $timeout(function() {
                 if (field) {
                   if (name === 'join') {
-                    $scope.params[name].push([field + ' AS ' + _.snakeCase(field), false, '[]']);
+                    $scope.params[name].push([field + ' AS ' + _.snakeCase(field), false]);
+                    ctrl.buildFieldList();
                   }
                   else if (typeof objectParams[name] === 'undefined') {
                     $scope.params[name].push(field);
             });
           }
         });
+        ctrl.buildFieldList();
         $scope.availableParams = actionInfo.params;
       }
       writeCode();
           paramCount = _.size(params),
           i = 0;
 
-        if (isSelectRowCount(params)) {
-          results = result + 'Count';
-        }
-
         switch ($scope.selectedTab.code) {
           case 'js':
           case 'ang':
 
             // Write oop code
             code.oop = '$' + results + " = " + formatOOP(entity, action, params, 2) + "\n  ->execute()";
-            if (isSelectRowCount(params)) {
-              code.oop += "\n  ->count()";
-            } else if (_.isNumber(index)) {
+            if (_.isNumber(index)) {
               code.oop += !index ? '\n  ->first()' : (index === -1 ? '\n  ->last()' : '\n  ->itemAt(' + index + ')');
             } else if (index) {
               if (_.isString(index) || (_.isPlainObject(index) && !index[0] && !index['0'])) {
               }
             }
             code.oop += ";\n";
-            if (!_.isNumber(index) && !isSelectRowCount(params)) {
+            if (!_.isNumber(index)) {
               code.oop += "foreach ($" + results + ' as $' + ((_.isString(index) && index) ? index + ' => $' : '') + result + ') {\n  // do something\n}';
             }
             break;
             }
           });
         } else if (key === 'select') {
-          code += newLine;
-          // addSelect() is a variadic function & can take multiple arguments; selectRowCount() is a shortcut for addSelect('row_count')
-          code += isSelectRowCount(params) ? '->selectRowCount()' : '->addSelect(' + phpFormat(param).slice(1, -1) + ')';
+          // selectRowCount() is a shortcut for addSelect('row_count')
+          if (isSelectRowCount(params)) {
+            code += newLine + '->selectRowCount()';
+            param = _.without(param, 'row_count');
+          }
+          // addSelect() is a variadic function & can take multiple arguments
+          if (param.length) {
+            code += newLine + '->addSelect(' + phpFormat(param).slice(1, -1) + ')';
+          }
         } else if (key === 'chain') {
           _.each(param, function(chain, name) {
             code += newLine + "->addChain('" + name + "', " + formatOOP(chain[0], chain[1], chain[2], 2 + indent);
           $scope.loading = false;
           $scope.status = resp.data && resp.data.debug && resp.data.debug.log ? 'warning' : 'success';
           $scope.debug = debugFormat(resp.data);
-          $scope.result = [formatMeta(resp.data), prettyPrintOne(_.escape(JSON.stringify(resp.data.values, null, 2)), 'js', 1)];
+          $scope.result = [
+            formatMeta(resp.data),
+            prettyPrintOne('(' + resp.data.values.length + ') ' + _.escape(JSON.stringify(resp.data.values, null, 2)), 'js', 1)
+          ];
         }, function(resp) {
           $scope.loading = false;
           $scope.status = 'danger';
           $scope.debug = debugFormat(resp.data);
-          $scope.result = [formatMeta(resp), prettyPrintOne(_.escape(JSON.stringify(resp.data, null, 2)))];
+          $scope.result = [
+            formatMeta(resp),
+            prettyPrintOne(_.escape(JSON.stringify(resp.data, null, 2)))
+          ];
         });
     };
 
     };
   });
 
-  angular.module('api4Explorer').directive('crmApi4Clause', function($timeout) {
+  angular.module('api4Explorer').directive('crmApi4Clause', function() {
     return {
       scope: {
-        data: '=crmApi4Clause'
+        data: '<crmApi4Clause'
       },
       templateUrl: '~/api4Explorer/Clause.html',
-      link: function (scope, element, attrs) {
-        var ts = scope.ts = CRM.ts();
-        scope.newClause = '';
-        scope.conjunctions = ['AND', 'OR', 'NOT'];
-        scope.operators = CRM.vars.api4.operators;
+      controller: function ($scope, $element, $timeout) {
+        var ts = $scope.ts = CRM.ts(),
+          ctrl = $scope.$ctrl = this;
+        this.conjunctions = {AND: ts('And'), OR: ts('Or'), NOT: ts('Not')};
+        this.operators = CRM.vars.api4.operators;
+        this.sortOptions = {
+          axis: 'y',
+          connectWith: '.api4-clause-group-sortable',
+          containment: $element.closest('.api4-clause-fieldset'),
+          over: onSortOver,
+          start: onSort,
+          stop: onSort
+        };
 
-        scope.addGroup = function(op) {
-          scope.data.clauses.push([op, []]);
+        this.addGroup = function(op) {
+          $scope.data.clauses.push([op, []]);
         };
 
-        scope.removeGroup = function() {
-          scope.data.groupParent.splice(scope.data.groupIndex, 1);
+        this.removeGroup = function() {
+          $scope.data.groupParent.splice($scope.data.groupIndex, 1);
         };
 
-        scope.onSort = function(event, ui) {
-          $(element).closest('.api4-clause-fieldset').toggleClass('api4-sorting', event.type === 'sortstart');
+        function onSort(event, ui) {
+          $($element).closest('.api4-clause-fieldset').toggleClass('api4-sorting', event.type === 'sortstart');
           $('.api4-input.form-inline').css('margin-left', '');
-        };
+        }
 
         // Indent clause while dragging between nested groups
-        scope.onSortOver = function(event, ui) {
+        function onSortOver(event, ui) {
           var offset = 0;
           if (ui.sender) {
             offset = $(ui.placeholder).offset().left - $(ui.sender).offset().left;
           }
           $('.api4-input.form-inline.ui-sortable-helper').css('margin-left', '' + offset + 'px');
-        };
+        }
 
-        scope.$watch('newClause', function(value) {
-          var field = value;
+        this.addClause = function() {
           $timeout(function() {
-            if (field) {
-              scope.data.clauses.push([field, '=', '']);
-              scope.newClause = null;
+            if (ctrl.newClause) {
+              $scope.data.clauses.push([ctrl.newClause, '=', '']);
+              ctrl.newClause = null;
             }
           });
-        });
-        scope.$watch('data.clauses', function(values) {
-          // Remove empty values
-          _.each(values, function(clause, index) {
-            if (typeof clause !== 'undefined' && !clause[0]) {
-              values.splice(index, 1);
-            }
-            if (typeof clause[1] === 'string' && _.contains(clause[1], 'NULL')) {
-              clause.length = 2;
-            } else if (typeof clause[1] === 'string' && clause.length == 2) {
-              clause.push('');
+        };
+        $scope.$watch('data.clauses', function(values) {
+          // Iterate in reverse order so index doesn't get out-of-sync during splice
+          _.forEachRight(values, function(clause, index) {
+            // Remove empty values
+            if (index >= ($scope.data.skip  || 0)) {
+              if (typeof clause !== 'undefined' && !clause[0]) {
+                values.splice(index, 1);
+              }
+              // Add/remove value if operator allows for one
+              else if (typeof clause[1] === 'string' && _.contains(clause[1], 'NULL')) {
+                clause.length = 2;
+              } else if (typeof clause[1] === 'string' && clause.length === 2) {
+                clause.push('');
+              }
             }
           });
         }, true);
         scope.$watchCollection('data', function(data) {
           destroyWidget();
           var field = getField(data.field, entity, action);
-          if (field) {
+          if (field && data.format !== 'plain') {
             makeWidget(field, data.op);
           }
         });
     return _.result(entity, 'fields');
   }
 
+  function getExplicitJoins() {
+    return _.transform(params.join, function(joins, join) {
+      var j = join[0].split(' AS '),
+        joinEntity = _.trim(j[0]),
+        joinAlias = _.trim(j[1]) || joinEntity.toLowerCase();
+      joins[joinAlias] = joinEntity;
+    }, {});
+  }
+
   function getField(fieldName, entity, action) {
     var suffix = fieldName.split(':')[1];
     fieldName = fieldName.split(':')[0];
         return comboName;
       }
       var linkName = fieldNames.shift(),
-        newEntity = _.findWhere(links[entity], {alias: linkName}).entity;
+        newEntity = getExplicitJoins()[linkName] || _.findWhere(links[entity], {alias: linkName}).entity;
       return get(newEntity, fieldNames);
     }
   }
index 7482999091b9081a4681a8403c107f59ee9f3056..c6ba58b1464ef6d156cf5e3875a573b955a9f289 100644 (file)
     //         $scope.myOrder.setDir('field2', '');
     //   HTML: <tr ng-repeat="... | order:myOrder.get()">...</tr>
     .service('CrmUiOrderCtrl', function(){
-      //
       function CrmUiOrderCtrl(defaults){
         this.values = defaults;
       }
index 8e935373d1a13a9dd319f6b9d37c41709a065404..6232fd202853b464d4a21a4d2dbd308c60ed6db7 100644 (file)
@@ -135,7 +135,7 @@ function civicrm_api3_membership_create($params) {
   // @todo stop passing $ids (membership and userId may be set above)
   $membershipBAO = CRM_Member_BAO_Membership::create($params, $ids);
 
-  if (array_key_exists('is_error', $membershipBAO)) {
+  if (property_exists($membershipBAO, 'is_error')) {
     // In case of no valid status for given dates, $membershipBAO
     // is going to contain 'is_error' => "Error Message"
     return civicrm_api3_create_error(ts('The membership can not be saved, no valid membership status for given dates'));
index a492401dee38642239b976d8b1cdfa9b826f9c05..5fe5f62f35e82c6d54715a2f817650a893ac0bb6 100644 (file)
@@ -52,7 +52,6 @@ function event_get_expectedresult() {
         'event_title' => 'My test event.',
         'event_description' => '',
         'event_type_id' => '1',
-        'participant_listing_id' => 0,
         'is_public' => '1',
         'start_date' => '2013-07-29 00:00:00',
         'event_start_date' => '2013-07-29 00:00:00',
index ccca91dccef53c84048c99666b5d608616c180ee..7f79b3a2576ee1dc3df9ba0030f8b70eb7d4c55e 100644 (file)
@@ -63,7 +63,6 @@ function event_create_expectedresult() {
         'summary' => 'If you have any CiviCRM related issues or want to track where CiviCRM is heading, Sign up now',
         'description' => 'This event is intended to give brief idea about progess of CiviCRM and giving solutions to common user issues',
         'event_type_id' => '1',
-        'participant_listing_id' => '',
         'is_public' => '1',
         'start_date' => '2013-07-29 00:00:00',
         'end_date' => '2013-08-04 00:00:00',
index 5eb8a9e8713ce0daea6e07367ef4589c82d94043..aee29dd29b7f4bfa67a9f851435513bc7cedbef3 100644 (file)
@@ -50,7 +50,6 @@ function event_get_expectedresult() {
         'event_title' => 'Annual CiviCRM meet',
         'event_description' => '',
         'event_type_id' => '1',
-        'participant_listing_id' => 0,
         'is_public' => '1',
         'start_date' => '2013-07-29 00:00:00',
         'event_start_date' => '2013-07-29 00:00:00',
index a0ce41304798117f859a8a6b4458c899a65ace1c..8a40f7a6f284152c7dc19125747f442ae28ab8fe 100644 (file)
@@ -53,7 +53,6 @@ function event_get_expectedresult() {
         'description' => 'This event is intended to give brief idea about progess of CiviCRM and giving solutions to common user issues',
         'event_description' => 'This event is intended to give brief idea about progess of CiviCRM and giving solutions to common user issues',
         'event_type_id' => '1',
-        'participant_listing_id' => 0,
         'is_public' => '1',
         'start_date' => '2013-07-29 00:00:00',
         'event_start_date' => '2013-07-29 00:00:00',
index 6954a283eb9042cfd42759e8e4126a4d0c65837d..07e6b42994a00067ccebefe8c2f21930eedc154d 100644 (file)
@@ -46,7 +46,6 @@ function event_getsingle_expectedresult() {
     'event_title' => 'Annual CiviCRM meet',
     'event_description' => '',
     'event_type_id' => '1',
-    'participant_listing_id' => 0,
     'is_public' => '1',
     'start_date' => '2008-10-21 00:00:00',
     'event_start_date' => '2008-10-21 00:00:00',
index 526905947aa7064f27f4fe8aceb47e514712d0ab..58a12c7fb83bfd9156ee2e8a7345c15931746919 100644 (file)
@@ -89,7 +89,6 @@ function participant_get_expectedresult() {
               'description' => 'This event is intended to give brief idea about progess of CiviCRM and giving solutions to common user issues',
               'event_description' => 'This event is intended to give brief idea about progess of CiviCRM and giving solutions to common user issues',
               'event_type_id' => '1',
-              'participant_listing_id' => 0,
               'is_public' => '1',
               'start_date' => '2013-07-29 00:00:00',
               'event_start_date' => '2013-07-29 00:00:00',
index ae9eaa0a18c0fe73e87f66ebcc80a7ee13080849..3aa58b6c8f6f0bbf4f038d0f3e9f327eceeb51c7 100644 (file)
@@ -990,7 +990,7 @@ function _civicrm_api3_dao_to_array($dao, $params = NULL, $uniqueFields = TRUE,
   while ($dao->fetch()) {
     $tmp = [];
     foreach ($fields as $key) {
-      if (array_key_exists($key, $dao)) {
+      if (property_exists($dao, $key)) {
         // not sure on that one
         if ($dao->$key !== NULL) {
           $tmp[$key] = $dao->$key;
@@ -1047,8 +1047,8 @@ function _civicrm_api3_object_to_array(&$dao, &$values, $uniqueFields = FALSE) {
 
   $fields = _civicrm_api3_build_fields_array($dao, $uniqueFields);
   foreach ($fields as $key => $value) {
-    if (array_key_exists($key, $dao)) {
-      $values[$key] = $dao->$key;
+    if (property_exists($dao, $key)) {
+      $values[$key] = $dao->$key ?? NULL;
     }
   }
 }
index f7226e719a3e087bc27ea0e2872b7ae281e78c98..bc5568bcbd6001becd74c5161a116be114967710 100644 (file)
@@ -32,7 +32,7 @@
       "Civi\\": ["tests/phpunit/"]
     },
     "psr-4": {
-      "Civi\\": [".", "setup/src/"]
+      "Civi\\": [".", "Civi/", "setup/src/"]
     }
   },
   "include-path": ["vendor/tecnickcom"],
@@ -54,7 +54,7 @@
     "symfony/process": "~3.0 || ~4.4",
     "psr/log": "~1.0",
     "symfony/finder": "~3.0 || ~4.4",
-    "tecnickcom/tcpdf" : "6.2.*",
+    "tecnickcom/tcpdf" : "6.3.*",
     "totten/ca-config": "~17.05",
     "zetacomponents/base": "1.9.*",
     "zetacomponents/mail": "1.9.*",
@@ -75,7 +75,9 @@
     "league/csv": "^9.2",
     "tplaner/when": "~3.0.0",
     "xkerman/restricted-unserialize": "~1.1",
-    "typo3/phar-stream-wrapper": "^2 || ^3.0"
+    "typo3/phar-stream-wrapper": "^2 || ^3.0",
+    "brick/money": "~0.4",
+    "ext-intl": "*"
   },
   "scripts": {
     "post-install-cmd": [
         "Support PHPUnit 6+": "https://github.com/php-cache/integration-tests/commit/1ec7362962185df91d3d749bc3fa7e7b99cb9fc7.patch",
         "Add tests for binary data round trip": "https://github.com/php-cache/integration-tests/commit/89cd7068e83aa776774bfc44f6bcba858c085616.patch"
       },
+      "electrolinux/phpquery": {
+        "PHP7.4 Fix for array access using {} instead of []": "https://raw.githubusercontent.com/civicrm/civicrm-core/fe45bdfc4f3e3d3deb27e3d853cdbc7f616620a9/tools/scripts/composer/patches/php74_array_access_fix_phpquery.patch"
+      },
       "pear/mail": {
         "Apply CiviCRM Customisations for CRM-1367 and CRM-5946": "https://raw.githubusercontent.com/civicrm/civicrm-core/36319938a5bf26c1e7e2110a26a65db6a5979268/tools/scripts/composer/patches/pear-mail.patch"
       },
index d2b5f94261dd7e5ffae6954fa036f55461233769..f81fe02aa968be184f77855f3bc1a7a1edd50f33 100644 (file)
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "f547e4d1ac65fa8044d302f46a7e7267",
+    "content-hash": "0e6f527fa9032d1f8445c8ec2963c3c9",
     "packages": [
         {
             "name": "adrienrn/php-mimetyper",
             "description": "PHP mime type and extension mapping library: compatible with Symfony, powered by jshttp/mime-db",
             "time": "2018-09-27T09:45:05+00:00"
         },
+        {
+            "name": "brick/math",
+            "version": "0.8.15",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/brick/math.git",
+                "reference": "9b08d412b9da9455b210459ff71414de7e6241cd"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/brick/math/zipball/9b08d412b9da9455b210459ff71414de7e6241cd",
+                "reference": "9b08d412b9da9455b210459ff71414de7e6241cd",
+                "shasum": ""
+            },
+            "require": {
+                "ext-json": "*",
+                "php": "^7.1|^8.0"
+            },
+            "require-dev": {
+                "php-coveralls/php-coveralls": "^2.2",
+                "phpunit/phpunit": "^7.5.15|^8.5",
+                "vimeo/psalm": "^3.5"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Brick\\Math\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "Arbitrary-precision arithmetic library",
+            "keywords": [
+                "Arbitrary-precision",
+                "BigInteger",
+                "BigRational",
+                "arithmetic",
+                "bigdecimal",
+                "bignum",
+                "brick",
+                "math"
+            ],
+            "time": "2020-04-15T15:59:35+00:00"
+        },
+        {
+            "name": "brick/money",
+            "version": "0.4.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/brick/money.git",
+                "reference": "91f2b5bc35646f172b038e46bb496ad18db59c3c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/brick/money/zipball/91f2b5bc35646f172b038e46bb496ad18db59c3c",
+                "reference": "91f2b5bc35646f172b038e46bb496ad18db59c3c",
+                "shasum": ""
+            },
+            "require": {
+                "brick/math": "~0.7.3 || ~0.8.0",
+                "php": "^7.1|^8.0"
+            },
+            "require-dev": {
+                "brick/varexporter": "~0.2.1",
+                "ext-dom": "*",
+                "ext-pdo": "*",
+                "php-coveralls/php-coveralls": "^2.2",
+                "phpunit/phpunit": "^7.5.15"
+            },
+            "suggest": {
+                "ext-intl": "Required to format Money objects"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Brick\\Money\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "description": "Money and currency library",
+            "keywords": [
+                "brick",
+                "currency",
+                "money"
+            ],
+            "time": "2020-05-31T14:17:02+00:00"
+        },
         {
             "name": "cache/integration-tests",
             "version": "0.16.0",
         },
         {
             "name": "civicrm/civicrm-cxn-rpc",
-            "version": "v0.19.01.08",
+            "version": "v0.19.01.09",
             "source": {
                 "type": "git",
                 "url": "https://github.com/civicrm/civicrm-cxn-rpc.git",
-                "reference": "5a142bc4d24b7f8c830f59768b405ec74d582f22"
+                "reference": "3ea668bc651adb4d61e96276f55e76ae22baea7a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/civicrm/civicrm-cxn-rpc/zipball/5a142bc4d24b7f8c830f59768b405ec74d582f22",
-                "reference": "5a142bc4d24b7f8c830f59768b405ec74d582f22",
+                "url": "https://api.github.com/repos/civicrm/civicrm-cxn-rpc/zipball/3ea668bc651adb4d61e96276f55e76ae22baea7a",
+                "reference": "3ea668bc651adb4d61e96276f55e76ae22baea7a",
                 "shasum": ""
             },
             "require": {
                 "phpseclib/phpseclib": "1.0.*",
-                "psr/log": "~1.1"
+                "psr/log": "~1.0"
             },
             "type": "library",
             "autoload": {
                 }
             ],
             "description": "RPC library for CiviConnect",
-            "time": "2019-01-08T19:20:09+00:00"
+            "time": "2020-02-05T03:24:26+00:00"
         },
         {
             "name": "civicrm/composer-downloads-plugin",
                 "shasum": ""
             },
             "type": "library",
+            "extra": {
+                "patches_applied": {
+                    "PHP7.4 Fix for array access using {} instead of []": "https://raw.githubusercontent.com/civicrm/civicrm-core/fe45bdfc4f3e3d3deb27e3d853cdbc7f616620a9/tools/scripts/composer/patches/php74_array_access_fix_phpquery.patch"
+                }
+            },
             "autoload": {
                 "classmap": [
                     "phpQuery/"
         },
         {
             "name": "guzzlehttp/guzzle",
-            "version": "6.3.0",
+            "version": "6.5.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/guzzle/guzzle.git",
-                "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699"
+                "reference": "a4a1b6930528a8f7ee03518e6442ec7a44155d9d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699",
-                "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699",
+                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a4a1b6930528a8f7ee03518e6442ec7a44155d9d",
+                "reference": "a4a1b6930528a8f7ee03518e6442ec7a44155d9d",
                 "shasum": ""
             },
             "require": {
+                "ext-json": "*",
                 "guzzlehttp/promises": "^1.0",
-                "guzzlehttp/psr7": "^1.4",
-                "php": ">=5.5"
+                "guzzlehttp/psr7": "^1.6.1",
+                "php": ">=5.5",
+                "symfony/polyfill-intl-idn": "1.17.0"
             },
             "require-dev": {
                 "ext-curl": "*",
-                "phpunit/phpunit": "^4.0 || ^5.0",
-                "psr/log": "^1.0"
+                "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
+                "psr/log": "^1.1"
             },
             "suggest": {
                 "psr/log": "Required for using the Log middleware"
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "6.2-dev"
+                    "dev-master": "6.5-dev"
                 }
             },
             "autoload": {
-                "files": [
-                    "src/functions_include.php"
-                ],
                 "psr-4": {
                     "GuzzleHttp\\": "src/"
-                }
+                },
+                "files": [
+                    "src/functions_include.php"
+                ]
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
                 "rest",
                 "web service"
             ],
-            "time": "2017-06-22T18:50:49+00:00"
+            "time": "2020-05-25T19:35:05+00:00"
         },
         {
             "name": "guzzlehttp/promises",
         },
         {
             "name": "guzzlehttp/psr7",
-            "version": "1.4.2",
+            "version": "1.6.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/guzzle/psr7.git",
-                "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
+                "reference": "239400de7a173fe9901b9ac7c06497751f00727a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
-                "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
+                "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a",
+                "reference": "239400de7a173fe9901b9ac7c06497751f00727a",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.4.0",
-                "psr/http-message": "~1.0"
+                "psr/http-message": "~1.0",
+                "ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
             },
             "provide": {
                 "psr/http-message-implementation": "1.0"
             },
             "require-dev": {
-                "phpunit/phpunit": "~4.0"
+                "ext-zlib": "*",
+                "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8"
+            },
+            "suggest": {
+                "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses"
             },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.4-dev"
+                    "dev-master": "1.6-dev"
                 }
             },
             "autoload": {
             "keywords": [
                 "http",
                 "message",
+                "psr-7",
                 "request",
                 "response",
                 "stream",
                 "uri",
                 "url"
             ],
-            "time": "2017-03-20T17:10:46+00:00"
+            "time": "2019-07-01T23:21:34+00:00"
         },
         {
             "name": "league/csv",
         },
         {
             "name": "psr/log",
-            "version": "1.1.2",
+            "version": "1.1.3",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-fig/log.git",
-                "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801"
+                "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801",
-                "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801",
+                "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
+                "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
                 "shasum": ""
             },
             "require": {
                 "psr",
                 "psr-3"
             ],
-            "time": "2019-11-01T11:05:21+00:00"
+            "time": "2020-03-23T09:12:05+00:00"
         },
         {
             "name": "psr/simple-cache",
             ],
             "time": "2017-10-23T01:57:42+00:00"
         },
+        {
+            "name": "ralouphie/getallheaders",
+            "version": "3.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/ralouphie/getallheaders.git",
+                "reference": "120b605dfeb996808c31b6477290a714d356e822"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
+                "reference": "120b605dfeb996808c31b6477290a714d356e822",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.6"
+            },
+            "require-dev": {
+                "php-coveralls/php-coveralls": "^2.1",
+                "phpunit/phpunit": "^5 || ^6.5"
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "src/getallheaders.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Ralph Khattar",
+                    "email": "ralph.khattar@gmail.com"
+                }
+            ],
+            "description": "A polyfill for getallheaders.",
+            "time": "2019-03-08T08:55:37+00:00"
+        },
         {
             "name": "sabberworm/php-css-parser",
             "version": "8.3.0",
             ],
             "time": "2020-05-12T16:47:27+00:00"
         },
+        {
+            "name": "symfony/polyfill-intl-idn",
+            "version": "v1.17.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-intl-idn.git",
+                "reference": "3bff59ea7047e925be6b7f2059d60af31bb46d6a"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3bff59ea7047e925be6b7f2059d60af31bb46d6a",
+                "reference": "3bff59ea7047e925be6b7f2059d60af31bb46d6a",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3",
+                "symfony/polyfill-mbstring": "^1.3",
+                "symfony/polyfill-php72": "^1.10"
+            },
+            "suggest": {
+                "ext-intl": "For best performance"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.17-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Polyfill\\Intl\\Idn\\": ""
+                },
+                "files": [
+                    "bootstrap.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Laurent Bassin",
+                    "email": "laurent@bassin.info"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "idn",
+                "intl",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "time": "2020-05-12T16:47:27+00:00"
+        },
+        {
+            "name": "symfony/polyfill-mbstring",
+            "version": "v1.17.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-mbstring.git",
+                "reference": "fa79b11539418b02fc5e1897267673ba2c19419c"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fa79b11539418b02fc5e1897267673ba2c19419c",
+                "reference": "fa79b11539418b02fc5e1897267673ba2c19419c",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "suggest": {
+                "ext-mbstring": "For best performance"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.17-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Polyfill\\Mbstring\\": ""
+                },
+                "files": [
+                    "bootstrap.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill for the Mbstring extension",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "mbstring",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "time": "2020-05-12T16:47:27+00:00"
+        },
+        {
+            "name": "symfony/polyfill-php72",
+            "version": "v1.17.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/polyfill-php72.git",
+                "reference": "f048e612a3905f34931127360bdd2def19a5e582"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/f048e612a3905f34931127360bdd2def19a5e582",
+                "reference": "f048e612a3905f34931127360bdd2def19a5e582",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3.3"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.17-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Symfony\\Polyfill\\Php72\\": ""
+                },
+                "files": [
+                    "bootstrap.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
+            "homepage": "https://symfony.com",
+            "keywords": [
+                "compatibility",
+                "polyfill",
+                "portable",
+                "shim"
+            ],
+            "time": "2020-05-12T16:47:27+00:00"
+        },
         {
             "name": "symfony/process",
             "version": "v3.4.40",
         },
         {
             "name": "tecnickcom/tcpdf",
-            "version": "6.2.26",
+            "version": "6.3.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/tecnickcom/TCPDF.git",
-                "reference": "367241059ca166e3a76490f4448c284e0a161f15"
+                "reference": "19a535eaa7fb1c1cac499109deeb1a7a201b4549"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/367241059ca166e3a76490f4448c284e0a161f15",
-                "reference": "367241059ca166e3a76490f4448c284e0a161f15",
+                "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/19a535eaa7fb1c1cac499109deeb1a7a201b4549",
+                "reference": "19a535eaa7fb1c1cac499109deeb1a7a201b4549",
                 "shasum": ""
             },
             "require": {
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
-                "LGPL-3.0"
+                "LGPL-3.0-only"
             ],
             "authors": [
                 {
                 "pdf417",
                 "qrcode"
             ],
-            "time": "2018-10-16T17:24:05+00:00"
+            "time": "2020-02-14T14:20:12+00:00"
         },
         {
             "name": "togos/gitignore",
         },
         {
             "name": "zetacomponents/mail",
-            "version": "1.9.1",
+            "version": "1.9.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/zetacomponents/Mail.git",
-                "reference": "4dc71ccbcc8b67951a2efe47d3fcc2aeaa7f530d"
+                "reference": "c55267564d78724d4c25188fc653fef0da4c920a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/zetacomponents/Mail/zipball/4dc71ccbcc8b67951a2efe47d3fcc2aeaa7f530d",
-                "reference": "4dc71ccbcc8b67951a2efe47d3fcc2aeaa7f530d",
+                "url": "https://api.github.com/repos/zetacomponents/Mail/zipball/c55267564d78724d4c25188fc653fef0da4c920a",
+                "reference": "c55267564d78724d4c25188fc653fef0da4c920a",
                 "shasum": ""
             },
             "require": {
                 "zetacomponents/base": "~1.8"
             },
             "require-dev": {
+                "phpunit/phpunit": "~7.5",
                 "zetacomponents/unit-test": "*"
             },
             "type": "library",
             ],
             "description": "The component allows you construct and/or parse Mail messages conforming to  the mail standard. It has support for attachments, multipart messages and HTML  mail. It also interfaces with SMTP to send mail or IMAP, POP3 or mbox to  retrieve e-mail.",
             "homepage": "https://github.com/zetacomponents",
-            "time": "2020-01-17T11:18:01+00:00"
+            "time": "2020-06-13T12:38:26+00:00"
         }
     ],
     "packages-dev": [],
     "prefer-stable": false,
     "prefer-lowest": false,
     "platform": {
-        "php": "~7.1"
+        "php": "~7.1",
+        "ext-intl": "*"
     },
     "platform-dev": [],
     "platform-overrides": {
         "php": "7.1"
-    },
-    "plugin-api-version": "1.1.0"
+    }
 }
index 619e6b67c5150fddbd120de5410a30410aab3c34..321f20f08a6c9a53a6fd0d668c2bbbd7800bca0b 100644 (file)
   name        : Sean Madsen
   organization: Left Join Labs
   jira        : seanmadsen
+  
+- github      : semseysandor
+  name        : Sandor Semsey
+  organization: ES-Progress
 
 - name        : Shailesh Lende
   jira        : shailesh
index 63f421f12183f6c77ec19bf111e40b20f0fb8d83..f4428a4fad77212e6bda5c4c834328a1173f6afc 100644 (file)
 #civicrm-menu li li a {
   padding: 6px 36px 6px 10px;
 }
-#civicrm-menu li.crm-menu-border-bottom:not(:last-child) {
-  border-bottom: 1px solid #bbb;
-}
-#civicrm-menu li:not(.crm-menu-border-bottom) + li.crm-menu-border-top {
+#civicrm-menu li.crm-menu-border-bottom + li,
+#civicrm-menu li + li.crm-menu-border-top {
   border-top: 1px solid #bbb;
 }
 #civicrm-menu li a:focus,
index 09228ba9d62bc3be2fbabf71415381c660d1b8f6..891a0c069c78c9401f572235ffe8f1fba20a4c78 100644 (file)
@@ -244,7 +244,7 @@ function _sequentialcreditnotes_civix_find_files($dir, $pattern) {
     if ($dh = opendir($subdir)) {
       while (FALSE !== ($entry = readdir($dh))) {
         $path = $subdir . DIRECTORY_SEPARATOR . $entry;
-        if ($entry{0} == '.') {
+        if ($entry[0] == '.') {
         }
         elseif (is_dir($path)) {
           $todos[] = $path;
index ed2df94303effa1093b915be4a40d3f8f24c79a2..c6fdaf10df2d32616fcf4d71c97dbe23b7a005c1 100644 (file)
@@ -145,9 +145,7 @@ function civicrm_source($dsn, $fileName, $lineMode = FALSE) {
   if (PEAR::isError($db)) {
     die("Cannot open $dsn: " . $db->getMessage());
   }
-  $db->query("SET NAMES utf8");
-
-  $db->query("SET NAMES utf8");
+  $db->query('SET NAMES utf8mb4');
 
   if (!$lineMode) {
     $string = file_get_contents($fileName);
index c0e66c03b07e85394911c1962c9bf63f847f5698..34913643ba95515d68de694100363224c6c5334f 100644 (file)
@@ -1132,12 +1132,13 @@ class InstallRequirements {
       return;
     }
 
-    $result = mysqli_query($conn, 'CREATE TEMPORARY TABLE civicrm_install_temp_table_test (test text)');
+    $tempTableName = CRM_Utils_SQL_TempTable::build()->setCategory('install')->getName();
+    $result = mysqli_query($conn, 'CREATE TEMPORARY TABLE ' . $tempTableName . ' (test text)');
     if (!$result) {
       $testDetails[2] = ts('Could not create a temp table.');
       $this->error($testDetails);
     }
-    $result = mysqli_query($conn, 'DROP TEMPORARY TABLE civicrm_install_temp_table_test');
+    $result = mysqli_query($conn, 'DROP TEMPORARY TABLE ' . $tempTableName);
   }
 
   /**
@@ -1201,18 +1202,19 @@ class InstallRequirements {
       return;
     }
 
-    $result = mysqli_query($conn, 'CREATE TEMPORARY TABLE civicrm_install_temp_table_test (test text)');
+    $tempTableName = CRM_Utils_SQL_TempTable::build()->setCategory('install')->getName();
+    $result = mysqli_query($conn, 'CREATE TEMPORARY TABLE ' . $tempTableName . ' (test text)');
     if (!$result) {
       $testDetails[2] = ts('Could not create a table in the database.');
       $this->error($testDetails);
       return;
     }
 
-    $result = mysqli_query($conn, 'LOCK TABLES civicrm_install_temp_table_test WRITE');
+    $result = mysqli_query($conn, 'LOCK TABLES ' . $tempTableName . ' WRITE');
     if (!$result) {
       $testDetails[2] = ts('Could not obtain a write lock for the database table.');
       $this->error($testDetails);
-      $result = mysqli_query($conn, 'DROP TEMPORARY TABLE civicrm_install_temp_table_test');
+      $result = mysqli_query($conn, 'DROP TEMPORARY TABLE ' . $tempTableName);
       return;
     }
 
@@ -1220,11 +1222,11 @@ class InstallRequirements {
     if (!$result) {
       $testDetails[2] = ts('Could not release the lock for the database table.');
       $this->error($testDetails);
-      $result = mysqli_query($conn, 'DROP TEMPORARY TABLE civicrm_install_temp_table_test');
+      $result = mysqli_query($conn, 'DROP TEMPORARY TABLE ' . $tempTableName);
       return;
     }
 
-    $result = mysqli_query($conn, 'DROP TEMPORARY TABLE civicrm_install_temp_table_test');
+    $result = mysqli_query($conn, 'DROP TEMPORARY TABLE ' . $tempTableName);
   }
 
   /**
index 0ed3e38c67b131ba9db029c452cbda00595042cc..0199e80eb1c5c37574a5699cbf4b8acd53f69f3d 100644 (file)
@@ -879,9 +879,11 @@ if (!CRM.vars) CRM.vars = {};
    */
   $.fn.crmValidate = function(params) {
     return $(this).each(function () {
-      var that = this,
-        settings = $.extend({}, CRM.validate._defaults, CRM.validate.params);
-      $(this).validate(settings);
+      var validator = $(this).validate();
+      var that = this;
+      validator.settings = $.extend({}, validator.settings, CRM.validate._defaults, CRM.validate.params);
+      // Call our custom validation handler.
+      $(validator.currentForm).on("invalid-form.validate", validator.settings.invalidHandler );
       // Call any post-initialization callbacks
       if (CRM.validate.functions && CRM.validate.functions.length) {
         $.each(CRM.validate.functions, function(i, func) {
index 95663c09492afe6fa782171d69713994da66afa2..3a8eebbc9bdc8f3463df86e63bbf46397568ec36 100644 (file)
@@ -75,6 +75,7 @@
         } else {
           $dateField.attr('min', settings.minDate ? CRM.utils.formatDate(settings.minDate, 'yy') : '1000');
           $dateField.attr('max', settings.maxDate ? CRM.utils.formatDate(settings.maxDate, 'yy') : '4000');
+          placeholder = null;
         }
         // Set placeholder as calendar icon (`fa-calendar` is Unicode f073)
         $dateField.attr({placeholder: placeholder === undefined ? '\uF073' : placeholder}).change(updateDataField);
index 4d19c763c4c72d30ecc93962c26bc2aa3d66b2c1..6a4c26f48ec53b1f823276f2b1933ddbfae82694 100644 (file)
@@ -6,7 +6,6 @@
          convertWarningsToExceptions="true"
          processIsolation="false"
          stopOnFailure="false"
-         syntaxCheck="false"
          stderr="true"
          beStrictAboutTestsThatDoNotTestAnything="false"
          bootstrap="tests/phpunit/CiviTest/bootstrap.php"
index 05836729da51ca12699bc660f5189ecf4ee86bf4..c1d57e2f4930a5e3a2606dc2c7a1c3778d584442 100644 (file)
@@ -16,7 +16,7 @@ if (!defined('CIVI_SETUP')) {
     }
     \Civi\Setup::log()->info(sprintf('[%s] Flush CMS metadata', basename(__FILE__)));
 
-    system_rebuild_module_data();
+    \Drupal::service('extension.list.module')->reset();
     \Drupal::service('module_installer')->install(['civicrm', 'civicrmtheme']);
     drupal_flush_all_caches();
     civicrm_install_set_drupal8_perms();
index 5cb46688da25a595294d75a586f038c4fc5aa493..7438c2fc591ae05388bc4fb43350bd57195a5f51 100644 (file)
@@ -1,8 +1,8 @@
--- MySQL dump 10.13  Distrib 5.6.40, for macos10.13 (x86_64)
+-- MySQL dump 10.13  Distrib 5.7.26, for osx10.10 (x86_64)
 --
--- Host: localhost    Database: civicrm_crm
+-- Host: 127.0.0.1    Database: dmasterciv_tdjht
 -- ------------------------------------------------------
--- Server version      5.6.40
+-- Server version      5.7.26
 
 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
@@ -87,7 +87,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_activity` WRITE;
 /*!40000 ALTER TABLE `civicrm_activity` DISABLE KEYS */;
-INSERT INTO `civicrm_activity` (`id`, `source_record_id`, `activity_type_id`, `subject`, `activity_date_time`, `duration`, `location`, `phone_id`, `phone_number`, `details`, `status_id`, `priority_id`, `parent_id`, `is_test`, `medium_id`, `is_auto`, `relationship_id`, `is_current_revision`, `original_id`, `result`, `is_deleted`, `campaign_id`, `engagement_level`, `weight`, `is_star`, `created_date`, `modified_date`) VALUES (1,NULL,9,'Subject for Tell a Friend','2019-09-25 15:43:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(2,NULL,9,'Subject for Tell a Friend','2020-04-11 06:57:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(3,NULL,9,'Subject for Tell a Friend','2020-02-02 13:06:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(4,NULL,9,'Subject for Tell a Friend','2019-06-14 01:14:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(5,NULL,10,'Subject for Pledge Acknowledgment','2019-09-25 07:16:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(6,NULL,10,'Subject for Pledge Acknowledgment','2019-11-09 10:07:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(7,NULL,9,'Subject for Tell a Friend','2020-03-17 02:27:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(8,NULL,10,'Subject for Pledge Acknowledgment','2019-12-15 20:38:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(9,NULL,10,'Subject for Pledge Acknowledgment','2020-05-10 14:00:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(10,NULL,9,'Subject for Tell a Friend','2020-04-26 20:51:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(11,NULL,9,'Subject for Tell a Friend','2020-02-08 21:14:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(12,NULL,10,'Subject for Pledge Acknowledgment','2019-06-16 14:03:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(13,NULL,9,'Subject for Tell a Friend','2019-11-17 17:47:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(14,NULL,9,'Subject for Tell a Friend','2019-06-27 02:49:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(15,NULL,10,'Subject for Pledge Acknowledgment','2019-08-19 22:03:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(16,NULL,10,'Subject for Pledge Acknowledgment','2019-08-20 10:09:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(17,NULL,9,'Subject for Tell a Friend','2019-08-28 06:49:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(18,NULL,9,'Subject for Tell a Friend','2019-07-30 17:29:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(19,NULL,10,'Subject for Pledge Acknowledgment','2019-10-23 15:49:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(20,NULL,10,'Subject for Pledge Acknowledgment','2019-08-23 03:33:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(21,NULL,9,'Subject for Tell a Friend','2019-11-24 13:32:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(22,NULL,9,'Subject for Tell a Friend','2020-03-21 23:44:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(23,NULL,10,'Subject for Pledge Acknowledgment','2020-01-20 14:17:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(24,NULL,9,'Subject for Tell a Friend','2019-11-01 09:29:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(25,NULL,10,'Subject for Pledge Acknowledgment','2020-03-05 02:17:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(26,NULL,9,'Subject for Tell a Friend','2019-10-03 13:02:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(27,NULL,10,'Subject for Pledge Acknowledgment','2019-09-24 09:29:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(28,NULL,9,'Subject for Tell a Friend','2019-09-14 16:41:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(29,NULL,10,'Subject for Pledge Acknowledgment','2019-12-22 20:29:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(30,NULL,10,'Subject for Pledge Acknowledgment','2019-10-03 06:12:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(31,NULL,9,'Subject for Tell a Friend','2020-02-24 12:41:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(32,NULL,10,'Subject for Pledge Acknowledgment','2019-06-17 09:55:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(33,NULL,10,'Subject for Pledge Acknowledgment','2019-08-17 03:36:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(34,NULL,10,'Subject for Pledge Acknowledgment','2020-02-12 05:33:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(35,NULL,10,'Subject for Pledge Acknowledgment','2020-03-26 04:25:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(36,NULL,10,'Subject for Pledge Acknowledgment','2019-09-23 21:43:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(37,NULL,9,'Subject for Tell a Friend','2019-06-11 05:35:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(38,NULL,9,'Subject for Tell a Friend','2019-11-06 23:34:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(39,NULL,10,'Subject for Pledge Acknowledgment','2020-01-22 07:02:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(40,NULL,9,'Subject for Tell a Friend','2020-05-14 15:48:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(41,NULL,10,'Subject for Pledge Acknowledgment','2019-11-09 17:59:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(42,NULL,9,'Subject for Tell a Friend','2020-01-04 03:24:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(43,NULL,10,'Subject for Pledge Acknowledgment','2019-07-13 10:15:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(44,NULL,10,'Subject for Pledge Acknowledgment','2019-10-27 13:36:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(45,NULL,9,'Subject for Tell a Friend','2019-07-05 12:17:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(46,NULL,10,'Subject for Pledge Acknowledgment','2019-06-13 10:02:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(47,NULL,10,'Subject for Pledge Acknowledgment','2020-02-25 16:39:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(48,NULL,10,'Subject for Pledge Acknowledgment','2020-05-14 04:37:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(49,NULL,9,'Subject for Tell a Friend','2020-02-04 10:46:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(50,NULL,10,'Subject for Pledge Acknowledgment','2020-04-15 10:28:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(51,NULL,9,'Subject for Tell a Friend','2020-03-17 09:52:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(52,NULL,10,'Subject for Pledge Acknowledgment','2019-10-07 15:48:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(53,NULL,10,'Subject for Pledge Acknowledgment','2019-12-16 11:31:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(54,NULL,10,'Subject for Pledge Acknowledgment','2019-06-05 19:05:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(55,NULL,9,'Subject for Tell a Friend','2020-03-31 12:25:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(56,NULL,10,'Subject for Pledge Acknowledgment','2019-08-15 02:44:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(57,NULL,9,'Subject for Tell a Friend','2019-12-04 20:03:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(58,NULL,10,'Subject for Pledge Acknowledgment','2020-03-31 10:50:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(59,NULL,10,'Subject for Pledge Acknowledgment','2020-02-09 00:19:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(60,NULL,9,'Subject for Tell a Friend','2020-03-14 20:14:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(61,NULL,9,'Subject for Tell a Friend','2020-04-18 09:31:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(62,NULL,10,'Subject for Pledge Acknowledgment','2020-01-11 03:19:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(63,NULL,9,'Subject for Tell a Friend','2020-04-12 05:32:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(64,NULL,9,'Subject for Tell a Friend','2019-08-18 23:01:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(65,NULL,9,'Subject for Tell a Friend','2020-04-18 03:36:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(66,NULL,10,'Subject for Pledge Acknowledgment','2019-07-25 02:31:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(67,NULL,10,'Subject for Pledge Acknowledgment','2019-10-30 09:30:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(68,NULL,9,'Subject for Tell a Friend','2020-01-10 03:53:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(69,NULL,10,'Subject for Pledge Acknowledgment','2020-01-29 14:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(70,NULL,10,'Subject for Pledge Acknowledgment','2019-06-05 13:46:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(71,NULL,9,'Subject for Tell a Friend','2020-01-23 08:54:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(72,NULL,10,'Subject for Pledge Acknowledgment','2020-02-14 03:34:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(73,NULL,9,'Subject for Tell a Friend','2020-04-30 14:09:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(74,NULL,10,'Subject for Pledge Acknowledgment','2020-03-02 21:54:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(75,NULL,10,'Subject for Pledge Acknowledgment','2019-08-12 18:14:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(76,NULL,9,'Subject for Tell a Friend','2020-02-04 07:41:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(77,NULL,9,'Subject for Tell a Friend','2019-10-01 13:00:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(78,NULL,10,'Subject for Pledge Acknowledgment','2020-06-01 10:28:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(79,NULL,9,'Subject for Tell a Friend','2020-03-15 11:24:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(80,NULL,9,'Subject for Tell a Friend','2019-12-17 22:37:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(81,NULL,10,'Subject for Pledge Acknowledgment','2019-10-17 02:27:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(82,NULL,9,'Subject for Tell a Friend','2020-03-01 14:03:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(83,NULL,9,'Subject for Tell a Friend','2019-06-30 00:48:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(84,NULL,10,'Subject for Pledge Acknowledgment','2020-02-03 22:48:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(85,NULL,9,'Subject for Tell a Friend','2019-07-10 05:47:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(86,NULL,9,'Subject for Tell a Friend','2019-09-08 22:57:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(87,NULL,9,'Subject for Tell a Friend','2019-11-06 08:51:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(88,NULL,9,'Subject for Tell a Friend','2019-09-19 04:31:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(89,NULL,10,'Subject for Pledge Acknowledgment','2019-11-08 06:50:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(90,NULL,10,'Subject for Pledge Acknowledgment','2019-11-04 23:40:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(91,NULL,9,'Subject for Tell a Friend','2019-11-05 14:23:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(92,NULL,9,'Subject for Tell a Friend','2019-11-09 22:06:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(93,NULL,10,'Subject for Pledge Acknowledgment','2019-10-14 07:09:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(94,NULL,9,'Subject for Tell a Friend','2019-12-23 04:02:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(95,NULL,9,'Subject for Tell a Friend','2019-07-18 17:04:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(96,NULL,9,'Subject for Tell a Friend','2019-09-10 22:12:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(97,NULL,9,'Subject for Tell a Friend','2019-11-25 08:44:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(98,NULL,10,'Subject for Pledge Acknowledgment','2019-10-30 11:35:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(99,NULL,10,'Subject for Pledge Acknowledgment','2020-02-06 08:38:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(100,NULL,9,'Subject for Tell a Friend','2019-09-07 04:27:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(101,NULL,10,'Subject for Pledge Acknowledgment','2019-07-18 00:27:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(102,NULL,10,'Subject for Pledge Acknowledgment','2020-05-18 05:09:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(103,NULL,9,'Subject for Tell a Friend','2020-04-11 01:33:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(104,NULL,9,'Subject for Tell a Friend','2019-06-10 05:03:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(105,NULL,9,'Subject for Tell a Friend','2019-12-28 06:49:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(106,NULL,9,'Subject for Tell a Friend','2020-04-19 08:17:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(107,NULL,10,'Subject for Pledge Acknowledgment','2019-09-30 08:42:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(108,NULL,9,'Subject for Tell a Friend','2019-07-11 23:05:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(109,NULL,9,'Subject for Tell a Friend','2020-01-05 16:02:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(110,NULL,10,'Subject for Pledge Acknowledgment','2020-06-03 21:33:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(111,NULL,10,'Subject for Pledge Acknowledgment','2020-02-22 00:05:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(112,NULL,10,'Subject for Pledge Acknowledgment','2020-05-13 06:52:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(113,NULL,10,'Subject for Pledge Acknowledgment','2019-12-17 09:07:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(114,NULL,9,'Subject for Tell a Friend','2019-12-03 23:31:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(115,NULL,10,'Subject for Pledge Acknowledgment','2019-06-20 06:35:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(116,NULL,9,'Subject for Tell a Friend','2020-04-09 18:37:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(117,NULL,10,'Subject for Pledge Acknowledgment','2019-07-13 13:11:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(118,NULL,9,'Subject for Tell a Friend','2019-07-23 03:03:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(119,NULL,9,'Subject for Tell a Friend','2019-12-02 02:22:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(120,NULL,9,'Subject for Tell a Friend','2019-08-16 19:20:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(121,NULL,10,'Subject for Pledge Acknowledgment','2020-03-02 11:30:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(122,NULL,10,'Subject for Pledge Acknowledgment','2019-07-20 09:33:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(123,NULL,10,'Subject for Pledge Acknowledgment','2020-02-06 01:52:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(124,NULL,10,'Subject for Pledge Acknowledgment','2019-10-02 03:38:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(125,NULL,9,'Subject for Tell a Friend','2019-09-08 01:51:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(126,NULL,9,'Subject for Tell a Friend','2019-07-28 20:36:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(127,NULL,10,'Subject for Pledge Acknowledgment','2020-05-20 23:36:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(128,NULL,9,'Subject for Tell a Friend','2019-09-14 11:14:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(129,NULL,9,'Subject for Tell a Friend','2019-07-29 02:26:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(130,NULL,9,'Subject for Tell a Friend','2020-05-09 04:35:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(131,NULL,10,'Subject for Pledge Acknowledgment','2019-06-12 07:05:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(132,NULL,9,'Subject for Tell a Friend','2019-11-14 08:58:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(133,NULL,10,'Subject for Pledge Acknowledgment','2020-01-24 03:44:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(134,NULL,10,'Subject for Pledge Acknowledgment','2020-04-14 12:21:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(135,NULL,9,'Subject for Tell a Friend','2019-12-16 07:18:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(136,NULL,10,'Subject for Pledge Acknowledgment','2019-06-07 09:25:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(137,NULL,9,'Subject for Tell a Friend','2019-08-17 13:08:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(138,NULL,9,'Subject for Tell a Friend','2019-11-30 08:44:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(139,NULL,9,'Subject for Tell a Friend','2019-07-26 07:19:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(140,NULL,9,'Subject for Tell a Friend','2019-09-21 17:08:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(141,NULL,10,'Subject for Pledge Acknowledgment','2019-08-12 19:06:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(142,NULL,9,'Subject for Tell a Friend','2020-03-09 17:36:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(143,NULL,9,'Subject for Tell a Friend','2020-04-11 21:33:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(144,NULL,10,'Subject for Pledge Acknowledgment','2019-11-10 03:52:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(145,NULL,10,'Subject for Pledge Acknowledgment','2019-09-12 03:46:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(146,NULL,10,'Subject for Pledge Acknowledgment','2020-03-25 03:43:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(147,NULL,10,'Subject for Pledge Acknowledgment','2019-09-29 03:50:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(148,NULL,10,'Subject for Pledge Acknowledgment','2019-10-21 13:13:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(149,NULL,9,'Subject for Tell a Friend','2020-04-03 02:29:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(150,NULL,10,'Subject for Pledge Acknowledgment','2019-11-29 13:36:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(151,NULL,10,'Subject for Pledge Acknowledgment','2019-11-27 17:51:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(152,NULL,10,'Subject for Pledge Acknowledgment','2020-03-27 08:28:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(153,NULL,10,'Subject for Pledge Acknowledgment','2019-06-26 12:05:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(154,NULL,9,'Subject for Tell a Friend','2020-03-04 12:07:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(155,NULL,9,'Subject for Tell a Friend','2020-04-18 09:59:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(156,NULL,10,'Subject for Pledge Acknowledgment','2019-12-03 14:38:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(157,NULL,9,'Subject for Tell a Friend','2019-10-24 05:03:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(158,NULL,10,'Subject for Pledge Acknowledgment','2019-10-31 20:21:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(159,NULL,9,'Subject for Tell a Friend','2020-03-18 00:54:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(160,NULL,9,'Subject for Tell a Friend','2019-12-29 03:57:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(161,NULL,10,'Subject for Pledge Acknowledgment','2020-02-22 19:20:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(162,NULL,9,'Subject for Tell a Friend','2020-04-02 19:39:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(163,NULL,10,'Subject for Pledge Acknowledgment','2020-01-03 04:07:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(164,NULL,9,'Subject for Tell a Friend','2019-11-08 09:41:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(165,NULL,9,'Subject for Tell a Friend','2019-08-13 22:57:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(166,NULL,10,'Subject for Pledge Acknowledgment','2019-08-21 09:29:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(167,NULL,10,'Subject for Pledge Acknowledgment','2019-06-12 22:40:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(168,NULL,9,'Subject for Tell a Friend','2020-05-28 10:13:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(169,NULL,10,'Subject for Pledge Acknowledgment','2019-11-10 19:23:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(170,NULL,10,'Subject for Pledge Acknowledgment','2020-01-22 22:55:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(171,NULL,10,'Subject for Pledge Acknowledgment','2019-08-21 12:53:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(172,NULL,10,'Subject for Pledge Acknowledgment','2020-02-29 07:25:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(173,NULL,10,'Subject for Pledge Acknowledgment','2019-10-15 23:11:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(174,NULL,9,'Subject for Tell a Friend','2019-12-15 04:14:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(175,NULL,9,'Subject for Tell a Friend','2019-12-16 13:40:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(176,NULL,10,'Subject for Pledge Acknowledgment','2020-06-04 02:28:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(177,NULL,9,'Subject for Tell a Friend','2019-09-23 15:14:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(178,NULL,10,'Subject for Pledge Acknowledgment','2019-08-07 21:26:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(179,NULL,10,'Subject for Pledge Acknowledgment','2019-11-25 00:02:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(180,NULL,10,'Subject for Pledge Acknowledgment','2019-11-26 04:32:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(181,NULL,9,'Subject for Tell a Friend','2019-09-26 05:45:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(182,NULL,9,'Subject for Tell a Friend','2019-06-29 13:16:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(183,NULL,9,'Subject for Tell a Friend','2019-07-02 20:19:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(184,NULL,10,'Subject for Pledge Acknowledgment','2019-06-23 01:36:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(185,NULL,9,'Subject for Tell a Friend','2019-06-26 15:12:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(186,NULL,9,'Subject for Tell a Friend','2020-05-05 10:44:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(187,NULL,10,'Subject for Pledge Acknowledgment','2020-04-20 05:37:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(188,NULL,10,'Subject for Pledge Acknowledgment','2020-05-29 06:45:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(189,NULL,9,'Subject for Tell a Friend','2019-08-29 02:35:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(190,NULL,9,'Subject for Tell a Friend','2019-12-14 09:17:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(191,NULL,9,'Subject for Tell a Friend','2019-07-21 15:28:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(192,NULL,9,'Subject for Tell a Friend','2019-07-23 07:58:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(193,NULL,9,'Subject for Tell a Friend','2020-04-14 18:18:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(194,NULL,10,'Subject for Pledge Acknowledgment','2019-11-21 20:39:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(195,NULL,10,'Subject for Pledge Acknowledgment','2019-10-03 00:44:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(196,NULL,9,'Subject for Tell a Friend','2019-11-25 06:23:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(197,NULL,9,'Subject for Tell a Friend','2019-10-19 12:39:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(198,NULL,10,'Subject for Pledge Acknowledgment','2019-08-05 09:03:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(199,NULL,9,'Subject for Tell a Friend','2019-11-25 09:59:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(200,NULL,10,'Subject for Pledge Acknowledgment','2019-07-31 05:22:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(201,NULL,9,'Subject for Tell a Friend','2020-02-28 02:06:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(202,NULL,10,'Subject for Pledge Acknowledgment','2020-02-04 05:48:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(203,NULL,9,'Subject for Tell a Friend','2019-08-22 12:30:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(204,NULL,10,'Subject for Pledge Acknowledgment','2019-10-04 11:34:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(205,NULL,9,'Subject for Tell a Friend','2020-04-11 12:07:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(206,NULL,10,'Subject for Pledge Acknowledgment','2019-10-06 13:55:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(207,NULL,9,'Subject for Tell a Friend','2019-08-11 09:29:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(208,NULL,9,'Subject for Tell a Friend','2020-02-04 00:57:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(209,NULL,10,'Subject for Pledge Acknowledgment','2020-02-03 23:21:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(210,NULL,9,'Subject for Tell a Friend','2019-08-19 10:39:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(211,NULL,10,'Subject for Pledge Acknowledgment','2019-10-27 15:19:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(212,NULL,9,'Subject for Tell a Friend','2019-11-14 11:39:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(213,NULL,10,'Subject for Pledge Acknowledgment','2019-07-31 04:07:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(214,NULL,10,'Subject for Pledge Acknowledgment','2020-03-20 19:20:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(215,NULL,10,'Subject for Pledge Acknowledgment','2019-10-04 13:21:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(216,NULL,10,'Subject for Pledge Acknowledgment','2019-08-02 19:26:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(217,NULL,10,'Subject for Pledge Acknowledgment','2019-11-07 14:10:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(218,NULL,9,'Subject for Tell a Friend','2019-08-19 22:21:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(219,NULL,9,'Subject for Tell a Friend','2020-01-18 18:29:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(220,NULL,9,'Subject for Tell a Friend','2020-02-03 13:04:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(221,NULL,10,'Subject for Pledge Acknowledgment','2020-04-11 08:14:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(222,NULL,10,'Subject for Pledge Acknowledgment','2019-08-16 06:59:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(223,NULL,10,'Subject for Pledge Acknowledgment','2020-02-03 19:15:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(224,NULL,10,'Subject for Pledge Acknowledgment','2020-02-06 11:55:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(225,NULL,10,'Subject for Pledge Acknowledgment','2019-08-11 08:33:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(226,NULL,10,'Subject for Pledge Acknowledgment','2020-04-30 11:09:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(227,NULL,10,'Subject for Pledge Acknowledgment','2019-12-13 23:44:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(228,NULL,10,'Subject for Pledge Acknowledgment','2020-04-14 03:18:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(229,NULL,9,'Subject for Tell a Friend','2020-04-05 01:47:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(230,NULL,10,'Subject for Pledge Acknowledgment','2019-10-31 18:31:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(231,NULL,9,'Subject for Tell a Friend','2020-01-03 00:02:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(232,NULL,10,'Subject for Pledge Acknowledgment','2020-04-11 05:06:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(233,NULL,9,'Subject for Tell a Friend','2020-04-20 14:54:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(234,NULL,10,'Subject for Pledge Acknowledgment','2020-02-21 13:51:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(235,NULL,9,'Subject for Tell a Friend','2019-09-10 07:23:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(236,NULL,10,'Subject for Pledge Acknowledgment','2019-07-31 21:28:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(237,NULL,10,'Subject for Pledge Acknowledgment','2019-08-17 18:56:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(238,NULL,10,'Subject for Pledge Acknowledgment','2019-11-28 23:06:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(239,NULL,9,'Subject for Tell a Friend','2020-02-26 16:33:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(240,NULL,10,'Subject for Pledge Acknowledgment','2020-03-16 01:05:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(241,NULL,9,'Subject for Tell a Friend','2019-08-01 13:49:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(242,NULL,9,'Subject for Tell a Friend','2020-02-18 07:24:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(243,NULL,9,'Subject for Tell a Friend','2019-07-30 08:11:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(244,NULL,9,'Subject for Tell a Friend','2020-06-03 11:46:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(245,NULL,10,'Subject for Pledge Acknowledgment','2019-07-12 03:38:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(246,NULL,10,'Subject for Pledge Acknowledgment','2020-05-27 22:00:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(247,NULL,10,'Subject for Pledge Acknowledgment','2019-12-16 02:21:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(248,NULL,9,'Subject for Tell a Friend','2019-12-09 14:21:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(249,NULL,9,'Subject for Tell a Friend','2019-11-26 10:46:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(250,NULL,10,'Subject for Pledge Acknowledgment','2019-08-28 06:41:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(251,NULL,10,'Subject for Pledge Acknowledgment','2019-06-26 00:16:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(252,NULL,10,'Subject for Pledge Acknowledgment','2020-05-30 13:16:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(253,NULL,10,'Subject for Pledge Acknowledgment','2019-08-30 22:57:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(254,NULL,10,'Subject for Pledge Acknowledgment','2020-05-24 13:56:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(255,NULL,10,'Subject for Pledge Acknowledgment','2020-02-25 22:15:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(256,NULL,9,'Subject for Tell a Friend','2019-12-20 08:00:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(257,NULL,10,'Subject for Pledge Acknowledgment','2019-06-21 03:36:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(258,NULL,10,'Subject for Pledge Acknowledgment','2020-04-09 02:24:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(259,NULL,10,'Subject for Pledge Acknowledgment','2019-06-07 23:11:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(260,NULL,10,'Subject for Pledge Acknowledgment','2020-05-12 13:48:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(261,NULL,9,'Subject for Tell a Friend','2019-08-15 22:53:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(262,NULL,10,'Subject for Pledge Acknowledgment','2019-12-09 22:55:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(263,NULL,10,'Subject for Pledge Acknowledgment','2019-08-04 03:22:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(264,NULL,10,'Subject for Pledge Acknowledgment','2019-12-28 03:13:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(265,NULL,9,'Subject for Tell a Friend','2019-10-05 06:53:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(266,NULL,9,'Subject for Tell a Friend','2020-05-10 17:06:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(267,NULL,10,'Subject for Pledge Acknowledgment','2020-01-19 12:08:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(268,NULL,9,'Subject for Tell a Friend','2019-11-10 01:43:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(269,NULL,10,'Subject for Pledge Acknowledgment','2020-05-22 02:33:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(270,NULL,10,'Subject for Pledge Acknowledgment','2020-02-02 00:31:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(271,NULL,9,'Subject for Tell a Friend','2019-09-16 19:18:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(272,NULL,9,'Subject for Tell a Friend','2020-01-31 12:56:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(273,NULL,9,'Subject for Tell a Friend','2020-02-28 20:58:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(274,NULL,10,'Subject for Pledge Acknowledgment','2019-10-20 02:17:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(275,NULL,9,'Subject for Tell a Friend','2020-03-10 21:44:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(276,NULL,9,'Subject for Tell a Friend','2019-07-09 22:19:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(277,NULL,10,'Subject for Pledge Acknowledgment','2019-09-19 06:25:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(278,NULL,9,'Subject for Tell a Friend','2020-04-20 05:56:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(279,NULL,10,'Subject for Pledge Acknowledgment','2019-12-13 10:27:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(280,NULL,10,'Subject for Pledge Acknowledgment','2019-06-23 23:04:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(281,NULL,9,'Subject for Tell a Friend','2020-01-24 09:03:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(282,NULL,10,'Subject for Pledge Acknowledgment','2019-08-15 03:32:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(283,NULL,10,'Subject for Pledge Acknowledgment','2019-10-13 09:09:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(284,NULL,10,'Subject for Pledge Acknowledgment','2019-11-10 17:26:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(285,NULL,10,'Subject for Pledge Acknowledgment','2019-12-01 04:38:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(286,NULL,9,'Subject for Tell a Friend','2020-01-09 00:08:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(287,NULL,9,'Subject for Tell a Friend','2019-09-12 19:40:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(288,NULL,10,'Subject for Pledge Acknowledgment','2020-03-23 19:17:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(289,NULL,10,'Subject for Pledge Acknowledgment','2020-04-18 08:23:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(290,NULL,10,'Subject for Pledge Acknowledgment','2020-05-15 23:58:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(291,NULL,9,'Subject for Tell a Friend','2019-10-01 23:15:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(292,NULL,10,'Subject for Pledge Acknowledgment','2019-07-27 01:26:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(293,NULL,9,'Subject for Tell a Friend','2020-05-12 20:48:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(294,NULL,9,'Subject for Tell a Friend','2020-05-05 05:11:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(295,NULL,10,'Subject for Pledge Acknowledgment','2019-11-01 14:32:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(296,NULL,10,'Subject for Pledge Acknowledgment','2020-05-24 12:56:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(297,NULL,9,'Subject for Tell a Friend','2019-08-23 15:33:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(298,NULL,10,'Subject for Pledge Acknowledgment','2019-09-23 00:37:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(299,NULL,10,'Subject for Pledge Acknowledgment','2020-04-19 10:54:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(300,NULL,10,'Subject for Pledge Acknowledgment','2020-02-28 03:24:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(301,NULL,10,'Subject for Pledge Acknowledgment','2019-07-18 00:38:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(302,NULL,10,'Subject for Pledge Acknowledgment','2019-11-07 11:09:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(303,NULL,10,'Subject for Pledge Acknowledgment','2019-09-25 13:49:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(304,NULL,10,'Subject for Pledge Acknowledgment','2019-10-16 01:32:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(305,NULL,10,'Subject for Pledge Acknowledgment','2019-09-01 05:02:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(306,NULL,9,'Subject for Tell a Friend','2019-11-14 02:37:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(307,NULL,10,'Subject for Pledge Acknowledgment','2020-03-22 06:55:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(308,NULL,10,'Subject for Pledge Acknowledgment','2019-07-31 11:36:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(309,NULL,9,'Subject for Tell a Friend','2019-10-29 04:43:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(310,NULL,9,'Subject for Tell a Friend','2019-09-20 03:15:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(311,NULL,9,'Subject for Tell a Friend','2020-05-06 19:14:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(312,NULL,10,'Subject for Pledge Acknowledgment','2020-02-25 14:29:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(313,NULL,9,'Subject for Tell a Friend','2019-09-17 03:11:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(314,NULL,9,'Subject for Tell a Friend','2020-02-20 18:27:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(315,NULL,10,'Subject for Pledge Acknowledgment','2019-10-26 06:25:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(316,NULL,9,'Subject for Tell a Friend','2020-05-11 20:03:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(317,NULL,10,'Subject for Pledge Acknowledgment','2020-05-29 15:15:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(318,NULL,10,'Subject for Pledge Acknowledgment','2020-03-28 02:58:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(319,NULL,9,'Subject for Tell a Friend','2020-04-23 05:58:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(320,NULL,10,'Subject for Pledge Acknowledgment','2019-07-19 12:11:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(321,NULL,9,'Subject for Tell a Friend','2019-09-18 04:15:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(322,NULL,10,'Subject for Pledge Acknowledgment','2020-05-03 05:13:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(323,NULL,10,'Subject for Pledge Acknowledgment','2020-04-25 10:31:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(324,NULL,10,'Subject for Pledge Acknowledgment','2019-06-27 13:24:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(325,NULL,10,'Subject for Pledge Acknowledgment','2020-05-02 02:35:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(326,NULL,9,'Subject for Tell a Friend','2020-04-02 15:36:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(327,NULL,9,'Subject for Tell a Friend','2020-02-07 22:50:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(328,NULL,10,'Subject for Pledge Acknowledgment','2020-05-02 22:37:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(329,NULL,9,'Subject for Tell a Friend','2019-11-22 00:30:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(330,NULL,9,'Subject for Tell a Friend','2019-09-21 12:32:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(331,NULL,10,'Subject for Pledge Acknowledgment','2019-06-07 21:38:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(332,NULL,9,'Subject for Tell a Friend','2019-10-23 01:04:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(333,NULL,10,'Subject for Pledge Acknowledgment','2019-06-10 08:55:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(334,NULL,9,'Subject for Tell a Friend','2020-04-20 17:05:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(335,NULL,10,'Subject for Pledge Acknowledgment','2019-10-12 13:10:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(336,NULL,9,'Subject for Tell a Friend','2020-03-10 23:31:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(337,NULL,9,'Subject for Tell a Friend','2020-05-12 14:37:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(338,NULL,9,'Subject for Tell a Friend','2020-05-02 14:06:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(339,NULL,10,'Subject for Pledge Acknowledgment','2019-11-08 22:47:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(340,NULL,9,'Subject for Tell a Friend','2020-01-26 04:07:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(341,NULL,10,'Subject for Pledge Acknowledgment','2020-02-21 07:12:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(342,NULL,9,'Subject for Tell a Friend','2019-09-22 19:02:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(343,NULL,10,'Subject for Pledge Acknowledgment','2019-09-02 02:17:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(344,NULL,10,'Subject for Pledge Acknowledgment','2020-04-07 20:20:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(345,NULL,10,'Subject for Pledge Acknowledgment','2019-09-22 00:46:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(346,NULL,9,'Subject for Tell a Friend','2019-10-28 10:33:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(347,NULL,9,'Subject for Tell a Friend','2020-04-10 08:02:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(348,NULL,9,'Subject for Tell a Friend','2020-02-14 23:28:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(349,NULL,10,'Subject for Pledge Acknowledgment','2019-07-23 06:50:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(350,NULL,9,'Subject for Tell a Friend','2020-01-20 07:45:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(351,NULL,9,'Subject for Tell a Friend','2019-09-29 04:20:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(352,NULL,9,'Subject for Tell a Friend','2019-12-28 08:03:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(353,NULL,9,'Subject for Tell a Friend','2020-02-28 16:29:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(354,NULL,10,'Subject for Pledge Acknowledgment','2020-05-08 16:21:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(355,NULL,10,'Subject for Pledge Acknowledgment','2020-03-21 10:19:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(356,NULL,9,'Subject for Tell a Friend','2019-07-12 22:20:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(357,NULL,10,'Subject for Pledge Acknowledgment','2019-07-29 23:40:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(358,NULL,10,'Subject for Pledge Acknowledgment','2020-03-27 09:01:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(359,NULL,9,'Subject for Tell a Friend','2020-04-23 06:34:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(360,NULL,10,'Subject for Pledge Acknowledgment','2019-09-24 16:25:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(361,NULL,9,'Subject for Tell a Friend','2019-09-24 15:59:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(362,NULL,10,'Subject for Pledge Acknowledgment','2020-02-09 18:31:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(363,NULL,10,'Subject for Pledge Acknowledgment','2020-04-27 20:41:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(364,NULL,9,'Subject for Tell a Friend','2020-04-23 15:31:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(365,NULL,10,'Subject for Pledge Acknowledgment','2019-07-30 10:03:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(366,NULL,9,'Subject for Tell a Friend','2020-04-17 07:14:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(367,NULL,9,'Subject for Tell a Friend','2019-12-25 15:01:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(368,NULL,10,'Subject for Pledge Acknowledgment','2019-08-01 09:40:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(369,NULL,10,'Subject for Pledge Acknowledgment','2019-07-17 16:33:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(370,NULL,9,'Subject for Tell a Friend','2019-09-18 02:15:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(371,NULL,9,'Subject for Tell a Friend','2020-03-20 08:08:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(372,NULL,9,'Subject for Tell a Friend','2019-07-15 09:47:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(373,NULL,9,'Subject for Tell a Friend','2020-04-05 03:27:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(374,NULL,10,'Subject for Pledge Acknowledgment','2020-04-17 01:18:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(375,NULL,10,'Subject for Pledge Acknowledgment','2019-10-29 22:38:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(376,NULL,10,'Subject for Pledge Acknowledgment','2019-10-30 05:54:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(377,NULL,10,'Subject for Pledge Acknowledgment','2020-05-26 07:29:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(378,NULL,10,'Subject for Pledge Acknowledgment','2020-02-29 02:58:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(379,NULL,9,'Subject for Tell a Friend','2020-04-09 19:20:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(380,NULL,9,'Subject for Tell a Friend','2019-10-28 19:24:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(381,NULL,9,'Subject for Tell a Friend','2020-01-31 07:52:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(382,NULL,9,'Subject for Tell a Friend','2020-06-04 06:12:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(383,NULL,10,'Subject for Pledge Acknowledgment','2019-06-25 14:39:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(384,NULL,9,'Subject for Tell a Friend','2020-05-31 15:17:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(385,NULL,10,'Subject for Pledge Acknowledgment','2020-03-07 23:34:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(386,NULL,10,'Subject for Pledge Acknowledgment','2019-12-14 16:52:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(387,NULL,10,'Subject for Pledge Acknowledgment','2019-12-28 06:10:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(388,NULL,9,'Subject for Tell a Friend','2019-12-21 23:48:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(389,NULL,9,'Subject for Tell a Friend','2019-06-20 16:04:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(390,NULL,10,'Subject for Pledge Acknowledgment','2019-07-22 08:15:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(391,NULL,10,'Subject for Pledge Acknowledgment','2020-05-20 22:30:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(392,NULL,9,'Subject for Tell a Friend','2019-09-09 01:07:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(393,NULL,9,'Subject for Tell a Friend','2019-09-27 17:48:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(394,NULL,9,'Subject for Tell a Friend','2019-11-06 07:37:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(395,NULL,10,'Subject for Pledge Acknowledgment','2020-05-15 14:09:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(396,NULL,10,'Subject for Pledge Acknowledgment','2019-06-15 14:30:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(397,NULL,10,'Subject for Pledge Acknowledgment','2019-09-03 08:13:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(398,NULL,9,'Subject for Tell a Friend','2020-05-02 18:55:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(399,NULL,10,'Subject for Pledge Acknowledgment','2020-01-13 05:17:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(400,NULL,10,'Subject for Pledge Acknowledgment','2020-02-03 02:54:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(401,NULL,10,'Subject for Pledge Acknowledgment','2019-11-25 10:33:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(402,NULL,10,'Subject for Pledge Acknowledgment','2019-09-22 10:17:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(403,NULL,9,'Subject for Tell a Friend','2019-09-19 01:04:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(404,NULL,9,'Subject for Tell a Friend','2020-01-28 12:21:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(405,NULL,10,'Subject for Pledge Acknowledgment','2019-06-05 10:50:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(406,NULL,10,'Subject for Pledge Acknowledgment','2019-10-15 08:52:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(407,NULL,9,'Subject for Tell a Friend','2019-10-07 12:40:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(408,NULL,9,'Subject for Tell a Friend','2019-08-07 10:56:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(409,NULL,9,'Subject for Tell a Friend','2019-11-10 23:29:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(410,NULL,10,'Subject for Pledge Acknowledgment','2019-11-27 16:43:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(411,NULL,9,'Subject for Tell a Friend','2019-09-04 18:14:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(412,NULL,9,'Subject for Tell a Friend','2019-07-20 05:39:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(413,NULL,10,'Subject for Pledge Acknowledgment','2020-01-24 01:56:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(414,NULL,10,'Subject for Pledge Acknowledgment','2020-05-05 03:29:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(415,NULL,9,'Subject for Tell a Friend','2019-10-27 15:23:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(416,NULL,9,'Subject for Tell a Friend','2020-03-10 14:58:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(417,NULL,10,'Subject for Pledge Acknowledgment','2019-07-18 04:12:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(418,NULL,9,'Subject for Tell a Friend','2020-05-14 15:02:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(419,NULL,10,'Subject for Pledge Acknowledgment','2020-03-25 21:48:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(420,NULL,9,'Subject for Tell a Friend','2020-05-06 20:52:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(421,NULL,10,'Subject for Pledge Acknowledgment','2020-04-01 11:45:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(422,NULL,10,'Subject for Pledge Acknowledgment','2020-01-26 00:55:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(423,NULL,10,'Subject for Pledge Acknowledgment','2020-03-27 07:17:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(424,NULL,9,'Subject for Tell a Friend','2019-10-22 19:05:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(425,NULL,10,'Subject for Pledge Acknowledgment','2019-07-08 17:39:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(426,NULL,10,'Subject for Pledge Acknowledgment','2019-06-17 23:34:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(427,NULL,10,'Subject for Pledge Acknowledgment','2020-05-29 10:34:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(428,NULL,10,'Subject for Pledge Acknowledgment','2019-07-01 05:27:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(429,NULL,10,'Subject for Pledge Acknowledgment','2019-06-27 20:26:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(430,NULL,10,'Subject for Pledge Acknowledgment','2019-12-04 10:57:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(431,NULL,10,'Subject for Pledge Acknowledgment','2019-07-11 19:44:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(432,NULL,10,'Subject for Pledge Acknowledgment','2020-01-12 16:43:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(433,NULL,10,'Subject for Pledge Acknowledgment','2020-03-06 08:54:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(434,NULL,10,'Subject for Pledge Acknowledgment','2020-04-26 19:50:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(435,NULL,9,'Subject for Tell a Friend','2019-11-30 11:48:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(436,NULL,9,'Subject for Tell a Friend','2019-09-15 23:13:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(437,NULL,9,'Subject for Tell a Friend','2020-01-29 14:58:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(438,NULL,9,'Subject for Tell a Friend','2019-12-30 06:41:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(439,NULL,9,'Subject for Tell a Friend','2019-12-16 06:08:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(440,NULL,10,'Subject for Pledge Acknowledgment','2020-03-05 16:13:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(441,NULL,10,'Subject for Pledge Acknowledgment','2020-03-18 07:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(442,NULL,9,'Subject for Tell a Friend','2020-05-20 06:33:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(443,NULL,9,'Subject for Tell a Friend','2019-11-18 10:15:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(444,NULL,9,'Subject for Tell a Friend','2019-10-08 10:13:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(445,NULL,10,'Subject for Pledge Acknowledgment','2019-08-22 08:27:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(446,NULL,10,'Subject for Pledge Acknowledgment','2020-05-12 08:46:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(447,NULL,9,'Subject for Tell a Friend','2020-03-15 05:24:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(448,NULL,9,'Subject for Tell a Friend','2020-06-01 03:17:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(449,NULL,10,'Subject for Pledge Acknowledgment','2020-04-08 02:12:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(450,NULL,9,'Subject for Tell a Friend','2019-08-30 00:51:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:19','2020-06-04 09:38:19'),(451,1,6,'$ 125.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(452,2,6,'$ 50.00-Online: Save the Penguins','2010-03-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(453,3,6,'$ 25.00-Apr 2007 Mailer 1','2010-04-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(454,4,6,'$ 50.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(455,5,6,'$ 500.00-Apr 2007 Mailer 1','2010-04-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(456,6,6,'$ 175.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(457,7,6,'$ 50.00-Online: Save the Penguins','2010-03-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(458,8,6,'$ 10.00-Online: Save the Penguins','2010-03-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(459,9,6,'$ 250.00-Online: Save the Penguins','2010-04-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(460,10,6,NULL,'2009-07-01 11:53:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(461,11,6,NULL,'2009-07-01 12:55:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(462,12,6,NULL,'2009-10-01 11:53:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(463,13,6,NULL,'2009-12-01 12:55:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(464,1,7,'General','2020-06-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(465,2,7,'Student','2020-06-03 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(466,3,7,'General','2020-06-02 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(467,4,7,'Student','2020-06-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(468,5,7,'Student','2019-05-31 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(469,6,7,'Student','2020-05-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(470,7,7,'General','2020-05-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(471,8,7,'Student','2020-05-28 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(472,9,7,'General','2020-05-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(473,10,7,'Student','2019-05-26 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(474,11,7,'Lifetime','2020-05-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(475,12,7,'Student','2020-05-24 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(476,13,7,'General','2020-05-23 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(477,14,7,'Student','2020-05-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(478,15,7,'General','2018-02-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(479,16,7,'Student','2020-05-20 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(480,17,7,'General','2020-05-19 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(481,18,7,'Student','2020-05-18 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(482,19,7,'General','2020-05-17 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(483,20,7,'General','2018-01-03 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(484,21,7,'General','2020-05-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(485,22,7,'Lifetime','2020-05-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(486,23,7,'General','2020-05-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(487,24,7,'Student','2020-05-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(488,25,7,'Student','2019-05-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(489,26,7,'Student','2020-05-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(490,27,7,'General','2020-05-09 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(491,28,7,'Student','2020-05-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(492,29,7,'General','2020-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(493,30,7,'General','2017-10-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(494,14,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(495,15,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(496,16,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(497,17,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(498,18,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(499,19,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(500,20,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(501,21,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(502,22,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(503,23,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(504,24,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(505,25,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(506,26,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(507,27,6,'$ 100.00 - General Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(508,28,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(509,29,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(510,30,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(511,31,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(512,32,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(513,33,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(514,34,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(515,35,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(516,36,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(517,37,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(518,38,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(519,39,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(520,40,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(521,41,6,'$ 50.00 - Student Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(522,42,6,'$ 1200.00 - Lifetime Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(523,43,6,'$ 1200.00 - Lifetime Membership: Offline signup','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(525,1,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(526,2,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(527,3,5,'NULL','2008-05-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(528,4,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(529,5,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(530,6,5,'NULL','2008-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(531,7,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(532,8,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(533,9,5,'NULL','2008-02-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(534,10,5,'NULL','2008-02-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(535,11,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(536,12,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(537,13,5,'NULL','2008-06-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(538,14,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(539,15,5,'NULL','2008-07-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(540,16,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(541,17,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(542,18,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(543,19,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(544,20,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(545,21,5,'NULL','2008-03-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(546,22,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(547,23,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(548,24,5,'NULL','2008-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(549,25,5,'NULL','2008-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(550,26,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(551,27,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(552,28,5,'NULL','2009-12-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(553,29,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(554,30,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(555,31,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(556,32,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(557,33,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(558,34,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(559,35,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(560,36,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(561,37,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(562,38,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(563,39,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(564,40,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(565,41,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(566,42,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(567,43,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(568,44,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(569,45,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(570,46,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(571,47,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(572,48,5,'NULL','2009-12-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(573,49,5,'NULL','2009-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(574,50,5,'NULL','2009-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(575,45,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(576,46,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(577,47,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(578,48,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(579,49,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(580,50,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(581,51,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(582,52,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(583,53,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(584,54,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(585,55,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(586,56,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(587,57,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(588,58,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(589,59,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(590,60,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(591,61,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(592,62,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(593,63,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(594,64,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(595,65,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(596,66,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(597,67,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(598,68,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(599,69,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(600,70,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(601,71,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(602,72,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(603,73,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(604,74,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(605,75,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(606,76,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(607,77,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(608,78,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(609,79,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(610,80,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(611,81,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(612,82,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(613,83,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(614,84,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(615,85,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(616,86,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(617,87,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(618,88,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(619,89,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(620,90,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(621,91,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(622,92,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(623,93,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20'),(624,94,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-04 10:38:20',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-04 09:38:20','2020-06-04 09:38:20');
+INSERT INTO `civicrm_activity` (`id`, `source_record_id`, `activity_type_id`, `subject`, `activity_date_time`, `duration`, `location`, `phone_id`, `phone_number`, `details`, `status_id`, `priority_id`, `parent_id`, `is_test`, `medium_id`, `is_auto`, `relationship_id`, `is_current_revision`, `original_id`, `result`, `is_deleted`, `campaign_id`, `engagement_level`, `weight`, `is_star`, `created_date`, `modified_date`) VALUES (1,NULL,10,'Subject for Pledge Acknowledgment','2019-12-23 00:52:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(2,NULL,10,'Subject for Pledge Acknowledgment','2020-04-16 02:44:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(3,NULL,10,'Subject for Pledge Acknowledgment','2019-11-08 01:59:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(4,NULL,9,'Subject for Tell a Friend','2019-10-06 17:52:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(5,NULL,10,'Subject for Pledge Acknowledgment','2020-02-19 07:55:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(6,NULL,10,'Subject for Pledge Acknowledgment','2020-01-08 15:52:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(7,NULL,10,'Subject for Pledge Acknowledgment','2019-11-01 05:05:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(8,NULL,10,'Subject for Pledge Acknowledgment','2020-01-01 18:35:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(9,NULL,10,'Subject for Pledge Acknowledgment','2019-12-24 23:18:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(10,NULL,10,'Subject for Pledge Acknowledgment','2019-10-17 18:29:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(11,NULL,10,'Subject for Pledge Acknowledgment','2019-07-30 21:54:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(12,NULL,9,'Subject for Tell a Friend','2020-03-16 22:59:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(13,NULL,9,'Subject for Tell a Friend','2019-12-16 02:48:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(14,NULL,10,'Subject for Pledge Acknowledgment','2019-12-24 12:10:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(15,NULL,10,'Subject for Pledge Acknowledgment','2020-04-24 01:17:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(16,NULL,9,'Subject for Tell a Friend','2020-05-24 17:31:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(17,NULL,9,'Subject for Tell a Friend','2019-07-31 12:30:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(18,NULL,10,'Subject for Pledge Acknowledgment','2019-06-15 23:09:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(19,NULL,9,'Subject for Tell a Friend','2019-12-22 21:08:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(20,NULL,9,'Subject for Tell a Friend','2019-10-19 22:51:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(21,NULL,10,'Subject for Pledge Acknowledgment','2020-03-28 08:18:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(22,NULL,9,'Subject for Tell a Friend','2020-04-23 14:31:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(23,NULL,9,'Subject for Tell a Friend','2019-12-17 03:28:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(24,NULL,10,'Subject for Pledge Acknowledgment','2020-04-24 14:49:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(25,NULL,10,'Subject for Pledge Acknowledgment','2019-06-26 17:20:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(26,NULL,9,'Subject for Tell a Friend','2019-09-02 07:38:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(27,NULL,9,'Subject for Tell a Friend','2020-01-03 06:23:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(28,NULL,9,'Subject for Tell a Friend','2019-12-03 17:05:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(29,NULL,10,'Subject for Pledge Acknowledgment','2020-05-20 23:57:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(30,NULL,9,'Subject for Tell a Friend','2019-11-19 23:48:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(31,NULL,10,'Subject for Pledge Acknowledgment','2020-05-25 17:06:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(32,NULL,10,'Subject for Pledge Acknowledgment','2020-05-20 10:23:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(33,NULL,10,'Subject for Pledge Acknowledgment','2019-10-18 03:17:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(34,NULL,9,'Subject for Tell a Friend','2019-08-06 23:11:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(35,NULL,10,'Subject for Pledge Acknowledgment','2019-12-16 20:27:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(36,NULL,10,'Subject for Pledge Acknowledgment','2020-05-24 12:18:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(37,NULL,9,'Subject for Tell a Friend','2019-09-20 04:40:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(38,NULL,9,'Subject for Tell a Friend','2020-04-06 02:45:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(39,NULL,9,'Subject for Tell a Friend','2020-01-12 20:17:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(40,NULL,9,'Subject for Tell a Friend','2019-08-01 06:36:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(41,NULL,10,'Subject for Pledge Acknowledgment','2020-05-26 19:32:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(42,NULL,9,'Subject for Tell a Friend','2019-09-20 13:23:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(43,NULL,9,'Subject for Tell a Friend','2019-10-26 04:36:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(44,NULL,10,'Subject for Pledge Acknowledgment','2019-06-18 17:35:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(45,NULL,9,'Subject for Tell a Friend','2019-08-01 23:09:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(46,NULL,10,'Subject for Pledge Acknowledgment','2020-04-24 17:14:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(47,NULL,10,'Subject for Pledge Acknowledgment','2020-02-19 15:24:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(48,NULL,10,'Subject for Pledge Acknowledgment','2020-03-04 01:11:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(49,NULL,10,'Subject for Pledge Acknowledgment','2020-03-06 09:42:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(50,NULL,10,'Subject for Pledge Acknowledgment','2019-07-19 06:05:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(51,NULL,10,'Subject for Pledge Acknowledgment','2020-04-03 23:12:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(52,NULL,9,'Subject for Tell a Friend','2019-11-26 10:32:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(53,NULL,9,'Subject for Tell a Friend','2020-04-26 23:14:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(54,NULL,9,'Subject for Tell a Friend','2019-08-21 22:50:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(55,NULL,10,'Subject for Pledge Acknowledgment','2019-11-26 10:48:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(56,NULL,9,'Subject for Tell a Friend','2020-02-11 13:34:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(57,NULL,10,'Subject for Pledge Acknowledgment','2019-07-06 06:22:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(58,NULL,9,'Subject for Tell a Friend','2019-12-16 12:59:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(59,NULL,10,'Subject for Pledge Acknowledgment','2019-09-02 20:22:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(60,NULL,10,'Subject for Pledge Acknowledgment','2020-03-29 16:48:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(61,NULL,10,'Subject for Pledge Acknowledgment','2019-11-19 08:10:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(62,NULL,10,'Subject for Pledge Acknowledgment','2019-09-02 04:36:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(63,NULL,10,'Subject for Pledge Acknowledgment','2019-06-25 19:55:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(64,NULL,10,'Subject for Pledge Acknowledgment','2020-03-20 19:49:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(65,NULL,9,'Subject for Tell a Friend','2019-06-27 14:57:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(66,NULL,10,'Subject for Pledge Acknowledgment','2020-03-01 16:38:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(67,NULL,9,'Subject for Tell a Friend','2019-10-17 20:34:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(68,NULL,9,'Subject for Tell a Friend','2019-07-16 15:24:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(69,NULL,10,'Subject for Pledge Acknowledgment','2020-03-18 10:07:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(70,NULL,10,'Subject for Pledge Acknowledgment','2020-03-15 15:43:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(71,NULL,10,'Subject for Pledge Acknowledgment','2020-01-25 23:44:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(72,NULL,10,'Subject for Pledge Acknowledgment','2019-09-26 17:35:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(73,NULL,9,'Subject for Tell a Friend','2020-04-08 12:37:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(74,NULL,10,'Subject for Pledge Acknowledgment','2019-12-02 15:48:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(75,NULL,9,'Subject for Tell a Friend','2019-09-08 01:01:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(76,NULL,10,'Subject for Pledge Acknowledgment','2020-04-24 22:22:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(77,NULL,9,'Subject for Tell a Friend','2020-01-11 05:10:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(78,NULL,10,'Subject for Pledge Acknowledgment','2020-02-14 10:22:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(79,NULL,10,'Subject for Pledge Acknowledgment','2019-10-14 05:57:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(80,NULL,10,'Subject for Pledge Acknowledgment','2020-01-23 08:05:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(81,NULL,10,'Subject for Pledge Acknowledgment','2019-11-11 13:21:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(82,NULL,9,'Subject for Tell a Friend','2020-04-02 18:20:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(83,NULL,9,'Subject for Tell a Friend','2020-01-27 02:24:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(84,NULL,10,'Subject for Pledge Acknowledgment','2019-07-02 16:13:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(85,NULL,10,'Subject for Pledge Acknowledgment','2019-09-03 18:00:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(86,NULL,9,'Subject for Tell a Friend','2019-09-24 16:11:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(87,NULL,10,'Subject for Pledge Acknowledgment','2019-10-02 17:37:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(88,NULL,9,'Subject for Tell a Friend','2020-05-22 16:55:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(89,NULL,9,'Subject for Tell a Friend','2019-06-26 15:15:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(90,NULL,9,'Subject for Tell a Friend','2019-12-12 16:32:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(91,NULL,10,'Subject for Pledge Acknowledgment','2020-04-16 10:25:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(92,NULL,10,'Subject for Pledge Acknowledgment','2019-06-19 10:14:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(93,NULL,9,'Subject for Tell a Friend','2020-02-24 15:37:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(94,NULL,9,'Subject for Tell a Friend','2020-02-08 23:28:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(95,NULL,9,'Subject for Tell a Friend','2019-08-11 13:08:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(96,NULL,10,'Subject for Pledge Acknowledgment','2019-11-01 04:36:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(97,NULL,10,'Subject for Pledge Acknowledgment','2020-01-31 19:33:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(98,NULL,9,'Subject for Tell a Friend','2020-03-02 18:16:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(99,NULL,9,'Subject for Tell a Friend','2019-09-18 03:21:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(100,NULL,9,'Subject for Tell a Friend','2019-10-06 06:01:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(101,NULL,9,'Subject for Tell a Friend','2019-09-04 16:26:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(102,NULL,10,'Subject for Pledge Acknowledgment','2020-03-03 10:38:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(103,NULL,9,'Subject for Tell a Friend','2019-10-21 06:06:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(104,NULL,9,'Subject for Tell a Friend','2019-10-17 19:21:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(105,NULL,10,'Subject for Pledge Acknowledgment','2020-03-19 19:32:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(106,NULL,9,'Subject for Tell a Friend','2019-09-04 14:28:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(107,NULL,9,'Subject for Tell a Friend','2020-01-02 08:09:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(108,NULL,10,'Subject for Pledge Acknowledgment','2020-03-10 12:12:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(109,NULL,9,'Subject for Tell a Friend','2019-09-07 00:14:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(110,NULL,9,'Subject for Tell a Friend','2020-06-09 08:38:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(111,NULL,10,'Subject for Pledge Acknowledgment','2020-01-23 03:29:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(112,NULL,10,'Subject for Pledge Acknowledgment','2019-11-22 13:34:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(113,NULL,9,'Subject for Tell a Friend','2020-04-11 06:07:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(114,NULL,10,'Subject for Pledge Acknowledgment','2020-02-04 04:05:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(115,NULL,10,'Subject for Pledge Acknowledgment','2020-06-09 20:24:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(116,NULL,10,'Subject for Pledge Acknowledgment','2020-01-30 04:44:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(117,NULL,9,'Subject for Tell a Friend','2020-05-01 21:14:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(118,NULL,10,'Subject for Pledge Acknowledgment','2019-08-28 04:20:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(119,NULL,10,'Subject for Pledge Acknowledgment','2019-10-15 09:30:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(120,NULL,9,'Subject for Tell a Friend','2019-09-14 04:13:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(121,NULL,10,'Subject for Pledge Acknowledgment','2019-10-31 11:02:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(122,NULL,9,'Subject for Tell a Friend','2019-09-01 15:08:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(123,NULL,9,'Subject for Tell a Friend','2019-09-01 04:20:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(124,NULL,9,'Subject for Tell a Friend','2020-03-06 13:21:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(125,NULL,10,'Subject for Pledge Acknowledgment','2020-03-08 17:11:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(126,NULL,9,'Subject for Tell a Friend','2019-10-18 22:30:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(127,NULL,9,'Subject for Tell a Friend','2020-04-15 18:55:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(128,NULL,10,'Subject for Pledge Acknowledgment','2020-01-01 05:27:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(129,NULL,9,'Subject for Tell a Friend','2020-01-14 08:52:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(130,NULL,10,'Subject for Pledge Acknowledgment','2019-09-05 20:41:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(131,NULL,10,'Subject for Pledge Acknowledgment','2019-07-29 13:53:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(132,NULL,10,'Subject for Pledge Acknowledgment','2019-07-05 01:54:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(133,NULL,10,'Subject for Pledge Acknowledgment','2020-01-13 19:20:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(134,NULL,9,'Subject for Tell a Friend','2019-12-12 03:05:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(135,NULL,10,'Subject for Pledge Acknowledgment','2020-01-17 16:08:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(136,NULL,9,'Subject for Tell a Friend','2020-04-19 08:42:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(137,NULL,10,'Subject for Pledge Acknowledgment','2019-12-07 00:08:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(138,NULL,10,'Subject for Pledge Acknowledgment','2019-08-23 22:05:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(139,NULL,9,'Subject for Tell a Friend','2020-01-01 00:03:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(140,NULL,10,'Subject for Pledge Acknowledgment','2019-10-11 09:41:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(141,NULL,9,'Subject for Tell a Friend','2019-12-14 00:14:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(142,NULL,9,'Subject for Tell a Friend','2020-03-19 16:17:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(143,NULL,10,'Subject for Pledge Acknowledgment','2020-05-17 13:17:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(144,NULL,9,'Subject for Tell a Friend','2020-04-02 01:45:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(145,NULL,9,'Subject for Tell a Friend','2019-08-23 11:15:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(146,NULL,10,'Subject for Pledge Acknowledgment','2019-11-25 00:48:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(147,NULL,10,'Subject for Pledge Acknowledgment','2020-01-29 10:59:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(148,NULL,9,'Subject for Tell a Friend','2019-11-27 19:33:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(149,NULL,9,'Subject for Tell a Friend','2020-03-17 14:01:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(150,NULL,10,'Subject for Pledge Acknowledgment','2020-05-04 02:52:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(151,NULL,10,'Subject for Pledge Acknowledgment','2020-04-29 22:45:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(152,NULL,9,'Subject for Tell a Friend','2020-02-05 00:29:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(153,NULL,10,'Subject for Pledge Acknowledgment','2020-02-03 09:51:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(154,NULL,9,'Subject for Tell a Friend','2019-07-10 21:21:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(155,NULL,10,'Subject for Pledge Acknowledgment','2019-10-05 04:32:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(156,NULL,9,'Subject for Tell a Friend','2019-06-22 10:01:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(157,NULL,10,'Subject for Pledge Acknowledgment','2019-11-02 14:39:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(158,NULL,10,'Subject for Pledge Acknowledgment','2020-04-01 07:26:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(159,NULL,9,'Subject for Tell a Friend','2019-06-18 22:39:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(160,NULL,10,'Subject for Pledge Acknowledgment','2019-12-02 19:43:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(161,NULL,9,'Subject for Tell a Friend','2020-04-28 17:23:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(162,NULL,9,'Subject for Tell a Friend','2020-05-28 19:28:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(163,NULL,10,'Subject for Pledge Acknowledgment','2020-06-03 10:58:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(164,NULL,9,'Subject for Tell a Friend','2019-08-03 14:10:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(165,NULL,9,'Subject for Tell a Friend','2019-10-17 04:15:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(166,NULL,9,'Subject for Tell a Friend','2020-03-14 07:47:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(167,NULL,9,'Subject for Tell a Friend','2019-07-20 06:01:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(168,NULL,9,'Subject for Tell a Friend','2019-09-06 07:48:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(169,NULL,10,'Subject for Pledge Acknowledgment','2020-03-29 16:57:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(170,NULL,10,'Subject for Pledge Acknowledgment','2019-12-08 14:09:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(171,NULL,10,'Subject for Pledge Acknowledgment','2019-07-13 14:05:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(172,NULL,9,'Subject for Tell a Friend','2020-01-14 06:45:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(173,NULL,9,'Subject for Tell a Friend','2019-07-04 07:39:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(174,NULL,9,'Subject for Tell a Friend','2019-08-01 04:44:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(175,NULL,9,'Subject for Tell a Friend','2019-09-25 05:54:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(176,NULL,9,'Subject for Tell a Friend','2020-05-03 18:23:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(177,NULL,10,'Subject for Pledge Acknowledgment','2019-08-06 22:17:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(178,NULL,9,'Subject for Tell a Friend','2019-12-26 05:15:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(179,NULL,10,'Subject for Pledge Acknowledgment','2019-07-12 09:38:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(180,NULL,9,'Subject for Tell a Friend','2020-01-11 14:35:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(181,NULL,9,'Subject for Tell a Friend','2019-07-19 05:47:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(182,NULL,9,'Subject for Tell a Friend','2019-12-12 06:28:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(183,NULL,10,'Subject for Pledge Acknowledgment','2020-01-13 11:38:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(184,NULL,10,'Subject for Pledge Acknowledgment','2019-09-14 00:56:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(185,NULL,9,'Subject for Tell a Friend','2019-12-04 12:37:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(186,NULL,10,'Subject for Pledge Acknowledgment','2019-10-26 14:31:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(187,NULL,10,'Subject for Pledge Acknowledgment','2020-02-10 21:29:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(188,NULL,9,'Subject for Tell a Friend','2019-07-27 11:50:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(189,NULL,9,'Subject for Tell a Friend','2019-12-28 00:50:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(190,NULL,9,'Subject for Tell a Friend','2020-01-09 22:35:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(191,NULL,10,'Subject for Pledge Acknowledgment','2020-05-08 20:17:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(192,NULL,10,'Subject for Pledge Acknowledgment','2019-07-02 11:47:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(193,NULL,9,'Subject for Tell a Friend','2019-11-12 05:50:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(194,NULL,9,'Subject for Tell a Friend','2019-11-19 02:51:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(195,NULL,9,'Subject for Tell a Friend','2019-08-11 09:40:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(196,NULL,9,'Subject for Tell a Friend','2019-10-19 09:08:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(197,NULL,9,'Subject for Tell a Friend','2019-07-26 16:04:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(198,NULL,9,'Subject for Tell a Friend','2019-08-30 23:33:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(199,NULL,9,'Subject for Tell a Friend','2020-01-21 15:46:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(200,NULL,9,'Subject for Tell a Friend','2020-02-06 06:50:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(201,NULL,9,'Subject for Tell a Friend','2019-10-11 23:17:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(202,NULL,9,'Subject for Tell a Friend','2020-05-15 04:05:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(203,NULL,10,'Subject for Pledge Acknowledgment','2020-01-04 05:57:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(204,NULL,9,'Subject for Tell a Friend','2020-03-09 05:31:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(205,NULL,9,'Subject for Tell a Friend','2020-01-07 04:39:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(206,NULL,10,'Subject for Pledge Acknowledgment','2019-09-19 00:58:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(207,NULL,9,'Subject for Tell a Friend','2019-09-27 03:32:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(208,NULL,10,'Subject for Pledge Acknowledgment','2019-08-01 00:38:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(209,NULL,9,'Subject for Tell a Friend','2019-12-15 11:25:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(210,NULL,10,'Subject for Pledge Acknowledgment','2019-11-02 03:49:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(211,NULL,10,'Subject for Pledge Acknowledgment','2020-04-14 21:59:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(212,NULL,10,'Subject for Pledge Acknowledgment','2019-12-07 14:02:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(213,NULL,10,'Subject for Pledge Acknowledgment','2019-06-26 18:14:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(214,NULL,9,'Subject for Tell a Friend','2020-05-23 17:03:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(215,NULL,9,'Subject for Tell a Friend','2019-09-18 17:38:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(216,NULL,9,'Subject for Tell a Friend','2020-02-29 01:05:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(217,NULL,9,'Subject for Tell a Friend','2019-12-17 00:06:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(218,NULL,9,'Subject for Tell a Friend','2020-02-05 08:07:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(219,NULL,9,'Subject for Tell a Friend','2019-09-11 05:54:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(220,NULL,9,'Subject for Tell a Friend','2019-11-02 15:57:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(221,NULL,9,'Subject for Tell a Friend','2019-12-23 08:20:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(222,NULL,9,'Subject for Tell a Friend','2020-03-18 15:21:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(223,NULL,10,'Subject for Pledge Acknowledgment','2020-04-21 23:43:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(224,NULL,10,'Subject for Pledge Acknowledgment','2019-09-15 06:04:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(225,NULL,9,'Subject for Tell a Friend','2019-07-06 07:02:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(226,NULL,9,'Subject for Tell a Friend','2020-05-18 23:30:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(227,NULL,10,'Subject for Pledge Acknowledgment','2019-12-31 03:18:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(228,NULL,9,'Subject for Tell a Friend','2019-11-28 21:51:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(229,NULL,9,'Subject for Tell a Friend','2020-05-03 10:15:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(230,NULL,9,'Subject for Tell a Friend','2020-01-02 13:17:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(231,NULL,9,'Subject for Tell a Friend','2020-03-27 16:23:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(232,NULL,10,'Subject for Pledge Acknowledgment','2019-11-03 00:51:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(233,NULL,10,'Subject for Pledge Acknowledgment','2019-09-25 18:23:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(234,NULL,10,'Subject for Pledge Acknowledgment','2019-06-16 21:03:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(235,NULL,10,'Subject for Pledge Acknowledgment','2019-11-06 04:46:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(236,NULL,9,'Subject for Tell a Friend','2019-08-02 04:10:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(237,NULL,10,'Subject for Pledge Acknowledgment','2019-06-12 04:55:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(238,NULL,9,'Subject for Tell a Friend','2019-08-13 01:32:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(239,NULL,10,'Subject for Pledge Acknowledgment','2020-02-11 21:15:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(240,NULL,9,'Subject for Tell a Friend','2019-07-29 22:25:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(241,NULL,10,'Subject for Pledge Acknowledgment','2019-12-22 20:40:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(242,NULL,9,'Subject for Tell a Friend','2019-11-14 04:20:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(243,NULL,10,'Subject for Pledge Acknowledgment','2020-05-18 08:17:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(244,NULL,10,'Subject for Pledge Acknowledgment','2019-07-07 04:26:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(245,NULL,9,'Subject for Tell a Friend','2020-05-08 07:12:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(246,NULL,10,'Subject for Pledge Acknowledgment','2019-06-25 15:22:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(247,NULL,9,'Subject for Tell a Friend','2020-04-21 08:29:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(248,NULL,9,'Subject for Tell a Friend','2019-11-12 05:15:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(249,NULL,10,'Subject for Pledge Acknowledgment','2019-07-05 04:01:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:51','2020-06-10 02:45:51'),(250,NULL,10,'Subject for Pledge Acknowledgment','2020-01-06 02:02:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(251,NULL,9,'Subject for Tell a Friend','2019-09-07 21:10:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(252,NULL,10,'Subject for Pledge Acknowledgment','2019-07-19 14:30:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(253,NULL,10,'Subject for Pledge Acknowledgment','2020-05-03 18:49:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(254,NULL,9,'Subject for Tell a Friend','2020-05-03 11:25:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(255,NULL,9,'Subject for Tell a Friend','2019-07-29 08:29:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(256,NULL,10,'Subject for Pledge Acknowledgment','2019-08-16 15:36:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(257,NULL,10,'Subject for Pledge Acknowledgment','2019-10-06 13:05:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(258,NULL,9,'Subject for Tell a Friend','2020-03-03 18:27:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(259,NULL,9,'Subject for Tell a Friend','2020-04-22 00:17:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(260,NULL,10,'Subject for Pledge Acknowledgment','2019-09-27 17:12:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(261,NULL,10,'Subject for Pledge Acknowledgment','2019-07-23 04:03:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(262,NULL,10,'Subject for Pledge Acknowledgment','2020-04-02 07:40:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(263,NULL,9,'Subject for Tell a Friend','2020-03-13 23:09:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(264,NULL,9,'Subject for Tell a Friend','2020-01-27 00:28:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(265,NULL,10,'Subject for Pledge Acknowledgment','2019-11-02 05:51:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(266,NULL,9,'Subject for Tell a Friend','2019-09-12 11:56:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(267,NULL,10,'Subject for Pledge Acknowledgment','2020-04-29 20:14:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(268,NULL,10,'Subject for Pledge Acknowledgment','2019-08-15 07:58:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(269,NULL,10,'Subject for Pledge Acknowledgment','2019-08-07 09:01:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(270,NULL,9,'Subject for Tell a Friend','2020-05-12 21:57:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(271,NULL,9,'Subject for Tell a Friend','2020-04-14 19:35:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(272,NULL,9,'Subject for Tell a Friend','2020-02-29 12:55:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(273,NULL,10,'Subject for Pledge Acknowledgment','2019-10-19 21:14:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(274,NULL,10,'Subject for Pledge Acknowledgment','2020-01-08 05:12:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(275,NULL,9,'Subject for Tell a Friend','2019-11-20 11:53:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(276,NULL,9,'Subject for Tell a Friend','2019-07-08 05:20:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(277,NULL,9,'Subject for Tell a Friend','2019-11-15 23:46:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(278,NULL,9,'Subject for Tell a Friend','2019-09-05 06:08:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(279,NULL,9,'Subject for Tell a Friend','2019-06-16 17:54:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(280,NULL,9,'Subject for Tell a Friend','2019-11-27 05:37:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(281,NULL,10,'Subject for Pledge Acknowledgment','2020-05-03 10:20:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(282,NULL,10,'Subject for Pledge Acknowledgment','2020-01-11 12:11:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(283,NULL,9,'Subject for Tell a Friend','2020-02-09 21:28:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(284,NULL,9,'Subject for Tell a Friend','2020-02-18 19:04:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(285,NULL,10,'Subject for Pledge Acknowledgment','2019-12-27 15:54:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(286,NULL,9,'Subject for Tell a Friend','2020-02-03 17:10:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(287,NULL,9,'Subject for Tell a Friend','2019-11-29 11:45:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(288,NULL,10,'Subject for Pledge Acknowledgment','2020-04-03 08:47:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(289,NULL,10,'Subject for Pledge Acknowledgment','2019-11-30 17:39:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(290,NULL,9,'Subject for Tell a Friend','2019-06-15 15:24:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(291,NULL,10,'Subject for Pledge Acknowledgment','2019-07-24 19:01:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(292,NULL,9,'Subject for Tell a Friend','2019-10-21 00:23:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(293,NULL,9,'Subject for Tell a Friend','2019-10-09 01:38:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(294,NULL,9,'Subject for Tell a Friend','2019-11-01 19:09:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(295,NULL,9,'Subject for Tell a Friend','2020-06-04 21:27:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(296,NULL,9,'Subject for Tell a Friend','2020-03-14 19:25:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(297,NULL,9,'Subject for Tell a Friend','2020-01-12 13:23:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(298,NULL,10,'Subject for Pledge Acknowledgment','2020-02-17 04:48:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(299,NULL,9,'Subject for Tell a Friend','2019-11-21 15:15:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(300,NULL,9,'Subject for Tell a Friend','2020-01-12 18:37:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(301,NULL,10,'Subject for Pledge Acknowledgment','2020-02-05 16:37:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(302,NULL,9,'Subject for Tell a Friend','2020-05-20 15:13:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(303,NULL,10,'Subject for Pledge Acknowledgment','2019-09-03 18:58:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(304,NULL,9,'Subject for Tell a Friend','2019-08-18 03:08:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(305,NULL,9,'Subject for Tell a Friend','2019-08-17 15:09:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(306,NULL,9,'Subject for Tell a Friend','2019-12-08 17:11:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(307,NULL,9,'Subject for Tell a Friend','2020-01-25 10:55:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(308,NULL,9,'Subject for Tell a Friend','2020-04-06 23:57:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(309,NULL,9,'Subject for Tell a Friend','2020-04-01 07:01:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(310,NULL,10,'Subject for Pledge Acknowledgment','2019-10-16 13:31:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(311,NULL,9,'Subject for Tell a Friend','2019-07-15 00:18:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(312,NULL,9,'Subject for Tell a Friend','2019-11-15 19:31:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(313,NULL,10,'Subject for Pledge Acknowledgment','2019-06-20 02:20:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(314,NULL,10,'Subject for Pledge Acknowledgment','2020-05-13 15:27:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(315,NULL,9,'Subject for Tell a Friend','2020-03-22 00:46:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(316,NULL,9,'Subject for Tell a Friend','2019-11-07 07:14:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(317,NULL,10,'Subject for Pledge Acknowledgment','2019-09-27 21:12:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(318,NULL,10,'Subject for Pledge Acknowledgment','2019-11-27 09:14:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(319,NULL,10,'Subject for Pledge Acknowledgment','2020-05-29 21:45:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(320,NULL,10,'Subject for Pledge Acknowledgment','2019-10-06 14:34:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(321,NULL,9,'Subject for Tell a Friend','2020-02-18 07:09:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(322,NULL,9,'Subject for Tell a Friend','2020-01-13 12:10:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(323,NULL,9,'Subject for Tell a Friend','2019-11-02 08:32:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(324,NULL,10,'Subject for Pledge Acknowledgment','2020-04-17 13:57:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(325,NULL,9,'Subject for Tell a Friend','2019-08-06 18:33:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(326,NULL,10,'Subject for Pledge Acknowledgment','2020-01-06 09:37:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(327,NULL,9,'Subject for Tell a Friend','2020-02-27 18:33:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(328,NULL,9,'Subject for Tell a Friend','2019-07-02 19:54:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(329,NULL,10,'Subject for Pledge Acknowledgment','2019-12-30 14:03:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(330,NULL,10,'Subject for Pledge Acknowledgment','2019-07-01 04:22:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(331,NULL,9,'Subject for Tell a Friend','2020-05-08 12:21:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(332,NULL,10,'Subject for Pledge Acknowledgment','2020-05-08 11:52:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(333,NULL,9,'Subject for Tell a Friend','2020-04-29 13:56:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(334,NULL,10,'Subject for Pledge Acknowledgment','2019-07-23 08:43:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(335,NULL,9,'Subject for Tell a Friend','2019-12-16 03:51:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(336,NULL,9,'Subject for Tell a Friend','2019-08-03 12:27:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(337,NULL,9,'Subject for Tell a Friend','2019-12-03 09:01:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(338,NULL,9,'Subject for Tell a Friend','2020-05-13 12:10:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(339,NULL,9,'Subject for Tell a Friend','2019-10-15 23:33:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(340,NULL,10,'Subject for Pledge Acknowledgment','2020-04-18 23:20:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(341,NULL,10,'Subject for Pledge Acknowledgment','2019-11-15 14:50:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(342,NULL,10,'Subject for Pledge Acknowledgment','2019-12-04 17:26:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(343,NULL,9,'Subject for Tell a Friend','2020-03-17 18:08:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(344,NULL,10,'Subject for Pledge Acknowledgment','2020-02-04 18:17:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(345,NULL,10,'Subject for Pledge Acknowledgment','2019-06-20 06:11:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(346,NULL,10,'Subject for Pledge Acknowledgment','2019-12-14 18:39:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(347,NULL,10,'Subject for Pledge Acknowledgment','2019-09-21 05:08:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(348,NULL,9,'Subject for Tell a Friend','2020-02-14 19:42:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(349,NULL,9,'Subject for Tell a Friend','2020-02-25 10:41:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(350,NULL,9,'Subject for Tell a Friend','2020-01-17 21:15:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(351,NULL,10,'Subject for Pledge Acknowledgment','2019-07-07 13:58:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(352,NULL,9,'Subject for Tell a Friend','2019-09-08 23:10:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(353,NULL,9,'Subject for Tell a Friend','2019-07-06 01:21:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(354,NULL,9,'Subject for Tell a Friend','2020-06-07 06:02:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(355,NULL,10,'Subject for Pledge Acknowledgment','2020-01-21 11:50:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(356,NULL,9,'Subject for Tell a Friend','2020-05-10 22:45:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(357,NULL,9,'Subject for Tell a Friend','2019-10-16 21:30:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(358,NULL,10,'Subject for Pledge Acknowledgment','2020-04-15 11:43:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(359,NULL,10,'Subject for Pledge Acknowledgment','2020-05-17 21:59:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(360,NULL,10,'Subject for Pledge Acknowledgment','2020-04-07 12:00:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(361,NULL,9,'Subject for Tell a Friend','2020-04-15 13:56:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(362,NULL,9,'Subject for Tell a Friend','2019-06-11 18:54:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(363,NULL,10,'Subject for Pledge Acknowledgment','2020-01-31 15:50:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(364,NULL,9,'Subject for Tell a Friend','2020-02-27 15:28:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(365,NULL,9,'Subject for Tell a Friend','2020-04-27 04:51:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(366,NULL,9,'Subject for Tell a Friend','2020-06-01 20:12:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(367,NULL,9,'Subject for Tell a Friend','2020-02-18 11:28:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(368,NULL,9,'Subject for Tell a Friend','2019-11-19 06:44:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(369,NULL,9,'Subject for Tell a Friend','2020-01-22 14:58:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(370,NULL,10,'Subject for Pledge Acknowledgment','2020-03-15 06:57:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(371,NULL,9,'Subject for Tell a Friend','2019-09-14 16:20:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(372,NULL,10,'Subject for Pledge Acknowledgment','2020-01-21 23:26:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(373,NULL,10,'Subject for Pledge Acknowledgment','2019-11-26 00:47:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(374,NULL,10,'Subject for Pledge Acknowledgment','2019-07-04 14:48:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(375,NULL,10,'Subject for Pledge Acknowledgment','2020-03-19 22:02:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(376,NULL,9,'Subject for Tell a Friend','2019-10-10 13:00:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(377,NULL,10,'Subject for Pledge Acknowledgment','2020-02-03 17:33:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(378,NULL,9,'Subject for Tell a Friend','2019-11-10 06:49:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(379,NULL,9,'Subject for Tell a Friend','2020-01-10 04:48:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(380,NULL,9,'Subject for Tell a Friend','2019-09-19 18:59:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(381,NULL,9,'Subject for Tell a Friend','2020-01-22 09:58:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(382,NULL,9,'Subject for Tell a Friend','2019-11-04 11:02:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(383,NULL,10,'Subject for Pledge Acknowledgment','2019-09-25 10:52:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(384,NULL,9,'Subject for Tell a Friend','2019-08-17 11:06:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(385,NULL,10,'Subject for Pledge Acknowledgment','2019-10-30 21:23:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(386,NULL,9,'Subject for Tell a Friend','2019-09-01 18:40:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(387,NULL,10,'Subject for Pledge Acknowledgment','2020-04-14 19:19:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(388,NULL,9,'Subject for Tell a Friend','2020-01-31 00:34:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(389,NULL,10,'Subject for Pledge Acknowledgment','2020-06-07 04:18:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(390,NULL,10,'Subject for Pledge Acknowledgment','2019-11-01 08:53:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(391,NULL,9,'Subject for Tell a Friend','2020-02-22 02:39:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(392,NULL,10,'Subject for Pledge Acknowledgment','2019-09-01 20:35:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(393,NULL,10,'Subject for Pledge Acknowledgment','2019-08-02 17:30:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(394,NULL,9,'Subject for Tell a Friend','2019-12-17 07:26:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(395,NULL,10,'Subject for Pledge Acknowledgment','2019-12-14 07:45:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(396,NULL,9,'Subject for Tell a Friend','2019-07-30 01:14:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(397,NULL,10,'Subject for Pledge Acknowledgment','2020-05-30 14:42:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(398,NULL,9,'Subject for Tell a Friend','2020-03-10 06:29:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(399,NULL,9,'Subject for Tell a Friend','2020-04-12 04:01:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(400,NULL,9,'Subject for Tell a Friend','2020-03-19 07:05:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(401,NULL,10,'Subject for Pledge Acknowledgment','2019-09-30 01:28:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(402,NULL,9,'Subject for Tell a Friend','2020-01-11 09:55:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(403,NULL,10,'Subject for Pledge Acknowledgment','2020-01-02 14:18:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(404,NULL,9,'Subject for Tell a Friend','2020-01-01 13:50:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(405,NULL,9,'Subject for Tell a Friend','2020-04-07 18:13:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(406,NULL,10,'Subject for Pledge Acknowledgment','2019-11-29 11:23:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(407,NULL,10,'Subject for Pledge Acknowledgment','2019-09-01 19:29:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(408,NULL,9,'Subject for Tell a Friend','2020-04-14 13:03:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(409,NULL,10,'Subject for Pledge Acknowledgment','2020-02-14 08:00:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(410,NULL,9,'Subject for Tell a Friend','2020-06-04 04:04:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(411,NULL,9,'Subject for Tell a Friend','2020-05-23 07:39:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(412,NULL,9,'Subject for Tell a Friend','2019-12-24 20:33:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(413,NULL,9,'Subject for Tell a Friend','2020-04-06 13:04:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(414,NULL,10,'Subject for Pledge Acknowledgment','2019-10-01 08:05:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(415,NULL,10,'Subject for Pledge Acknowledgment','2020-03-19 06:19:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(416,NULL,10,'Subject for Pledge Acknowledgment','2019-10-23 03:22:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(417,NULL,10,'Subject for Pledge Acknowledgment','2019-10-07 18:53:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(418,NULL,10,'Subject for Pledge Acknowledgment','2019-09-08 09:17:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(419,NULL,10,'Subject for Pledge Acknowledgment','2019-07-13 06:12:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(420,NULL,10,'Subject for Pledge Acknowledgment','2020-02-24 03:59:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(421,NULL,9,'Subject for Tell a Friend','2019-08-29 22:25:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(422,NULL,9,'Subject for Tell a Friend','2019-07-17 23:55:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(423,NULL,9,'Subject for Tell a Friend','2019-10-19 05:32:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(424,NULL,10,'Subject for Pledge Acknowledgment','2019-11-26 14:40:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(425,NULL,9,'Subject for Tell a Friend','2020-02-12 04:01:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(426,NULL,10,'Subject for Pledge Acknowledgment','2019-08-07 02:01:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(427,NULL,10,'Subject for Pledge Acknowledgment','2019-12-05 13:21:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(428,NULL,10,'Subject for Pledge Acknowledgment','2019-12-07 19:51:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(429,NULL,10,'Subject for Pledge Acknowledgment','2019-10-12 12:11:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(430,NULL,10,'Subject for Pledge Acknowledgment','2019-10-15 17:08:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(431,NULL,9,'Subject for Tell a Friend','2019-10-09 09:46:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(432,NULL,10,'Subject for Pledge Acknowledgment','2019-12-13 09:14:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(433,NULL,10,'Subject for Pledge Acknowledgment','2020-03-12 23:55:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(434,NULL,10,'Subject for Pledge Acknowledgment','2019-12-15 22:37:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(435,NULL,10,'Subject for Pledge Acknowledgment','2019-11-27 01:29:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(436,NULL,10,'Subject for Pledge Acknowledgment','2019-07-09 19:06:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(437,NULL,9,'Subject for Tell a Friend','2020-03-16 03:50:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(438,NULL,9,'Subject for Tell a Friend','2019-06-20 00:57:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(439,NULL,9,'Subject for Tell a Friend','2019-08-25 21:01:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(440,NULL,9,'Subject for Tell a Friend','2020-05-22 02:54:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(441,NULL,9,'Subject for Tell a Friend','2020-04-17 08:54:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(442,NULL,10,'Subject for Pledge Acknowledgment','2020-01-23 04:39:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(443,NULL,9,'Subject for Tell a Friend','2019-07-21 18:44:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(444,NULL,10,'Subject for Pledge Acknowledgment','2019-11-18 03:13:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(445,NULL,9,'Subject for Tell a Friend','2020-05-25 12:07:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(446,NULL,10,'Subject for Pledge Acknowledgment','2019-09-25 21:59:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(447,NULL,9,'Subject for Tell a Friend','2020-03-06 11:52:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(448,NULL,10,'Subject for Pledge Acknowledgment','2019-10-21 08:30:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(449,NULL,10,'Subject for Pledge Acknowledgment','2020-05-18 23:36:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(450,NULL,9,'Subject for Tell a Friend','2019-12-18 10:35:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(451,1,6,'$ 125.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(452,2,6,'$ 50.00-Online: Save the Penguins','2010-03-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(453,3,6,'$ 25.00-Apr 2007 Mailer 1','2010-04-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(454,4,6,'$ 50.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(455,5,6,'$ 500.00-Apr 2007 Mailer 1','2010-04-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(456,6,6,'$ 175.00-Apr 2007 Mailer 1','2010-04-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(457,7,6,'$ 50.00-Online: Save the Penguins','2010-03-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(458,8,6,'$ 10.00-Online: Save the Penguins','2010-03-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(459,9,6,'$ 250.00-Online: Save the Penguins','2010-04-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(460,10,6,NULL,'2009-07-01 11:53:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(461,11,6,NULL,'2009-07-01 12:55:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(462,12,6,NULL,'2009-10-01 11:53:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(463,13,6,NULL,'2009-12-01 12:55:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(464,1,7,'General','2020-06-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(465,2,7,'Student','2020-06-09 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(466,3,7,'General','2020-06-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(467,4,7,'Student','2020-06-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(468,5,7,'General','2018-05-09 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(469,6,7,'Student','2020-06-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(470,7,7,'General','2020-06-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(471,8,7,'Student','2020-06-03 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(472,9,7,'General','2020-06-02 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(473,10,7,'General','2018-03-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(474,11,7,'Lifetime','2020-05-31 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(475,12,7,'Student','2020-05-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(476,13,7,'General','2020-05-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(477,14,7,'Student','2020-05-28 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(478,15,7,'General','2018-02-18 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(479,16,7,'Student','2020-05-26 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(480,17,7,'General','2020-05-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(481,18,7,'Student','2020-05-24 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(482,19,7,'General','2020-05-23 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(483,20,7,'Student','2019-05-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(484,21,7,'General','2020-05-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(485,22,7,'Lifetime','2020-05-20 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(486,23,7,'General','2020-05-19 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(487,24,7,'Student','2020-05-18 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(488,25,7,'General','2017-11-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(489,26,7,'Student','2020-05-16 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(490,27,7,'General','2020-05-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(491,28,7,'Student','2020-05-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(492,29,7,'General','2020-05-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(493,30,7,'Student','2019-05-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(494,14,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(495,15,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(496,16,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(497,17,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(498,18,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(499,19,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(500,20,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(501,21,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(502,22,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(503,23,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(504,24,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(505,25,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(506,26,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(507,27,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(508,28,6,'$ 100.00 - General Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(509,29,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(510,30,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(511,31,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(512,32,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(513,33,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(514,34,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(515,35,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(516,36,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(517,37,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(518,38,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(519,39,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(520,40,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(521,41,6,'$ 50.00 - Student Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(522,42,6,'$ 1200.00 - Lifetime Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(523,43,6,'$ 1200.00 - Lifetime Membership: Offline signup','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(525,1,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(526,2,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(527,3,5,'NULL','2008-05-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(528,4,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(529,5,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(530,6,5,'NULL','2008-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(531,7,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(532,8,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(533,9,5,'NULL','2008-02-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(534,10,5,'NULL','2008-02-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(535,11,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(536,12,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(537,13,5,'NULL','2008-06-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(538,14,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(539,15,5,'NULL','2008-07-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(540,16,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(541,17,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(542,18,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(543,19,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(544,20,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(545,21,5,'NULL','2008-03-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(546,22,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(547,23,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(548,24,5,'NULL','2008-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(549,25,5,'NULL','2008-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(550,26,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(551,27,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(552,28,5,'NULL','2009-12-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(553,29,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(554,30,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(555,31,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(556,32,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(557,33,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(558,34,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(559,35,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(560,36,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(561,37,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(562,38,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(563,39,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(564,40,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(565,41,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(566,42,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(567,43,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(568,44,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(569,45,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(570,46,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(571,47,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(572,48,5,'NULL','2009-12-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(573,49,5,'NULL','2009-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(574,50,5,'NULL','2009-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(575,45,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(576,46,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(577,47,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(578,48,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(579,49,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(580,50,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(581,51,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(582,52,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(583,53,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(584,54,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(585,55,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(586,56,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(587,57,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(588,58,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(589,59,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(590,60,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(591,61,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(592,62,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(593,63,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(594,64,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(595,65,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(596,66,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(597,67,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(598,68,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(599,69,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(600,70,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(601,71,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(602,72,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(603,73,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(604,74,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(605,75,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(606,76,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(607,77,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(608,78,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(609,79,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(610,80,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(611,81,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(612,82,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(613,83,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(614,84,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(615,85,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(616,86,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(617,87,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(618,88,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(619,89,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(620,90,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(621,91,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(622,92,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(623,93,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52'),(624,94,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2020-06-10 14:45:52',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2020-06-10 02:45:52','2020-06-10 02:45:52');
 /*!40000 ALTER TABLE `civicrm_activity` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -97,7 +97,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_activity_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_activity_contact` DISABLE KEYS */;
-INSERT INTO `civicrm_activity_contact` (`id`, `activity_id`, `contact_id`, `record_type_id`) VALUES (460,314,1,3),(642,438,1,3),(38,24,2,3),(369,248,2,3),(662,451,2,2),(57,38,3,3),(483,330,3,3),(694,483,3,2),(713,502,3,2),(128,86,4,3),(241,160,4,3),(663,452,4,2),(406,275,5,3),(581,394,5,3),(695,484,5,2),(714,503,5,2),(239,159,6,3),(664,453,6,2),(231,154,7,3),(285,190,7,3),(355,239,7,3),(785,574,7,2),(123,83,8,3),(619,420,8,3),(665,454,8,2),(159,105,9,3),(297,197,10,3),(520,353,10,3),(640,437,10,3),(395,268,11,3),(616,418,11,3),(96,65,12,3),(540,367,12,3),(544,370,12,3),(682,471,12,2),(723,512,12,2),(453,310,13,3),(648,442,13,3),(60,40,14,3),(63,42,14,3),(75,51,14,3),(107,73,14,3),(486,332,14,3),(752,541,15,2),(200,132,16,3),(209,138,16,3),(244,162,16,3),(260,174,16,3),(666,455,16,2),(113,77,17,3),(141,94,17,3),(317,210,17,3),(768,557,18,2),(35,22,19,3),(265,177,19,3),(566,384,19,3),(667,456,19,2),(270,181,20,3),(344,231,20,3),(658,448,20,3),(742,531,20,2),(403,273,21,3),(408,276,21,3),(680,469,21,2),(722,511,21,2),(116,79,22,3),(613,416,22,3),(130,87,23,3),(121,82,24,3),(161,106,24,3),(546,371,24,3),(329,219,25,3),(379,256,25,3),(147,97,26,3),(274,183,26,3),(291,193,26,3),(423,287,26,3),(605,411,26,3),(320,212,27,3),(760,549,27,2),(6,3,28,3),(21,13,28,3),(72,49,28,3),(455,311,28,3),(611,415,29,3),(447,306,30,3),(309,205,32,3),(673,462,32,2),(674,463,32,2),(769,558,32,2),(670,459,34,2),(758,547,34,2),(225,149,35,3),(371,249,35,3),(41,26,36,3),(132,88,36,3),(136,91,36,3),(236,157,36,3),(481,329,36,3),(415,281,37,3),(594,404,37,3),(188,125,38,3),(283,189,38,3),(385,261,38,3),(433,294,38,3),(27,17,39,3),(94,64,39,3),(499,340,39,3),(783,572,39,2),(80,55,40,3),(677,466,40,2),(706,495,40,2),(741,530,41,2),(262,175,42,3),(341,229,42,3),(362,243,42,3),(672,461,43,2),(744,533,43,2),(312,207,44,3),(364,244,44,3),(557,379,44,3),(118,80,45,3),(636,435,45,3),(494,337,46,3),(18,11,47,3),(650,443,47,3),(138,92,48,3),(289,192,48,3),(213,140,49,3),(247,164,49,3),(737,526,49,2),(87,60,50,3),(197,130,50,3),(207,137,52,3),(253,168,52,3),(514,350,52,3),(779,568,52,2),(92,63,53,3),(661,450,53,3),(656,447,54,3),(4,2,55,3),(67,45,55,3),(314,208,55,3),(738,527,55,2),(390,265,56,3),(451,309,56,3),(476,326,56,3),(579,393,56,3),(602,409,56,3),(175,116,57,3),(195,129,57,3),(306,203,57,3),(216,142,58,3),(277,185,59,3),(327,218,59,3),(687,476,59,2),(709,498,59,2),(780,569,59,2),(548,372,60,3),(745,534,60,2),(441,301,61,2),(442,302,61,2),(443,303,61,2),(444,304,61,2),(445,305,61,2),(446,306,61,2),(448,307,61,2),(449,308,61,2),(450,309,61,2),(452,310,61,2),(454,311,61,2),(456,312,61,2),(457,313,61,2),(459,314,61,2),(461,315,61,2),(462,316,61,2),(464,317,61,2),(465,318,61,2),(466,319,61,2),(468,320,61,2),(469,321,61,2),(471,322,61,2),(472,323,61,2),(473,324,61,2),(474,325,61,2),(475,326,61,2),(477,327,61,2),(479,328,61,2),(480,329,61,2),(482,330,61,2),(484,331,61,2),(485,332,61,2),(487,333,61,2),(488,334,61,2),(490,335,61,2),(491,336,61,2),(493,337,61,2),(495,338,61,2),(497,339,61,2),(498,340,61,2),(500,341,61,2),(501,342,61,2),(503,343,61,2),(504,344,61,2),(505,345,61,2),(506,346,61,2),(508,347,61,2),(510,348,61,2),(512,349,61,2),(513,350,61,2),(515,351,61,2),(517,352,61,2),(518,352,61,3),(519,353,61,2),(521,354,61,2),(522,355,61,2),(523,356,61,2),(525,357,61,2),(526,358,61,2),(527,359,61,2),(529,360,61,2),(530,361,61,2),(532,362,61,2),(533,363,61,2),(534,364,61,2),(536,365,61,2),(537,366,61,2),(539,367,61,2),(541,368,61,2),(542,369,61,2),(543,370,61,2),(545,371,61,2),(547,372,61,2),(549,373,61,2),(551,374,61,2),(552,375,61,2),(553,376,61,2),(554,377,61,2),(555,378,61,2),(556,379,61,2),(558,380,61,2),(560,381,61,2),(562,382,61,2),(564,383,61,2),(565,384,61,2),(567,385,61,2),(568,386,61,2),(569,387,61,2),(570,388,61,2),(572,389,61,2),(573,389,61,3),(574,390,61,2),(575,391,61,2),(576,392,61,2),(578,393,61,2),(580,394,61,2),(582,395,61,2),(583,396,61,2),(584,397,61,2),(585,398,61,2),(587,399,61,2),(588,400,61,2),(589,401,61,2),(590,402,61,2),(591,403,61,2),(593,404,61,2),(595,405,61,2),(596,406,61,2),(597,407,61,2),(599,408,61,2),(601,409,61,2),(603,410,61,2),(604,411,61,2),(606,412,61,2),(608,413,61,2),(609,414,61,2),(610,415,61,2),(612,416,61,2),(614,417,61,2),(615,418,61,2),(617,419,61,2),(618,420,61,2),(620,421,61,2),(621,422,61,2),(622,423,61,2),(623,424,61,2),(625,425,61,2),(626,426,61,2),(627,427,61,2),(628,428,61,2),(629,429,61,2),(630,430,61,2),(631,431,61,2),(632,432,61,2),(633,433,61,2),(634,434,61,2),(635,435,61,2),(637,436,61,2),(639,437,61,2),(641,438,61,2),(643,439,61,2),(645,440,61,2),(646,441,61,2),(647,442,61,2),(649,443,61,2),(651,444,61,2),(653,445,61,2),(654,446,61,2),(655,447,61,2),(657,448,61,2),(659,449,61,2),(660,450,61,2),(689,478,61,2),(710,499,61,2),(126,85,62,3),(470,321,62,3),(83,57,63,3),(249,165,63,3),(411,278,63,3),(492,336,63,3),(767,556,63,2),(1,1,64,2),(3,2,64,2),(5,3,64,2),(7,4,64,2),(9,5,64,2),(10,6,64,2),(11,7,64,2),(13,8,64,2),(14,9,64,2),(15,10,64,2),(17,11,64,2),(19,12,64,2),(20,13,64,2),(22,14,64,2),(24,15,64,2),(25,16,64,2),(26,17,64,2),(28,18,64,2),(30,19,64,2),(31,20,64,2),(32,21,64,2),(34,22,64,2),(36,23,64,2),(37,24,64,2),(39,25,64,2),(40,26,64,2),(42,27,64,2),(43,28,64,2),(45,29,64,2),(46,30,64,2),(47,31,64,2),(49,32,64,2),(50,33,64,2),(51,34,64,2),(52,35,64,2),(53,36,64,2),(54,37,64,2),(56,38,64,2),(58,39,64,2),(59,40,64,2),(61,41,64,2),(62,42,64,2),(64,43,64,2),(65,44,64,2),(66,45,64,2),(68,46,64,2),(69,47,64,2),(70,48,64,2),(71,49,64,2),(73,50,64,2),(74,51,64,2),(76,52,64,2),(77,53,64,2),(78,54,64,2),(79,55,64,2),(81,56,64,2),(82,57,64,2),(84,58,64,2),(85,59,64,2),(86,60,64,2),(88,61,64,2),(90,62,64,2),(91,63,64,2),(93,64,64,2),(95,65,64,2),(97,66,64,2),(98,67,64,2),(99,68,64,2),(101,69,64,2),(102,70,64,2),(103,71,64,2),(105,72,64,2),(106,73,64,2),(108,74,64,2),(109,75,64,2),(110,76,64,2),(112,77,64,2),(114,78,64,2),(115,79,64,2),(117,80,64,2),(119,81,64,2),(120,82,64,2),(122,83,64,2),(124,84,64,2),(125,85,64,2),(127,86,64,2),(129,87,64,2),(131,88,64,2),(133,89,64,2),(134,90,64,2),(135,91,64,2),(137,92,64,2),(139,93,64,2),(140,94,64,2),(142,95,64,2),(144,96,64,2),(146,97,64,2),(148,98,64,2),(149,99,64,2),(150,100,64,2),(152,101,64,2),(153,102,64,2),(154,103,64,2),(156,104,64,2),(158,105,64,2),(160,106,64,2),(162,107,64,2),(163,108,64,2),(165,109,64,2),(167,110,64,2),(168,111,64,2),(169,112,64,2),(170,113,64,2),(171,114,64,2),(172,114,64,3),(173,115,64,2),(174,116,64,2),(176,117,64,2),(177,118,64,2),(179,119,64,2),(181,120,64,2),(183,121,64,2),(184,122,64,2),(185,123,64,2),(186,124,64,2),(187,125,64,2),(189,126,64,2),(191,127,64,2),(192,128,64,2),(194,129,64,2),(196,130,64,2),(198,131,64,2),(199,132,64,2),(201,133,64,2),(202,134,64,2),(203,135,64,2),(205,136,64,2),(206,137,64,2),(208,138,64,2),(210,139,64,2),(212,140,64,2),(214,141,64,2),(215,142,64,2),(217,143,64,2),(219,144,64,2),(220,145,64,2),(221,146,64,2),(222,147,64,2),(223,148,64,2),(224,149,64,2),(226,150,64,2),(295,196,64,3),(535,364,64,3),(561,381,64,3),(703,492,64,2),(717,506,64,2),(178,118,65,3),(421,286,65,3),(571,388,65,3),(358,241,66,3),(431,293,66,3),(437,297,66,3),(765,554,66,2),(29,18,67,3),(44,28,67,3),(166,109,68,3),(182,120,68,3),(218,143,68,3),(279,186,68,3),(467,319,68,3),(598,407,68,3),(702,491,68,2),(732,521,68,2),(55,37,69,3),(300,199,69,3),(401,272,70,3),(600,408,70,3),(774,563,70,2),(8,4,71,3),(671,460,71,2),(693,482,71,2),(712,501,71,2),(33,21,72,3),(48,31,72,3),(204,135,72,3),(180,119,73,3),(531,361,73,3),(143,95,74,3),(233,155,74,3),(507,346,75,3),(577,392,75,3),(644,439,75,3),(592,403,76,3),(773,562,76,2),(524,356,77,3),(559,380,77,3),(696,485,77,2),(734,523,77,2),(104,71,78,3),(272,182,78,3),(563,382,78,3),(652,444,78,3),(16,10,79,3),(392,266,79,3),(516,351,79,3),(756,545,79,2),(155,103,80,3),(331,220,80,3),(624,424,80,3),(586,398,81,3),(679,468,81,2),(721,510,81,2),(12,7,82,3),(668,457,82,2),(770,559,82,2),(478,327,83,3),(607,412,84,3),(743,532,84,2),(190,126,86,3),(164,108,87,3),(360,242,87,3),(23,14,88,3),(350,235,88,3),(782,571,88,2),(509,347,89,3),(157,104,90,3),(458,313,90,3),(511,348,90,3),(550,373,90,3),(686,475,90,2),(725,514,90,2),(111,76,92,3),(347,233,92,3),(399,271,92,3),(669,458,92,2),(211,139,94,3),(303,201,94,3),(701,490,94,2),(716,505,94,2),(502,342,95,3),(748,537,96,2),(2,1,97,3),(428,291,97,3),(463,316,97,3),(750,539,97,2),(145,96,98,3),(489,334,98,3),(538,366,98,3),(776,565,98,2),(496,338,99,3),(528,359,99,3),(638,436,99,3),(100,68,100,3),(151,100,100,3),(287,191,100,3),(89,61,101,3),(193,128,101,3),(772,561,101,2),(777,566,104,2),(755,544,108,2),(762,551,110,2),(685,474,111,2),(733,522,111,2),(227,151,114,2),(228,152,114,2),(229,153,114,2),(230,154,114,2),(232,155,114,2),(234,156,114,2),(235,157,114,2),(237,158,114,2),(238,159,114,2),(240,160,114,2),(242,161,114,2),(243,162,114,2),(245,163,114,2),(246,164,114,2),(248,165,114,2),(250,166,114,2),(251,167,114,2),(252,168,114,2),(254,169,114,2),(255,170,114,2),(256,171,114,2),(257,172,114,2),(258,173,114,2),(259,174,114,2),(261,175,114,2),(263,176,114,2),(264,177,114,2),(266,178,114,2),(267,179,114,2),(268,180,114,2),(269,181,114,2),(271,182,114,2),(273,183,114,2),(275,184,114,2),(276,185,114,2),(278,186,114,2),(280,187,114,2),(281,188,114,2),(282,189,114,2),(284,190,114,2),(286,191,114,2),(288,192,114,2),(290,193,114,2),(292,194,114,2),(293,195,114,2),(294,196,114,2),(296,197,114,2),(298,198,114,2),(299,199,114,2),(301,200,114,2),(302,201,114,2),(304,202,114,2),(305,203,114,2),(307,204,114,2),(308,205,114,2),(310,206,114,2),(311,207,114,2),(313,208,114,2),(315,209,114,2),(316,210,114,2),(318,211,114,2),(319,212,114,2),(321,213,114,2),(322,214,114,2),(323,215,114,2),(324,216,114,2),(325,217,114,2),(326,218,114,2),(328,219,114,2),(330,220,114,2),(332,221,114,2),(333,222,114,2),(334,223,114,2),(335,224,114,2),(336,225,114,2),(337,226,114,2),(338,227,114,2),(339,228,114,2),(340,229,114,2),(342,230,114,2),(343,231,114,2),(345,232,114,2),(346,233,114,2),(348,234,114,2),(349,235,114,2),(351,236,114,2),(352,237,114,2),(353,238,114,2),(354,239,114,2),(356,240,114,2),(357,241,114,2),(359,242,114,2),(361,243,114,2),(363,244,114,2),(365,245,114,2),(366,246,114,2),(367,247,114,2),(368,248,114,2),(370,249,114,2),(372,250,114,2),(373,251,114,2),(374,252,114,2),(375,253,114,2),(376,254,114,2),(377,255,114,2),(378,256,114,2),(380,257,114,2),(381,258,114,2),(382,259,114,2),(383,260,114,2),(384,261,114,2),(386,262,114,2),(387,263,114,2),(388,264,114,2),(389,265,114,2),(391,266,114,2),(393,267,114,2),(394,268,114,2),(396,269,114,2),(397,270,114,2),(398,271,114,2),(400,272,114,2),(402,273,114,2),(404,274,114,2),(405,275,114,2),(407,276,114,2),(409,277,114,2),(410,278,114,2),(412,279,114,2),(413,280,114,2),(414,281,114,2),(416,282,114,2),(417,283,114,2),(418,284,114,2),(419,285,114,2),(420,286,114,2),(422,287,114,2),(424,288,114,2),(425,289,114,2),(426,290,114,2),(427,291,114,2),(429,292,114,2),(430,293,114,2),(432,294,114,2),(434,295,114,2),(435,296,114,2),(436,297,114,2),(438,298,114,2),(439,299,114,2),(440,300,114,2),(700,489,118,2),(731,520,118,2),(753,542,119,2),(781,570,121,2),(739,528,124,2),(691,480,125,2),(711,500,125,2),(766,555,125,2),(678,467,126,2),(720,509,126,2),(699,488,129,2),(730,519,129,2),(754,543,129,2),(763,552,132,2),(761,550,133,2),(697,486,135,2),(715,504,135,2),(757,546,137,2),(759,548,139,2),(775,564,141,2),(751,540,145,2),(784,573,150,2),(684,473,151,2),(724,513,151,2),(749,538,154,2),(692,481,157,2),(728,517,157,2),(683,472,160,2),(708,497,160,2),(771,560,164,2),(681,470,168,2),(707,496,168,2),(746,535,169,2),(704,493,174,2),(718,507,174,2),(690,479,175,2),(727,516,175,2),(778,567,177,2),(675,464,181,2),(705,494,181,2),(740,529,183,2),(688,477,184,2),(726,515,184,2),(676,465,188,2),(719,508,188,2),(747,536,188,2),(736,525,189,2),(698,487,195,2),(729,518,195,2),(764,553,198,2);
+INSERT INTO `civicrm_activity_contact` (`id`, `activity_id`, `contact_id`, `record_type_id`) VALUES (22,17,1,3),(578,376,1,3),(773,535,1,2),(246,167,2,3),(349,229,2,3),(540,352,2,3),(556,362,2,3),(689,451,2,2),(287,193,3,3),(794,556,3,2),(446,293,4,3),(499,325,4,3),(631,410,4,3),(690,452,4,2),(724,486,4,2),(743,505,4,2),(790,552,4,2),(52,37,5,3),(293,196,5,3),(144,100,6,3),(691,453,6,2),(559,364,7,3),(805,567,7,2),(103,73,8,3),(151,104,8,3),(372,245,8,3),(692,454,8,2),(222,152,9,3),(502,327,9,3),(537,350,9,3),(704,466,9,2),(733,495,9,2),(426,280,10,3),(457,299,10,3),(713,475,10,2),(751,513,10,2),(189,129,11,3),(351,230,11,3),(508,331,11,3),(807,569,11,2),(261,176,12,3),(403,266,12,3),(430,283,12,3),(716,478,12,2),(739,501,12,2),(806,568,12,2),(165,113,13,3),(136,95,14,3),(269,181,14,3),(291,195,14,3),(465,304,14,3),(688,450,14,3),(146,101,15,3),(324,215,15,3),(725,487,15,2),(756,518,15,2),(693,455,16,2),(633,411,17,3),(232,159,18,3),(444,292,18,3),(720,482,18,2),(741,503,18,2),(802,564,18,2),(220,151,19,2),(221,152,19,2),(223,153,19,2),(224,154,19,2),(226,155,19,2),(227,156,19,2),(229,157,19,2),(230,158,19,2),(231,159,19,2),(233,160,19,2),(234,161,19,2),(236,162,19,2),(238,163,19,2),(239,164,19,2),(241,165,19,2),(243,166,19,2),(245,167,19,2),(247,168,19,2),(249,169,19,2),(250,170,19,2),(251,171,19,2),(252,172,19,2),(254,173,19,2),(256,174,19,2),(258,175,19,2),(260,176,19,2),(262,177,19,2),(263,178,19,2),(265,179,19,2),(266,180,19,2),(268,181,19,2),(270,182,19,2),(272,183,19,2),(273,184,19,2),(274,185,19,2),(276,186,19,2),(277,187,19,2),(278,188,19,2),(280,189,19,2),(282,190,19,2),(284,191,19,2),(285,192,19,2),(286,193,19,2),(288,194,19,2),(290,195,19,2),(292,196,19,2),(294,197,19,2),(296,198,19,2),(298,199,19,2),(300,200,19,2),(302,201,19,2),(304,202,19,2),(306,203,19,2),(307,204,19,2),(309,205,19,2),(311,206,19,2),(312,207,19,2),(314,208,19,2),(315,209,19,2),(317,210,19,2),(318,211,19,2),(319,212,19,2),(320,213,19,2),(321,214,19,2),(323,215,19,2),(325,216,19,2),(327,217,19,2),(329,218,19,2),(331,219,19,2),(333,220,19,2),(335,221,19,2),(336,221,19,3),(337,222,19,2),(339,223,19,2),(340,224,19,2),(341,225,19,2),(343,226,19,2),(345,227,19,2),(346,228,19,2),(348,229,19,2),(350,230,19,2),(352,231,19,2),(354,232,19,2),(355,233,19,2),(356,234,19,2),(357,235,19,2),(358,236,19,2),(360,237,19,2),(361,238,19,2),(363,239,19,2),(364,240,19,2),(366,241,19,2),(367,242,19,2),(369,243,19,2),(370,244,19,2),(371,245,19,2),(373,246,19,2),(374,247,19,2),(376,248,19,2),(378,249,19,2),(379,250,19,2),(380,251,19,2),(382,252,19,2),(383,253,19,2),(384,254,19,2),(386,255,19,2),(388,256,19,2),(389,257,19,2),(390,258,19,2),(392,259,19,2),(394,260,19,2),(395,261,19,2),(396,262,19,2),(397,263,19,2),(399,264,19,2),(401,265,19,2),(402,266,19,2),(404,267,19,2),(405,268,19,2),(406,269,19,2),(407,270,19,2),(409,271,19,2),(411,272,19,2),(413,273,19,2),(414,274,19,2),(415,275,19,2),(416,275,19,3),(417,276,19,2),(419,277,19,2),(421,278,19,2),(423,279,19,2),(425,280,19,2),(427,281,19,2),(428,282,19,2),(429,283,19,2),(431,284,19,2),(433,285,19,2),(434,286,19,2),(436,287,19,2),(438,288,19,2),(439,289,19,2),(440,290,19,2),(442,291,19,2),(443,292,19,2),(445,293,19,2),(447,294,19,2),(449,295,19,2),(451,296,19,2),(453,297,19,2),(455,298,19,2),(456,299,19,2),(458,300,19,2),(694,456,19,2),(161,110,20,3),(480,312,20,3),(554,361,20,3),(777,539,20,2),(344,226,21,3),(484,315,21,3),(117,83,23,3),(228,156,23,3),(381,251,23,3),(774,536,23,2),(368,242,25,3),(271,182,26,3),(301,200,26,3),(342,225,26,3),(637,413,26,3),(177,122,27,3),(398,263,27,3),(475,309,27,3),(533,348,27,3),(792,554,27,2),(202,139,28,3),(504,328,28,3),(624,405,28,3),(121,86,30,3),(514,335,30,3),(522,339,30,3),(788,550,30,2),(66,45,32,3),(592,384,32,3),(700,462,32,2),(701,463,32,2),(729,491,32,2),(758,520,32,2),(216,148,33,3),(812,574,33,2),(36,26,34,3),(78,54,34,3),(207,142,34,3),(561,365,34,3),(697,459,34,2),(316,209,35,3),(671,439,35,3),(235,161,36,3),(242,165,36,3),(516,336,36,3),(210,144,37,3),(259,175,38,3),(614,399,38,3),(115,82,39,3),(518,337,39,3),(585,380,39,3),(609,396,39,3),(385,254,40,3),(54,38,41,3),(462,302,41,3),(718,480,41,2),(740,502,41,2),(156,107,42,3),(240,164,42,3),(126,89,43,3),(184,126,43,3),(375,247,43,3),(535,349,43,3),(699,461,43,2),(48,34,44,3),(74,52,44,3),(212,145,44,3),(572,371,44,3),(598,388,44,3),(170,117,45,3),(424,279,45,3),(492,321,45,3),(678,443,45,3),(84,58,46,3),(279,188,46,3),(281,189,46,3),(448,294,46,3),(248,168,47,3),(612,398,47,3),(92,65,48,3),(547,356,48,3),(420,277,49,3),(544,354,49,3),(14,12,50,3),(124,88,51,3),(347,228,51,3),(353,231,51,3),(785,547,51,2),(435,286,52,3),(710,472,52,2),(736,498,52,2),(789,551,52,2),(16,13,54,3),(646,421,54,3),(56,39,55,3),(587,381,55,3),(264,178,56,3),(338,222,57,3),(650,423,57,3),(660,431,57,3),(764,526,57,2),(134,94,58,3),(181,124,58,3),(305,202,58,3),(494,322,58,3),(653,425,59,3),(708,470,59,2),(735,497,59,2),(765,527,59,2),(195,134,60,3),(244,166,60,3),(275,185,60,3),(310,205,60,3),(565,367,60,3),(450,295,61,3),(496,323,61,3),(595,386,61,3),(799,561,61,2),(27,20,62,3),(154,106,62,3),(186,127,62,3),(486,316,62,3),(728,490,62,2),(745,507,62,2),(38,27,63,3),(174,120,63,3),(267,180,63,3),(602,391,63,3),(25,19,64,3),(32,23,64,3),(289,194,64,3),(569,369,64,3),(622,404,64,3),(106,75,67,3),(542,353,67,3),(132,93,68,3),(619,402,68,3),(804,566,68,2),(511,333,69,3),(628,408,69,3),(330,218,70,3),(589,382,70,3),(769,531,70,2),(255,173,71,3),(322,214,71,3),(567,368,71,3),(675,441,71,3),(698,460,71,2),(359,236,72,3),(684,447,72,3),(61,42,73,3),(400,264,73,3),(459,300,73,3),(667,437,73,3),(714,476,73,2),(738,500,73,2),(787,549,74,2),(583,379,75,3),(798,560,75,2),(179,123,76,3),(297,198,76,3),(362,238,76,3),(412,272,76,3),(418,276,76,3),(766,528,76,2),(58,40,77,3),(303,201,77,3),(681,445,77,3),(257,174,78,3),(391,258,78,3),(142,99,79,3),(253,172,79,3),(387,255,79,3),(581,378,79,3),(225,154,80,3),(635,412,80,3),(20,16,81,3),(149,103,81,3),(719,481,81,2),(754,516,81,2),(63,43,82,3),(95,67,82,3),(695,457,82,2),(795,557,83,2),(299,199,84,3),(616,400,84,3),(334,220,85,3),(365,240,85,3),(454,297,85,3),(460,301,85,2),(461,302,85,2),(463,303,85,2),(464,304,85,2),(466,305,85,2),(468,306,85,2),(470,307,85,2),(472,308,85,2),(474,309,85,2),(476,310,85,2),(477,311,85,2),(479,312,85,2),(481,313,85,2),(482,314,85,2),(483,315,85,2),(485,316,85,2),(487,317,85,2),(488,318,85,2),(489,319,85,2),(490,320,85,2),(491,321,85,2),(493,322,85,2),(495,323,85,2),(497,324,85,2),(498,325,85,2),(500,326,85,2),(501,327,85,2),(503,328,85,2),(505,329,85,2),(506,330,85,2),(507,331,85,2),(509,332,85,2),(510,333,85,2),(512,334,85,2),(513,335,85,2),(515,336,85,2),(517,337,85,2),(519,338,85,2),(521,339,85,2),(523,340,85,2),(524,341,85,2),(525,342,85,2),(526,343,85,2),(528,344,85,2),(529,345,85,2),(530,346,85,2),(531,347,85,2),(532,348,85,2),(534,349,85,2),(536,350,85,2),(538,351,85,2),(539,352,85,2),(541,353,85,2),(543,354,85,2),(545,355,85,2),(546,356,85,2),(548,357,85,2),(550,358,85,2),(551,359,85,2),(552,360,85,2),(553,361,85,2),(555,362,85,2),(557,363,85,2),(558,364,85,2),(560,365,85,2),(562,366,85,2),(564,367,85,2),(566,368,85,2),(568,369,85,2),(570,370,85,2),(571,371,85,2),(573,372,85,2),(574,373,85,2),(575,374,85,2),(576,375,85,2),(577,376,85,2),(579,377,85,2),(580,378,85,2),(582,379,85,2),(584,380,85,2),(586,381,85,2),(588,382,85,2),(590,383,85,2),(591,384,85,2),(593,385,85,2),(594,386,85,2),(596,387,85,2),(597,388,85,2),(599,389,85,2),(600,390,85,2),(601,391,85,2),(603,392,85,2),(604,393,85,2),(605,394,85,2),(607,395,85,2),(608,396,85,2),(610,397,85,2),(611,398,85,2),(613,399,85,2),(615,400,85,2),(617,401,85,2),(618,402,85,2),(620,403,85,2),(621,404,85,2),(623,405,85,2),(625,406,85,2),(626,407,85,2),(627,408,85,2),(629,409,85,2),(630,410,85,2),(632,411,85,2),(634,412,85,2),(636,413,85,2),(638,414,85,2),(639,415,85,2),(640,416,85,2),(641,417,85,2),(642,418,85,2),(643,419,85,2),(644,420,85,2),(645,421,85,2),(647,422,85,2),(648,422,85,3),(649,423,85,2),(651,424,85,2),(652,425,85,2),(654,426,85,2),(655,427,85,2),(656,428,85,2),(657,429,85,2),(658,430,85,2),(659,431,85,2),(661,432,85,2),(662,433,85,2),(663,434,85,2),(664,435,85,2),(665,436,85,2),(666,437,85,2),(668,438,85,2),(670,439,85,2),(672,440,85,2),(674,441,85,2),(676,442,85,2),(677,443,85,2),(679,444,85,2),(680,445,85,2),(682,446,85,2),(683,447,85,2),(685,448,85,2),(686,449,85,2),(687,450,85,2),(128,90,86,3),(81,56,87,3),(432,284,87,3),(205,141,88,3),(377,248,88,3),(198,136,89,3),(283,190,89,3),(471,307,89,3),(469,306,90,3),(237,162,91,3),(437,287,91,3),(473,308,91,3),(218,149,92,3),(696,458,92,2),(726,488,92,2),(744,506,92,2),(30,22,93,3),(295,197,93,3),(452,296,93,3),(43,30,94,3),(40,28,95,3),(308,204,95,3),(328,217,95,3),(441,290,95,3),(527,343,95,3),(606,394,95,3),(467,305,96,3),(520,338,96,3),(76,53,97,3),(140,98,97,3),(159,109,97,3),(478,311,97,3),(410,271,98,3),(669,438,98,3),(723,485,98,2),(761,523,98,2),(109,77,99,3),(393,259,99,3),(549,357,99,3),(563,366,99,3),(97,68,100,3),(326,216,100,3),(408,270,100,3),(422,278,100,3),(673,440,100,3),(5,4,101,3),(313,207,101,3),(332,219,101,3),(731,493,107,2),(759,521,107,2),(709,471,109,2),(750,512,109,2),(717,479,110,2),(753,515,110,2),(780,542,110,2),(721,483,112,2),(755,517,112,2),(767,529,113,2),(730,492,117,2),(746,508,117,2),(793,555,118,2),(778,540,119,2),(801,563,121,2),(772,534,124,2),(722,484,126,2),(742,504,126,2),(727,489,134,2),(757,519,134,2),(763,525,134,2),(775,537,139,2),(809,571,141,2),(811,573,142,2),(786,548,146,2),(712,474,147,2),(760,522,147,2),(796,558,151,2),(771,533,152,2),(706,468,154,2),(734,496,154,2),(781,543,154,2),(702,464,158,2),(732,494,158,2),(779,541,159,2),(783,545,161,2),(803,565,162,2),(703,465,164,2),(747,509,164,2),(810,572,164,2),(1,1,166,2),(2,2,166,2),(3,3,166,2),(4,4,166,2),(6,5,166,2),(7,6,166,2),(8,7,166,2),(9,8,166,2),(10,9,166,2),(11,10,166,2),(12,11,166,2),(13,12,166,2),(15,13,166,2),(17,14,166,2),(18,15,166,2),(19,16,166,2),(21,17,166,2),(23,18,166,2),(24,19,166,2),(26,20,166,2),(28,21,166,2),(29,22,166,2),(31,23,166,2),(33,24,166,2),(34,25,166,2),(35,26,166,2),(37,27,166,2),(39,28,166,2),(41,29,166,2),(42,30,166,2),(44,31,166,2),(45,32,166,2),(46,33,166,2),(47,34,166,2),(49,35,166,2),(50,36,166,2),(51,37,166,2),(53,38,166,2),(55,39,166,2),(57,40,166,2),(59,41,166,2),(60,42,166,2),(62,43,166,2),(64,44,166,2),(65,45,166,2),(67,46,166,2),(68,47,166,2),(69,48,166,2),(70,49,166,2),(71,50,166,2),(72,51,166,2),(73,52,166,2),(75,53,166,2),(77,54,166,2),(79,55,166,2),(80,56,166,2),(82,57,166,2),(83,58,166,2),(85,59,166,2),(86,60,166,2),(87,61,166,2),(88,62,166,2),(89,63,166,2),(90,64,166,2),(91,65,166,2),(93,66,166,2),(94,67,166,2),(96,68,166,2),(98,69,166,2),(99,70,166,2),(100,71,166,2),(101,72,166,2),(102,73,166,2),(104,74,166,2),(105,75,166,2),(107,76,166,2),(108,77,166,2),(110,78,166,2),(111,79,166,2),(112,80,166,2),(113,81,166,2),(114,82,166,2),(116,83,166,2),(118,84,166,2),(119,85,166,2),(120,86,166,2),(122,87,166,2),(123,88,166,2),(125,89,166,2),(127,90,166,2),(129,91,166,2),(130,92,166,2),(131,93,166,2),(133,94,166,2),(135,95,166,2),(137,96,166,2),(138,97,166,2),(139,98,166,2),(141,99,166,2),(143,100,166,2),(145,101,166,2),(147,102,166,2),(148,103,166,2),(150,104,166,2),(152,105,166,2),(153,106,166,2),(155,107,166,2),(157,108,166,2),(158,109,166,2),(160,110,166,2),(162,111,166,2),(163,112,166,2),(164,113,166,2),(166,114,166,2),(167,115,166,2),(168,116,166,2),(169,117,166,2),(171,118,166,2),(172,119,166,2),(173,120,166,2),(175,121,166,2),(176,122,166,2),(178,123,166,2),(180,124,166,2),(182,125,166,2),(183,126,166,2),(185,127,166,2),(187,128,166,2),(188,129,166,2),(190,130,166,2),(191,131,166,2),(192,132,166,2),(193,133,166,2),(194,134,166,2),(196,135,166,2),(197,136,166,2),(199,137,166,2),(200,138,166,2),(201,139,166,2),(203,140,166,2),(204,141,166,2),(206,142,166,2),(208,143,166,2),(209,144,166,2),(211,145,166,2),(213,146,166,2),(214,147,166,2),(215,148,166,2),(217,149,166,2),(219,150,166,2),(770,532,171,2),(707,469,173,2),(749,511,173,2),(791,553,173,2),(705,467,174,2),(748,510,174,2),(768,530,177,2),(782,544,180,2),(784,546,183,2),(711,473,185,2),(737,499,185,2),(797,559,188,2),(715,477,190,2),(752,514,190,2),(800,562,197,2),(776,538,198,2),(808,570,199,2);
 /*!40000 ALTER TABLE `civicrm_activity_contact` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -107,7 +107,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_address` WRITE;
 /*!40000 ALTER TABLE `civicrm_address` DISABLE KEYS */;
-INSERT INTO `civicrm_address` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `street_address`, `street_number`, `street_number_suffix`, `street_number_predirectional`, `street_name`, `street_type`, `street_number_postdirectional`, `street_unit`, `supplemental_address_1`, `supplemental_address_2`, `supplemental_address_3`, `city`, `county_id`, `state_province_id`, `postal_code_suffix`, `postal_code`, `usps_adc`, `country_id`, `geo_code_1`, `geo_code_2`, `manual_geo_code`, `timezone`, `name`, `master_id`) VALUES (1,54,1,1,0,'829U Second Path N',829,'U',NULL,'Second','Path','N',NULL,NULL,NULL,NULL,'Buckman',1,1022,NULL,'56317',NULL,1228,46.061307,-94.208731,0,NULL,NULL,NULL),(2,103,1,1,0,'316T Lincoln Pl NE',316,'T',NULL,'Lincoln','Pl','NE',NULL,NULL,NULL,NULL,'Opelika',1,1000,NULL,'36802',NULL,1228,32.578185,-85.349003,0,NULL,NULL,NULL),(3,195,1,1,0,'957G Beech Way NE',957,'G',NULL,'Beech','Way','NE',NULL,NULL,NULL,NULL,'Parlin',1,1029,NULL,'08859',NULL,1228,40.461851,-74.30343,0,NULL,NULL,NULL),(4,91,1,1,0,'476A Pine Ave SW',476,'A',NULL,'Pine','Ave','SW',NULL,NULL,NULL,NULL,'Florissant',1,1024,NULL,'63034',NULL,1228,38.832863,-90.29051,0,NULL,NULL,NULL),(5,172,1,1,0,'889U States Ln N',889,'U',NULL,'States','Ln','N',NULL,NULL,NULL,NULL,'Modesto',1,1004,NULL,'95357',NULL,1228,37.667196,-120.9061,0,NULL,NULL,NULL),(6,147,1,1,0,'458B Martin Luther King Rd SW',458,'B',NULL,'Martin Luther King','Rd','SW',NULL,NULL,NULL,NULL,'Huntington',1,1047,NULL,'25702',NULL,1228,38.431116,-82.37019,0,NULL,NULL,NULL),(7,113,1,1,0,'680Y El Camino Way S',680,'Y',NULL,'El Camino','Way','S',NULL,NULL,NULL,NULL,'Salem',1,1036,NULL,'97313',NULL,1228,44.984941,-122.998756,0,NULL,NULL,NULL),(8,59,1,1,0,'699C States Blvd SW',699,'C',NULL,'States','Blvd','SW',NULL,NULL,NULL,NULL,'Union',1,1012,NULL,'60180',NULL,1228,42.229437,-88.52606,0,NULL,NULL,NULL),(9,117,1,1,0,'744C Second Ave NE',744,'C',NULL,'Second','Ave','NE',NULL,NULL,NULL,NULL,'Easton',1,1022,NULL,'56025',NULL,1228,43.764111,-93.90534,0,NULL,NULL,NULL),(10,199,1,1,0,'469U College Pl SE',469,'U',NULL,'College','Pl','SE',NULL,NULL,NULL,NULL,'Parma',1,1024,NULL,'63870',NULL,1228,36.611902,-89.83489,0,NULL,NULL,NULL),(11,125,1,1,0,'994P Bay Ln E',994,'P',NULL,'Bay','Ln','E',NULL,NULL,NULL,NULL,'Houston',1,1042,NULL,'77059',NULL,1228,29.601776,-95.11734,0,NULL,NULL,NULL),(12,67,1,1,0,'414E Main Rd SW',414,'E',NULL,'Main','Rd','SW',NULL,NULL,NULL,NULL,'Port Republic',1,1045,NULL,'24471',NULL,1228,38.310311,-78.80409,0,NULL,NULL,NULL),(13,157,1,1,0,'838N Main Dr SE',838,'N',NULL,'Main','Dr','SE',NULL,NULL,NULL,NULL,'Lake Toxaway',1,1032,NULL,'28747',NULL,1228,35.146004,-82.92258,0,NULL,NULL,NULL),(14,6,1,1,0,'267Z Green Ave S',267,'Z',NULL,'Green','Ave','S',NULL,NULL,NULL,NULL,'Bucklin',1,1015,NULL,'67834',NULL,1228,37.523175,-99.63435,0,NULL,NULL,NULL),(15,94,1,1,0,'1V Maple St SE',1,'V',NULL,'Maple','St','SE',NULL,NULL,NULL,NULL,'Umbarger',1,1042,NULL,'79091',NULL,1228,34.938094,-102.11087,0,NULL,NULL,NULL),(16,149,1,1,0,'881Z El Camino Ave N',881,'Z',NULL,'El Camino','Ave','N',NULL,NULL,NULL,NULL,'Atlanta',1,1009,NULL,'30360',NULL,1228,33.934536,-84.27215,0,NULL,NULL,NULL),(17,57,1,1,0,'143G Second Ln SE',143,'G',NULL,'Second','Ln','SE',NULL,NULL,NULL,NULL,'Stratford',1,1006,NULL,'06497',NULL,1228,41.207146,-73.130503,0,NULL,NULL,NULL),(18,112,1,1,0,'284C Woodbridge Rd N',284,'C',NULL,'Woodbridge','Rd','N',NULL,NULL,NULL,NULL,'Arecibo',1,1056,NULL,'00612',NULL,1228,18.449732,-66.69879,0,NULL,NULL,NULL),(19,139,1,1,0,'650T Maple Ln N',650,'T',NULL,'Maple','Ln','N',NULL,NULL,NULL,NULL,'Brownstown',1,1046,NULL,'98920',NULL,1228,46.56451,-120.694658,0,NULL,NULL,NULL),(20,58,1,1,0,'726P Jackson Rd NW',726,'P',NULL,'Jackson','Rd','NW',NULL,NULL,NULL,NULL,'Hopland',1,1004,NULL,'95449',NULL,1228,38.955142,-123.08125,0,NULL,NULL,NULL),(21,18,1,1,0,'728J States Path SW',728,'J',NULL,'States','Path','SW',NULL,NULL,NULL,NULL,'Arley',1,1000,NULL,'35541',NULL,1228,34.059527,-87.18344,0,NULL,NULL,NULL),(22,161,1,1,0,'820R Jackson Pl E',820,'R',NULL,'Jackson','Pl','E',NULL,NULL,NULL,NULL,'Waxhaw',1,1032,NULL,'28173',NULL,1228,34.929433,-80.73061,0,NULL,NULL,NULL),(23,98,1,1,0,'806M Second Blvd N',806,'M',NULL,'Second','Blvd','N',NULL,NULL,NULL,NULL,'Humarock',1,1020,NULL,'02047',NULL,1228,42.142836,-70.69353,0,NULL,NULL,NULL),(24,140,1,1,0,'655Y Second Way S',655,'Y',NULL,'Second','Way','S',NULL,NULL,NULL,NULL,'Minisink Hills',1,1037,NULL,'18341',NULL,1228,40.999857,-75.13254,0,NULL,NULL,NULL),(25,47,1,1,0,'248G Bay Way E',248,'G',NULL,'Bay','Way','E',NULL,NULL,NULL,NULL,'Woody',1,1004,NULL,'93287',NULL,1228,35.702936,-118.8844,0,NULL,NULL,NULL),(26,65,1,1,0,'141M Second Way N',141,'M',NULL,'Second','Way','N',NULL,NULL,NULL,NULL,'Walnut Creek',1,1004,NULL,'94596',NULL,1228,37.905924,-122.05858,0,NULL,NULL,NULL),(27,44,1,1,0,'162N Cadell Rd S',162,'N',NULL,'Cadell','Rd','S',NULL,NULL,NULL,NULL,'Alakanuk',1,1001,NULL,'99554',NULL,1228,62.683391,-164.65455,0,NULL,NULL,NULL),(28,185,1,1,0,'362N Main Rd SW',362,'N',NULL,'Main','Rd','SW',NULL,NULL,NULL,NULL,'Hatillo',1,1056,NULL,'00659',NULL,1228,18.432956,-66.80039,0,NULL,NULL,NULL),(29,28,1,1,0,'955R Jackson Dr NW',955,'R',NULL,'Jackson','Dr','NW',NULL,NULL,NULL,NULL,'Bloomer',1,1048,NULL,'54724',NULL,1228,45.101683,-91.48415,0,NULL,NULL,NULL),(30,119,1,1,0,'967O Northpoint Ln SW',967,'O',NULL,'Northpoint','Ln','SW',NULL,NULL,NULL,NULL,'Garner',1,1032,NULL,'27529',NULL,1228,35.679194,-78.60246,0,NULL,NULL,NULL),(31,123,1,1,0,'238I Main Ave W',238,'I',NULL,'Main','Ave','W',NULL,NULL,NULL,NULL,'Manchester',1,1028,NULL,'03111',NULL,1228,42.952124,-71.653939,0,NULL,NULL,NULL),(32,163,1,1,0,'432Q Dowlen Path SE',432,'Q',NULL,'Dowlen','Path','SE',NULL,NULL,NULL,NULL,'Cottageville',1,1047,NULL,'25239',NULL,1228,38.851872,-81.84501,0,NULL,NULL,NULL),(33,51,1,1,0,'154U Main Blvd E',154,'U',NULL,'Main','Blvd','E',NULL,NULL,NULL,NULL,'Heron',1,1025,NULL,'59844',NULL,1228,48.03036,-115.96844,0,NULL,NULL,NULL),(34,76,1,1,0,'654F Pine Rd NE',654,'F',NULL,'Pine','Rd','NE',NULL,NULL,NULL,NULL,'Washington',1,1050,NULL,'20403',NULL,1228,38.893311,-77.014647,0,NULL,NULL,NULL),(35,153,1,1,0,'911M Beech Ln NE',911,'M',NULL,'Beech','Ln','NE',NULL,NULL,NULL,NULL,'Lacona',1,1031,NULL,'13083',NULL,1228,43.647881,-76.0167,0,NULL,NULL,NULL),(36,126,1,1,0,'667N Lincoln Dr W',667,'N',NULL,'Lincoln','Dr','W',NULL,NULL,NULL,NULL,'Holmes',1,1037,NULL,'19043',NULL,1228,39.899812,-75.30893,0,NULL,NULL,NULL),(37,155,1,1,0,'124Q Caulder St E',124,'Q',NULL,'Caulder','St','E',NULL,NULL,NULL,NULL,'McDonald',1,1034,NULL,'44437',NULL,1228,41.159574,-80.73083,0,NULL,NULL,NULL),(38,55,1,1,0,'378T Cadell Ave NW',378,'T',NULL,'Cadell','Ave','NW',NULL,NULL,NULL,NULL,'The Villages',1,1008,NULL,'32162',NULL,1228,28.945246,-81.987609,0,NULL,NULL,NULL),(39,146,1,1,0,'90K Jackson Rd W',90,'K',NULL,'Jackson','Rd','W',NULL,NULL,NULL,NULL,'Kit Carson',1,1004,NULL,'95644',NULL,1228,38.463282,-120.550021,0,NULL,NULL,NULL),(40,5,1,1,0,'736H Maple Way N',736,'H',NULL,'Maple','Way','N',NULL,NULL,NULL,NULL,'Chebanse',1,1012,NULL,'60922',NULL,1228,41.005603,-87.90649,0,NULL,NULL,NULL),(41,118,1,1,0,'35Y Cadell Dr NE',35,'Y',NULL,'Cadell','Dr','NE',NULL,NULL,NULL,NULL,'Wyaconda',1,1024,NULL,'63474',NULL,1228,40.354422,-91.91063,0,NULL,NULL,NULL),(42,145,1,1,0,'762M Bay Rd NE',762,'M',NULL,'Bay','Rd','NE',NULL,NULL,NULL,NULL,'Weir',1,1015,NULL,'66781',NULL,1228,37.300262,-94.75259,0,NULL,NULL,NULL),(43,13,1,1,0,'716F Maple Way NE',716,'F',NULL,'Maple','Way','NE',NULL,NULL,NULL,NULL,'Seelyville',1,1013,NULL,'47878',NULL,1228,39.492838,-87.266549,0,NULL,NULL,NULL),(44,175,1,1,0,'443W Pine Ln E',443,'W',NULL,'Pine','Ln','E',NULL,NULL,NULL,NULL,'Pennington',1,1042,NULL,'75856',NULL,1228,31.21349,-95.23475,0,NULL,NULL,NULL),(45,160,1,1,0,'832G Bay Ln S',832,'G',NULL,'Bay','Ln','S',NULL,NULL,NULL,NULL,'Maida',1,1033,NULL,'58255',NULL,1228,48.999101,-98.35241,0,NULL,NULL,NULL),(46,156,1,1,0,'163B Van Ness Blvd N',163,'B',NULL,'Van Ness','Blvd','N',NULL,NULL,NULL,NULL,'Cloutierville',1,1017,NULL,'71416',NULL,1228,31.541077,-92.89842,0,NULL,NULL,NULL),(47,166,1,1,0,'390M Main Rd SW',390,'M',NULL,'Main','Rd','SW',NULL,NULL,NULL,NULL,'Aptos',1,1004,NULL,'95001',NULL,1228,37.05297,-121.949418,0,NULL,NULL,NULL),(48,162,1,1,0,'123M Bay Rd NW',123,'M',NULL,'Bay','Rd','NW',NULL,NULL,NULL,NULL,'Bowerston',1,1034,NULL,'44695',NULL,1228,40.433246,-81.18764,0,NULL,NULL,NULL),(49,136,1,1,0,'835I Main Path SE',835,'I',NULL,'Main','Path','SE',NULL,NULL,NULL,NULL,'Milford',1,1021,NULL,'48381',NULL,1228,42.571402,-83.59318,0,NULL,NULL,NULL),(50,96,1,1,0,'392R Cadell Dr E',392,'R',NULL,'Cadell','Dr','E',NULL,NULL,NULL,NULL,'Warren',1,1037,NULL,'16367',NULL,1228,41.811682,-79.264322,0,NULL,NULL,NULL),(51,33,1,1,0,'813B Martin Luther King Dr SE',813,'B',NULL,'Martin Luther King','Dr','SE',NULL,NULL,NULL,NULL,'Bensenville',1,1012,NULL,'60106',NULL,1228,41.956479,-87.95117,0,NULL,NULL,NULL),(52,158,1,1,0,'175L Dowlen Way SE',175,'L',NULL,'Dowlen','Way','SE',NULL,NULL,NULL,NULL,'Proctor',1,1047,NULL,'26055',NULL,1228,39.768143,-80.79867,0,NULL,NULL,NULL),(53,102,1,1,0,'857L Maple St NE',857,'L',NULL,'Maple','St','NE',NULL,NULL,NULL,NULL,'Trimont',1,1022,NULL,'56176',NULL,1228,43.771341,-94.72593,0,NULL,NULL,NULL),(54,79,1,1,0,'655T Second Way NE',655,'T',NULL,'Second','Way','NE',NULL,NULL,NULL,NULL,'Hughesville',1,1019,NULL,'20637',NULL,1228,38.523408,-76.75435,0,NULL,NULL,NULL),(55,148,1,1,0,'412O El Camino Ln N',412,'O',NULL,'El Camino','Ln','N',NULL,NULL,NULL,NULL,'Bock',1,1022,NULL,'56313',NULL,1228,45.785883,-93.55343,0,NULL,NULL,NULL),(56,23,1,1,0,'605T Pine Path S',605,'T',NULL,'Pine','Path','S',NULL,NULL,NULL,NULL,'Nursery',1,1042,NULL,'77976',NULL,1228,28.954273,-97.090604,0,NULL,NULL,NULL),(57,180,1,1,0,'12K Northpoint Dr W',12,'K',NULL,'Northpoint','Dr','W',NULL,NULL,NULL,NULL,'Barstow',1,1004,NULL,'92311',NULL,1228,34.894181,-117.03636,0,NULL,NULL,NULL),(58,201,1,1,0,'638H Woodbridge St SW',638,'H',NULL,'Woodbridge','St','SW',NULL,NULL,NULL,NULL,'Urbana',1,1014,NULL,'52345',NULL,1228,42.222388,-91.87908,0,NULL,NULL,NULL),(59,25,1,1,0,'19Z Green Ave NW',19,'Z',NULL,'Green','Ave','NW',NULL,NULL,NULL,NULL,'North Brunswick',1,1029,NULL,'08902',NULL,1228,40.453131,-74.48287,0,NULL,NULL,NULL),(60,95,1,1,0,'682O Bay Pl NW',682,'O',NULL,'Bay','Pl','NW',NULL,NULL,NULL,NULL,'Williamston',1,1021,NULL,'48895',NULL,1228,42.68669,-84.27844,0,NULL,NULL,NULL),(61,130,1,1,0,'941F Green Pl SW',941,'F',NULL,'Green','Pl','SW',NULL,NULL,NULL,NULL,'Hernando',1,1023,NULL,'38632',NULL,1228,34.811777,-90.01917,0,NULL,NULL,NULL),(62,100,1,1,0,'630Q Martin Luther King Blvd NE',630,'Q',NULL,'Martin Luther King','Blvd','NE',NULL,NULL,NULL,NULL,'Millbury',1,1020,NULL,'01527',NULL,1228,42.196144,-71.76272,0,NULL,NULL,NULL),(63,89,1,1,0,'491Y Beech Dr N',491,'Y',NULL,'Beech','Dr','N',NULL,NULL,NULL,NULL,'Diamond Springs',1,1004,NULL,'95619',NULL,1228,38.689067,-120.82071,0,NULL,NULL,NULL),(64,193,1,1,0,'139P Main Pl NW',139,'P',NULL,'Main','Pl','NW',NULL,NULL,NULL,NULL,'Wadesville',1,1013,NULL,'47638',NULL,1228,38.081681,-87.78055,0,NULL,NULL,NULL),(65,31,1,1,0,'740V Second Pl SE',740,'V',NULL,'Second','Pl','SE',NULL,NULL,NULL,NULL,'North Augusta',1,1039,NULL,'29861',NULL,1228,33.53773,-81.599891,0,NULL,NULL,NULL),(66,10,3,1,0,'469C Martin Luther King Blvd E',469,'C',NULL,'Martin Luther King','Blvd','E',NULL,'Subscriptions Dept',NULL,NULL,'La Fayette',1,1031,NULL,'13084',NULL,1228,42.883503,-76.10983,0,NULL,NULL,NULL),(67,29,2,1,0,'469C Martin Luther King Blvd E',469,'C',NULL,'Martin Luther King','Blvd','E',NULL,'Subscriptions Dept',NULL,NULL,'La Fayette',1,1031,NULL,'13084',NULL,1228,42.883503,-76.10983,0,NULL,NULL,66),(68,121,3,1,0,'429M Northpoint St W',429,'M',NULL,'Northpoint','St','W',NULL,'Mailstop 101',NULL,NULL,'Concord',1,1004,NULL,'94520',NULL,1228,37.986321,-122.03988,0,NULL,NULL,NULL),(69,106,3,1,0,'434W El Camino Path N',434,'W',NULL,'El Camino','Path','N',NULL,'Editorial Dept',NULL,NULL,'Hoopeston',1,1012,NULL,'60942',NULL,1228,40.465869,-87.66766,0,NULL,NULL,NULL),(70,72,2,1,0,'434W El Camino Path N',434,'W',NULL,'El Camino','Path','N',NULL,'Editorial Dept',NULL,NULL,'Hoopeston',1,1012,NULL,'60942',NULL,1228,40.465869,-87.66766,0,NULL,NULL,69),(71,150,3,1,0,'15G Van Ness Path NW',15,'G',NULL,'Van Ness','Path','NW',NULL,'Payables Dept.',NULL,NULL,'Pasadena',1,1019,NULL,'21123',NULL,1228,38.974203,-76.594942,0,NULL,NULL,NULL),(72,2,3,1,0,'233X States Path NW',233,'X',NULL,'States','Path','NW',NULL,'Disbursements',NULL,NULL,'Friendship',1,1019,NULL,'20758',NULL,1228,38.731822,-76.59378,0,NULL,NULL,NULL),(73,167,3,1,0,'557F Northpoint Blvd NW',557,'F',NULL,'Northpoint','Blvd','NW',NULL,'Urgent',NULL,NULL,'Colome',1,1040,NULL,'57528',NULL,1228,43.205207,-99.76123,0,NULL,NULL,NULL),(74,182,3,1,0,'148Q Cadell Ln SE',148,'Q',NULL,'Cadell','Ln','SE',NULL,'Community Relations',NULL,NULL,'Minden',1,1042,NULL,'75680',NULL,1228,32.00923,-94.71766,0,NULL,NULL,NULL),(75,200,3,1,0,'712X Maple Rd SW',712,'X',NULL,'Maple','Rd','SW',NULL,'Attn: Accounting',NULL,NULL,'Charleston',1,1039,NULL,'29415',NULL,1228,32.84885,-79.85773,0,NULL,NULL,NULL),(76,189,2,1,0,'712X Maple Rd SW',712,'X',NULL,'Maple','Rd','SW',NULL,'Attn: Accounting',NULL,NULL,'Charleston',1,1039,NULL,'29415',NULL,1228,32.84885,-79.85773,0,NULL,NULL,75),(77,52,3,1,0,'934P College Ln S',934,'P',NULL,'College','Ln','S',NULL,'Payables Dept.',NULL,NULL,'Milwaukee',1,1048,NULL,'53219',NULL,1228,42.996614,-87.99213,0,NULL,NULL,NULL),(78,144,3,1,0,'753S Caulder Pl SW',753,'S',NULL,'Caulder','Pl','SW',NULL,'Editorial Dept',NULL,NULL,'Shenandoah',1,1014,NULL,'51603',NULL,1228,40.738309,-95.149305,0,NULL,NULL,NULL),(79,91,2,0,0,'753S Caulder Pl SW',753,'S',NULL,'Caulder','Pl','SW',NULL,'Editorial Dept',NULL,NULL,'Shenandoah',1,1014,NULL,'51603',NULL,1228,40.738309,-95.149305,0,NULL,NULL,78),(80,69,3,1,0,'479A College Blvd NE',479,'A',NULL,'College','Blvd','NE',NULL,'Donor Relations',NULL,NULL,'Saint Edward',1,1026,NULL,'68660',NULL,1228,41.574309,-97.86898,0,NULL,NULL,NULL),(81,9,2,1,0,'479A College Blvd NE',479,'A',NULL,'College','Blvd','NE',NULL,'Donor Relations',NULL,NULL,'Saint Edward',1,1026,NULL,'68660',NULL,1228,41.574309,-97.86898,0,NULL,NULL,80),(82,122,3,1,0,'763E Dowlen Blvd SE',763,'E',NULL,'Dowlen','Blvd','SE',NULL,'Attn: Accounting',NULL,NULL,'Oscar',1,1035,NULL,'73561',NULL,1228,34.023916,-97.64801,0,NULL,NULL,NULL),(83,164,2,1,0,'763E Dowlen Blvd SE',763,'E',NULL,'Dowlen','Blvd','SE',NULL,'Attn: Accounting',NULL,NULL,'Oscar',1,1035,NULL,'73561',NULL,1228,34.023916,-97.64801,0,NULL,NULL,82),(84,101,3,1,0,'828Q Cadell Dr S',828,'Q',NULL,'Cadell','Dr','S',NULL,'Community Relations',NULL,NULL,'Hartford',1,1006,NULL,'06104',NULL,1228,41.791776,-72.718832,0,NULL,NULL,NULL),(85,184,2,1,0,'828Q Cadell Dr S',828,'Q',NULL,'Cadell','Dr','S',NULL,'Community Relations',NULL,NULL,'Hartford',1,1006,NULL,'06104',NULL,1228,41.791776,-72.718832,0,NULL,NULL,84),(86,50,3,1,0,'232U Green Ave SW',232,'U',NULL,'Green','Ave','SW',NULL,'Mailstop 101',NULL,NULL,'Carmel',1,1013,NULL,'46032',NULL,1228,39.970241,-86.15416,0,NULL,NULL,NULL),(87,176,3,1,0,'172F Van Ness Rd E',172,'F',NULL,'Van Ness','Rd','E',NULL,'Churchgate',NULL,NULL,'Butte',1,1025,NULL,'59701',NULL,1228,45.996957,-112.51279,0,NULL,NULL,NULL),(88,16,3,1,0,'998G Van Ness Ln NW',998,'G',NULL,'Van Ness','Ln','NW',NULL,'Attn: Accounting',NULL,NULL,'Santa Fe',1,1030,NULL,'87501',NULL,1228,35.755312,-105.99936,0,NULL,NULL,NULL),(89,49,3,1,0,'420N Main Ave N',420,'N',NULL,'Main','Ave','N',NULL,'Editorial Dept',NULL,NULL,'Truro',1,1014,NULL,'50257',NULL,1228,41.204733,-93.84553,0,NULL,NULL,NULL),(90,112,2,0,0,'420N Main Ave N',420,'N',NULL,'Main','Ave','N',NULL,'Editorial Dept',NULL,NULL,'Truro',1,1014,NULL,'50257',NULL,1228,41.204733,-93.84553,0,NULL,NULL,89),(91,152,3,1,0,'482A Dowlen Way NW',482,'A',NULL,'Dowlen','Way','NW',NULL,'Payables Dept.',NULL,NULL,'Suttons Bay',1,1021,NULL,'49682',NULL,1228,44.993085,-85.63635,0,NULL,NULL,NULL),(92,129,2,1,0,'482A Dowlen Way NW',482,'A',NULL,'Dowlen','Way','NW',NULL,'Payables Dept.',NULL,NULL,'Suttons Bay',1,1021,NULL,'49682',NULL,1228,44.993085,-85.63635,0,NULL,NULL,91),(93,27,3,1,0,'170H Lincoln Rd S',170,'H',NULL,'Lincoln','Rd','S',NULL,'Churchgate',NULL,NULL,'Oroville',1,1004,NULL,'95966',NULL,1228,39.491076,-121.49468,0,NULL,NULL,NULL),(94,19,2,1,0,'170H Lincoln Rd S',170,'H',NULL,'Lincoln','Rd','S',NULL,'Churchgate',NULL,NULL,'Oroville',1,1004,NULL,'95966',NULL,1228,39.491076,-121.49468,0,NULL,NULL,93),(95,83,3,1,0,'636V Pine Path S',636,'V',NULL,'Pine','Path','S',NULL,'Payables Dept.',NULL,NULL,'Granger',1,1024,NULL,'63442',NULL,1228,40.453333,-92.1474,0,NULL,NULL,NULL),(96,135,2,1,0,'636V Pine Path S',636,'V',NULL,'Pine','Path','S',NULL,'Payables Dept.',NULL,NULL,'Granger',1,1024,NULL,'63442',NULL,1228,40.453333,-92.1474,0,NULL,NULL,95),(97,75,1,1,0,'163B Van Ness Blvd N',163,'B',NULL,'Van Ness','Blvd','N',NULL,NULL,NULL,NULL,'Cloutierville',1,1017,NULL,'71416',NULL,1228,31.541077,-92.89842,0,NULL,NULL,46),(98,105,1,1,0,'163B Van Ness Blvd N',163,'B',NULL,'Van Ness','Blvd','N',NULL,NULL,NULL,NULL,'Cloutierville',1,1017,NULL,'71416',NULL,1228,31.541077,-92.89842,0,NULL,NULL,46),(99,71,1,1,0,'163B Van Ness Blvd N',163,'B',NULL,'Van Ness','Blvd','N',NULL,NULL,NULL,NULL,'Cloutierville',1,1017,NULL,'71416',NULL,1228,31.541077,-92.89842,0,NULL,NULL,46),(100,160,1,0,0,'571O Caulder Dr S',571,'O',NULL,'Caulder','Dr','S',NULL,NULL,NULL,NULL,'Fort Collins',1,1005,NULL,'80521',NULL,1228,40.586282,-105.10494,0,NULL,NULL,NULL),(101,88,1,1,0,'390M Main Rd SW',390,'M',NULL,'Main','Rd','SW',NULL,NULL,NULL,NULL,'Aptos',1,1004,NULL,'95001',NULL,1228,37.05297,-121.949418,0,NULL,NULL,47),(102,34,1,1,0,'390M Main Rd SW',390,'M',NULL,'Main','Rd','SW',NULL,NULL,NULL,NULL,'Aptos',1,1004,NULL,'95001',NULL,1228,37.05297,-121.949418,0,NULL,NULL,47),(103,90,1,1,0,'390M Main Rd SW',390,'M',NULL,'Main','Rd','SW',NULL,NULL,NULL,NULL,'Aptos',1,1004,NULL,'95001',NULL,1228,37.05297,-121.949418,0,NULL,NULL,47),(104,154,1,1,0,'390M Main Rd SW',390,'M',NULL,'Main','Rd','SW',NULL,NULL,NULL,NULL,'Aptos',1,1004,NULL,'95001',NULL,1228,37.05297,-121.949418,0,NULL,NULL,47),(105,64,1,1,0,'123M Bay Rd NW',123,'M',NULL,'Bay','Rd','NW',NULL,NULL,NULL,NULL,'Bowerston',1,1034,NULL,'44695',NULL,1228,40.433246,-81.18764,0,NULL,NULL,48),(106,82,1,1,0,'123M Bay Rd NW',123,'M',NULL,'Bay','Rd','NW',NULL,NULL,NULL,NULL,'Bowerston',1,1034,NULL,'44695',NULL,1228,40.433246,-81.18764,0,NULL,NULL,48),(107,108,1,1,0,'123M Bay Rd NW',123,'M',NULL,'Bay','Rd','NW',NULL,NULL,NULL,NULL,'Bowerston',1,1034,NULL,'44695',NULL,1228,40.433246,-81.18764,0,NULL,NULL,48),(108,74,1,1,0,'716K Main Ln W',716,'K',NULL,'Main','Ln','W',NULL,NULL,NULL,NULL,'Fort Lauderdale',1,1008,NULL,'33329',NULL,1228,26.145724,-80.448254,0,NULL,NULL,NULL),(109,134,1,1,0,'835I Main Path SE',835,'I',NULL,'Main','Path','SE',NULL,NULL,NULL,NULL,'Milford',1,1021,NULL,'48381',NULL,1228,42.571402,-83.59318,0,NULL,NULL,49),(110,11,1,1,0,'835I Main Path SE',835,'I',NULL,'Main','Path','SE',NULL,NULL,NULL,NULL,'Milford',1,1021,NULL,'48381',NULL,1228,42.571402,-83.59318,0,NULL,NULL,49),(111,42,1,1,0,'835I Main Path SE',835,'I',NULL,'Main','Path','SE',NULL,NULL,NULL,NULL,'Milford',1,1021,NULL,'48381',NULL,1228,42.571402,-83.59318,0,NULL,NULL,49),(112,35,1,1,0,'835I Main Path SE',835,'I',NULL,'Main','Path','SE',NULL,NULL,NULL,NULL,'Milford',1,1021,NULL,'48381',NULL,1228,42.571402,-83.59318,0,NULL,NULL,49),(113,46,1,1,0,'392R Cadell Dr E',392,'R',NULL,'Cadell','Dr','E',NULL,NULL,NULL,NULL,'Warren',1,1037,NULL,'16367',NULL,1228,41.811682,-79.264322,0,NULL,NULL,50),(114,197,1,1,0,'392R Cadell Dr E',392,'R',NULL,'Cadell','Dr','E',NULL,NULL,NULL,NULL,'Warren',1,1037,NULL,'16367',NULL,1228,41.811682,-79.264322,0,NULL,NULL,50),(115,9,1,0,0,'392R Cadell Dr E',392,'R',NULL,'Cadell','Dr','E',NULL,NULL,NULL,NULL,'Warren',1,1037,NULL,'16367',NULL,1228,41.811682,-79.264322,0,NULL,NULL,50),(116,62,1,1,0,'392R Cadell Dr E',392,'R',NULL,'Cadell','Dr','E',NULL,NULL,NULL,NULL,'Warren',1,1037,NULL,'16367',NULL,1228,41.811682,-79.264322,0,NULL,NULL,50),(117,178,1,1,0,'813B Martin Luther King Dr SE',813,'B',NULL,'Martin Luther King','Dr','SE',NULL,NULL,NULL,NULL,'Bensenville',1,1012,NULL,'60106',NULL,1228,41.956479,-87.95117,0,NULL,NULL,51),(118,45,1,1,0,'813B Martin Luther King Dr SE',813,'B',NULL,'Martin Luther King','Dr','SE',NULL,NULL,NULL,NULL,'Bensenville',1,1012,NULL,'60106',NULL,1228,41.956479,-87.95117,0,NULL,NULL,51),(119,142,1,1,0,'813B Martin Luther King Dr SE',813,'B',NULL,'Martin Luther King','Dr','SE',NULL,NULL,NULL,NULL,'Bensenville',1,1012,NULL,'60106',NULL,1228,41.956479,-87.95117,0,NULL,NULL,51),(120,20,1,1,0,'813B Martin Luther King Dr SE',813,'B',NULL,'Martin Luther King','Dr','SE',NULL,NULL,NULL,NULL,'Bensenville',1,1012,NULL,'60106',NULL,1228,41.956479,-87.95117,0,NULL,NULL,51),(121,170,1,1,0,'175L Dowlen Way SE',175,'L',NULL,'Dowlen','Way','SE',NULL,NULL,NULL,NULL,'Proctor',1,1047,NULL,'26055',NULL,1228,39.768143,-80.79867,0,NULL,NULL,52),(122,141,1,1,0,'175L Dowlen Way SE',175,'L',NULL,'Dowlen','Way','SE',NULL,NULL,NULL,NULL,'Proctor',1,1047,NULL,'26055',NULL,1228,39.768143,-80.79867,0,NULL,NULL,52),(123,190,1,1,0,'175L Dowlen Way SE',175,'L',NULL,'Dowlen','Way','SE',NULL,NULL,NULL,NULL,'Proctor',1,1047,NULL,'26055',NULL,1228,39.768143,-80.79867,0,NULL,NULL,52),(124,26,1,1,0,'175L Dowlen Way SE',175,'L',NULL,'Dowlen','Way','SE',NULL,NULL,NULL,NULL,'Proctor',1,1047,NULL,'26055',NULL,1228,39.768143,-80.79867,0,NULL,NULL,52),(125,120,1,1,0,'857L Maple St NE',857,'L',NULL,'Maple','St','NE',NULL,NULL,NULL,NULL,'Trimont',1,1022,NULL,'56176',NULL,1228,43.771341,-94.72593,0,NULL,NULL,53),(126,29,1,0,0,'857L Maple St NE',857,'L',NULL,'Maple','St','NE',NULL,NULL,NULL,NULL,'Trimont',1,1022,NULL,'56176',NULL,1228,43.771341,-94.72593,0,NULL,NULL,53),(127,109,1,1,0,'857L Maple St NE',857,'L',NULL,'Maple','St','NE',NULL,NULL,NULL,NULL,'Trimont',1,1022,NULL,'56176',NULL,1228,43.771341,-94.72593,0,NULL,NULL,53),(128,99,1,1,0,'857L Maple St NE',857,'L',NULL,'Maple','St','NE',NULL,NULL,NULL,NULL,'Trimont',1,1022,NULL,'56176',NULL,1228,43.771341,-94.72593,0,NULL,NULL,53),(129,77,1,1,0,'655T Second Way NE',655,'T',NULL,'Second','Way','NE',NULL,NULL,NULL,NULL,'Hughesville',1,1019,NULL,'20637',NULL,1228,38.523408,-76.75435,0,NULL,NULL,54),(130,107,1,1,0,'655T Second Way NE',655,'T',NULL,'Second','Way','NE',NULL,NULL,NULL,NULL,'Hughesville',1,1019,NULL,'20637',NULL,1228,38.523408,-76.75435,0,NULL,NULL,54),(131,78,1,1,0,'655T Second Way NE',655,'T',NULL,'Second','Way','NE',NULL,NULL,NULL,NULL,'Hughesville',1,1019,NULL,'20637',NULL,1228,38.523408,-76.75435,0,NULL,NULL,54),(132,41,1,1,0,'604Y Martin Luther King Rd E',604,'Y',NULL,'Martin Luther King','Rd','E',NULL,NULL,NULL,NULL,'Atlanta',1,1009,NULL,'30378',NULL,1228,33.844371,-84.47405,0,NULL,NULL,NULL),(133,97,1,1,0,'412O El Camino Ln N',412,'O',NULL,'El Camino','Ln','N',NULL,NULL,NULL,NULL,'Bock',1,1022,NULL,'56313',NULL,1228,45.785883,-93.55343,0,NULL,NULL,55),(134,60,1,1,0,'412O El Camino Ln N',412,'O',NULL,'El Camino','Ln','N',NULL,NULL,NULL,NULL,'Bock',1,1022,NULL,'56313',NULL,1228,45.785883,-93.55343,0,NULL,NULL,55),(135,165,1,1,0,'412O El Camino Ln N',412,'O',NULL,'El Camino','Ln','N',NULL,NULL,NULL,NULL,'Bock',1,1022,NULL,'56313',NULL,1228,45.785883,-93.55343,0,NULL,NULL,55),(136,159,1,1,0,'21U College Ln SE',21,'U',NULL,'College','Ln','SE',NULL,NULL,NULL,NULL,'Saronville',1,1026,NULL,'68975',NULL,1228,40.605538,-97.94955,0,NULL,NULL,NULL),(137,12,1,1,0,'605T Pine Path S',605,'T',NULL,'Pine','Path','S',NULL,NULL,NULL,NULL,'Nursery',1,1042,NULL,'77976',NULL,1228,28.954273,-97.090604,0,NULL,NULL,56),(138,19,1,0,0,'605T Pine Path S',605,'T',NULL,'Pine','Path','S',NULL,NULL,NULL,NULL,'Nursery',1,1042,NULL,'77976',NULL,1228,28.954273,-97.090604,0,NULL,NULL,56),(139,14,1,1,0,'605T Pine Path S',605,'T',NULL,'Pine','Path','S',NULL,NULL,NULL,NULL,'Nursery',1,1042,NULL,'77976',NULL,1228,28.954273,-97.090604,0,NULL,NULL,56),(140,36,1,1,0,'238N Second Pl SE',238,'N',NULL,'Second','Pl','SE',NULL,NULL,NULL,NULL,'Rocky Ford',1,1009,NULL,'30455',NULL,1228,32.697762,-81.81036,0,NULL,NULL,NULL),(141,189,1,0,0,'12K Northpoint Dr W',12,'K',NULL,'Northpoint','Dr','W',NULL,NULL,NULL,NULL,'Barstow',1,1004,NULL,'92311',NULL,1228,34.894181,-117.03636,0,NULL,NULL,57),(142,151,1,1,0,'12K Northpoint Dr W',12,'K',NULL,'Northpoint','Dr','W',NULL,NULL,NULL,NULL,'Barstow',1,1004,NULL,'92311',NULL,1228,34.894181,-117.03636,0,NULL,NULL,57),(143,104,1,1,0,'12K Northpoint Dr W',12,'K',NULL,'Northpoint','Dr','W',NULL,NULL,NULL,NULL,'Barstow',1,1004,NULL,'92311',NULL,1228,34.894181,-117.03636,0,NULL,NULL,57),(144,39,1,1,0,'12K Northpoint Dr W',12,'K',NULL,'Northpoint','Dr','W',NULL,NULL,NULL,NULL,'Barstow',1,1004,NULL,'92311',NULL,1228,34.894181,-117.03636,0,NULL,NULL,57),(145,133,1,1,0,'638H Woodbridge St SW',638,'H',NULL,'Woodbridge','St','SW',NULL,NULL,NULL,NULL,'Urbana',1,1014,NULL,'52345',NULL,1228,42.222388,-91.87908,0,NULL,NULL,58),(146,3,1,1,0,'638H Woodbridge St SW',638,'H',NULL,'Woodbridge','St','SW',NULL,NULL,NULL,NULL,'Urbana',1,1014,NULL,'52345',NULL,1228,42.222388,-91.87908,0,NULL,NULL,58),(147,194,1,1,0,'638H Woodbridge St SW',638,'H',NULL,'Woodbridge','St','SW',NULL,NULL,NULL,NULL,'Urbana',1,1014,NULL,'52345',NULL,1228,42.222388,-91.87908,0,NULL,NULL,58),(148,40,1,1,0,'638H Woodbridge St SW',638,'H',NULL,'Woodbridge','St','SW',NULL,NULL,NULL,NULL,'Urbana',1,1014,NULL,'52345',NULL,1228,42.222388,-91.87908,0,NULL,NULL,58),(149,111,1,1,0,'19Z Green Ave NW',19,'Z',NULL,'Green','Ave','NW',NULL,NULL,NULL,NULL,'North Brunswick',1,1029,NULL,'08902',NULL,1228,40.453131,-74.48287,0,NULL,NULL,59),(150,21,1,1,0,'19Z Green Ave NW',19,'Z',NULL,'Green','Ave','NW',NULL,NULL,NULL,NULL,'North Brunswick',1,1029,NULL,'08902',NULL,1228,40.453131,-74.48287,0,NULL,NULL,59),(151,184,1,0,0,'19Z Green Ave NW',19,'Z',NULL,'Green','Ave','NW',NULL,NULL,NULL,NULL,'North Brunswick',1,1029,NULL,'08902',NULL,1228,40.453131,-74.48287,0,NULL,NULL,59),(152,110,1,1,0,'19Z Green Ave NW',19,'Z',NULL,'Green','Ave','NW',NULL,NULL,NULL,NULL,'North Brunswick',1,1029,NULL,'08902',NULL,1228,40.453131,-74.48287,0,NULL,NULL,59),(153,174,1,1,0,'682O Bay Pl NW',682,'O',NULL,'Bay','Pl','NW',NULL,NULL,NULL,NULL,'Williamston',1,1021,NULL,'48895',NULL,1228,42.68669,-84.27844,0,NULL,NULL,60),(154,22,1,1,0,'682O Bay Pl NW',682,'O',NULL,'Bay','Pl','NW',NULL,NULL,NULL,NULL,'Williamston',1,1021,NULL,'48895',NULL,1228,42.68669,-84.27844,0,NULL,NULL,60),(155,81,1,1,0,'682O Bay Pl NW',682,'O',NULL,'Bay','Pl','NW',NULL,NULL,NULL,NULL,'Williamston',1,1021,NULL,'48895',NULL,1228,42.68669,-84.27844,0,NULL,NULL,60),(156,127,1,1,0,'288X Cadell Rd NW',288,'X',NULL,'Cadell','Rd','NW',NULL,NULL,NULL,NULL,'Hanna City',1,1012,NULL,'61536',NULL,1228,40.690205,-89.78042,0,NULL,NULL,NULL),(157,183,1,1,0,'941F Green Pl SW',941,'F',NULL,'Green','Pl','SW',NULL,NULL,NULL,NULL,'Hernando',1,1023,NULL,'38632',NULL,1228,34.811777,-90.01917,0,NULL,NULL,61),(158,192,1,1,0,'941F Green Pl SW',941,'F',NULL,'Green','Pl','SW',NULL,NULL,NULL,NULL,'Hernando',1,1023,NULL,'38632',NULL,1228,34.811777,-90.01917,0,NULL,NULL,61),(159,169,1,1,0,'941F Green Pl SW',941,'F',NULL,'Green','Pl','SW',NULL,NULL,NULL,NULL,'Hernando',1,1023,NULL,'38632',NULL,1228,34.811777,-90.01917,0,NULL,NULL,61),(160,186,1,1,0,'864R Maple Blvd E',864,'R',NULL,'Maple','Blvd','E',NULL,NULL,NULL,NULL,'Haldeman',1,1016,NULL,'40329',NULL,1228,38.206706,-83.41725,0,NULL,NULL,NULL),(161,138,1,1,0,'630Q Martin Luther King Blvd NE',630,'Q',NULL,'Martin Luther King','Blvd','NE',NULL,NULL,NULL,NULL,'Millbury',1,1020,NULL,'01527',NULL,1228,42.196144,-71.76272,0,NULL,NULL,62),(162,86,1,1,0,'630Q Martin Luther King Blvd NE',630,'Q',NULL,'Martin Luther King','Blvd','NE',NULL,NULL,NULL,NULL,'Millbury',1,1020,NULL,'01527',NULL,1228,42.196144,-71.76272,0,NULL,NULL,62),(163,114,1,1,0,'630Q Martin Luther King Blvd NE',630,'Q',NULL,'Martin Luther King','Blvd','NE',NULL,NULL,NULL,NULL,'Millbury',1,1020,NULL,'01527',NULL,1228,42.196144,-71.76272,0,NULL,NULL,62),(164,61,1,1,0,'707W States Ave NE',707,'W',NULL,'States','Ave','NE',NULL,NULL,NULL,NULL,'Greencastle',1,1013,NULL,'46135',NULL,1228,39.652374,-86.87361,0,NULL,NULL,NULL),(165,56,1,1,0,'491Y Beech Dr N',491,'Y',NULL,'Beech','Dr','N',NULL,NULL,NULL,NULL,'Diamond Springs',1,1004,NULL,'95619',NULL,1228,38.689067,-120.82071,0,NULL,NULL,63),(166,181,1,1,0,'491Y Beech Dr N',491,'Y',NULL,'Beech','Dr','N',NULL,NULL,NULL,NULL,'Diamond Springs',1,1004,NULL,'95619',NULL,1228,38.689067,-120.82071,0,NULL,NULL,63),(167,116,1,1,0,'491Y Beech Dr N',491,'Y',NULL,'Beech','Dr','N',NULL,NULL,NULL,NULL,'Diamond Springs',1,1004,NULL,'95619',NULL,1228,38.689067,-120.82071,0,NULL,NULL,63),(168,73,1,1,0,'491Y Beech Dr N',491,'Y',NULL,'Beech','Dr','N',NULL,NULL,NULL,NULL,'Diamond Springs',1,1004,NULL,'95619',NULL,1228,38.689067,-120.82071,0,NULL,NULL,63),(169,87,1,1,0,'139P Main Pl NW',139,'P',NULL,'Main','Pl','NW',NULL,NULL,NULL,NULL,'Wadesville',1,1013,NULL,'47638',NULL,1228,38.081681,-87.78055,0,NULL,NULL,64),(170,92,1,1,0,'139P Main Pl NW',139,'P',NULL,'Main','Pl','NW',NULL,NULL,NULL,NULL,'Wadesville',1,1013,NULL,'47638',NULL,1228,38.081681,-87.78055,0,NULL,NULL,64),(171,85,1,1,0,'139P Main Pl NW',139,'P',NULL,'Main','Pl','NW',NULL,NULL,NULL,NULL,'Wadesville',1,1013,NULL,'47638',NULL,1228,38.081681,-87.78055,0,NULL,NULL,64),(172,173,1,1,0,'56U Pine Ave E',56,'U',NULL,'Pine','Ave','E',NULL,NULL,NULL,NULL,'Eagle Rock',1,1024,NULL,'65641',NULL,1228,36.536324,-93.73134,0,NULL,NULL,NULL),(173,128,1,1,0,'740V Second Pl SE',740,'V',NULL,'Second','Pl','SE',NULL,NULL,NULL,NULL,'North Augusta',1,1039,NULL,'29861',NULL,1228,33.53773,-81.599891,0,NULL,NULL,65),(174,143,1,1,0,'740V Second Pl SE',740,'V',NULL,'Second','Pl','SE',NULL,NULL,NULL,NULL,'North Augusta',1,1039,NULL,'29861',NULL,1228,33.53773,-81.599891,0,NULL,NULL,65),(175,24,1,1,0,'740V Second Pl SE',740,'V',NULL,'Second','Pl','SE',NULL,NULL,NULL,NULL,'North Augusta',1,1039,NULL,'29861',NULL,1228,33.53773,-81.599891,0,NULL,NULL,65),(176,187,1,1,0,'740V Second Pl SE',740,'V',NULL,'Second','Pl','SE',NULL,NULL,NULL,NULL,'North Augusta',1,1039,NULL,'29861',NULL,1228,33.53773,-81.599891,0,NULL,NULL,65),(177,NULL,1,1,1,'14S El Camino Way E',14,'S',NULL,'El Camino','Way',NULL,NULL,NULL,NULL,NULL,'Collinsville',NULL,1006,NULL,'6022',NULL,1228,41.8328,-72.9253,0,NULL,NULL,NULL),(178,NULL,1,1,1,'11B Woodbridge Path SW',11,'B',NULL,'Woodbridge','Path',NULL,NULL,NULL,NULL,NULL,'Dayton',NULL,1034,NULL,'45417',NULL,1228,39.7531,-84.2471,0,NULL,NULL,NULL),(179,NULL,1,1,1,'581O Lincoln Dr SW',581,'O',NULL,'Lincoln','Dr',NULL,NULL,NULL,NULL,NULL,'Santa Fe',NULL,1030,NULL,'87594',NULL,1228,35.5212,-105.982,0,NULL,NULL,NULL);
+INSERT INTO `civicrm_address` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `street_address`, `street_number`, `street_number_suffix`, `street_number_predirectional`, `street_name`, `street_type`, `street_number_postdirectional`, `street_unit`, `supplemental_address_1`, `supplemental_address_2`, `supplemental_address_3`, `city`, `county_id`, `state_province_id`, `postal_code_suffix`, `postal_code`, `usps_adc`, `country_id`, `geo_code_1`, `geo_code_2`, `manual_geo_code`, `timezone`, `name`, `master_id`) VALUES (1,43,1,1,0,'265Q Northpoint Pl SW',265,'Q',NULL,'Northpoint','Pl','SW',NULL,NULL,NULL,NULL,'Saint Petersburg',1,1008,NULL,'33728',NULL,1228,27.891809,-82.724763,0,NULL,NULL,NULL),(2,71,1,1,0,'751E El Camino Rd SW',751,'E',NULL,'El Camino','Rd','SW',NULL,NULL,NULL,NULL,'Atlanta',1,1009,NULL,'30331',NULL,1228,33.715558,-84.52728,0,NULL,NULL,NULL),(3,177,1,1,0,'116E Pine Ln SW',116,'E',NULL,'Pine','Ln','SW',NULL,NULL,NULL,NULL,'Denver',1,1005,NULL,'80264',NULL,1228,39.742486,-104.98563,0,NULL,NULL,NULL),(4,110,1,1,0,'840L Jackson Path SE',840,'L',NULL,'Jackson','Path','SE',NULL,NULL,NULL,NULL,'Cumberland Foreside',1,1018,NULL,'04110',NULL,1228,43.760369,-70.19681,0,NULL,NULL,NULL),(5,91,1,1,0,'19P Dowlen Pl SE',19,'P',NULL,'Dowlen','Pl','SE',NULL,NULL,NULL,NULL,'Newark',1,1007,NULL,'19713',NULL,1228,39.669211,-75.71796,0,NULL,NULL,NULL),(6,37,1,1,0,'433B Lincoln Way E',433,'B',NULL,'Lincoln','Way','E',NULL,NULL,NULL,NULL,'Palmdale',1,1004,NULL,'93590',NULL,1228,33.786594,-118.298662,0,NULL,NULL,NULL),(7,175,1,1,0,'509R Van Ness Way SE',509,'R',NULL,'Van Ness','Way','SE',NULL,NULL,NULL,NULL,'Pasadena',1,1004,NULL,'91050',NULL,1228,33.786594,-118.298662,0,NULL,NULL,NULL),(8,15,1,1,0,'315A Green Pl W',315,'A',NULL,'Green','Pl','W',NULL,NULL,NULL,NULL,'East Troy',1,1048,NULL,'53120',NULL,1228,42.797775,-88.40435,0,NULL,NULL,NULL),(9,106,1,1,0,'69H Jackson Rd N',69,'H',NULL,'Jackson','Rd','N',NULL,NULL,NULL,NULL,'Climbing Hill',1,1014,NULL,'51015',NULL,1228,42.345024,-96.087523,0,NULL,NULL,NULL),(10,147,1,1,0,'1000F Martin Luther King Dr N',1000,'F',NULL,'Martin Luther King','Dr','N',NULL,NULL,NULL,NULL,'Oakland',1,1004,NULL,'94624',NULL,1228,37.680181,-121.921498,0,NULL,NULL,NULL),(11,198,1,1,0,'644Z States Ave N',644,'Z',NULL,'States','Ave','N',NULL,NULL,NULL,NULL,'Omaha',1,1026,NULL,'68179',NULL,1228,41.291736,-96.171104,0,NULL,NULL,NULL),(12,18,1,1,0,'664C Martin Luther King Pl NE',664,'C',NULL,'Martin Luther King','Pl','NE',NULL,NULL,NULL,NULL,'Rudyard',1,1021,NULL,'49780',NULL,1228,46.204512,-84.73671,0,NULL,NULL,NULL),(13,108,1,1,0,'763W Cadell St W',763,'W',NULL,'Cadell','St','W',NULL,NULL,NULL,NULL,'Marietta',1,1037,NULL,'17547',NULL,1228,40.064862,-76.57145,0,NULL,NULL,NULL),(14,26,1,1,0,'877E Main St SE',877,'E',NULL,'Main','St','SE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48556',NULL,1228,43.032677,-83.646255,0,NULL,NULL,NULL),(15,44,1,1,0,'780S Beech Way NE',780,'S',NULL,'Beech','Way','NE',NULL,NULL,NULL,NULL,'Ottawa Lake',1,1021,NULL,'49267',NULL,1228,41.757599,-83.70951,0,NULL,NULL,NULL),(16,121,1,1,0,'126R College Pl N',126,'R',NULL,'College','Pl','N',NULL,NULL,NULL,NULL,'Deweyville',1,1043,NULL,'84309',NULL,1228,41.714101,-112.08846,0,NULL,NULL,NULL),(17,47,1,1,0,'663C College St SE',663,'C',NULL,'College','St','SE',NULL,NULL,NULL,NULL,'Rockville',1,1019,NULL,'20850',NULL,1228,39.093408,-77.1718,0,NULL,NULL,NULL),(18,85,1,1,0,'763P Maple Path NE',763,'P',NULL,'Maple','Path','NE',NULL,NULL,NULL,NULL,'Richland',1,1039,NULL,'29675',NULL,1228,34.764076,-83.088332,0,NULL,NULL,NULL),(19,119,1,1,0,'608W Main Rd N',608,'W',NULL,'Main','Rd','N',NULL,NULL,NULL,NULL,'Maple Plain',1,1022,NULL,'55359',NULL,1228,45.002212,-93.69319,0,NULL,NULL,NULL),(20,10,1,1,0,'556F Beech Way N',556,'F',NULL,'Beech','Way','N',NULL,NULL,NULL,NULL,'Carrollton',1,1009,NULL,'30116',NULL,1228,33.560454,-85.02254,0,NULL,NULL,NULL),(21,159,1,1,0,'719I Main Pl S',719,'I',NULL,'Main','Pl','S',NULL,NULL,NULL,NULL,'Shallowater',1,1042,NULL,'79363',NULL,1228,33.701024,-102.01948,0,NULL,NULL,NULL),(22,61,1,1,0,'613D Woodbridge Dr N',613,'D',NULL,'Woodbridge','Dr','N',NULL,NULL,NULL,NULL,'Springfield',1,1034,NULL,'45504',NULL,1228,39.941827,-83.83702,0,NULL,NULL,NULL),(23,164,1,1,0,'382O Martin Luther King Path NE',382,'O',NULL,'Martin Luther King','Path','NE',NULL,NULL,NULL,NULL,'Martinsburg',1,1037,NULL,'16662',NULL,1228,40.306709,-78.31987,0,NULL,NULL,NULL),(24,41,1,1,0,'785M Pine Dr SE',785,'M',NULL,'Pine','Dr','SE',NULL,NULL,NULL,NULL,'Independence',1,1036,NULL,'97351',NULL,1228,44.849012,-123.18673,0,NULL,NULL,NULL),(25,16,1,1,0,'378K Woodbridge Blvd E',378,'K',NULL,'Woodbridge','Blvd','E',NULL,NULL,NULL,NULL,'Allen',1,1026,NULL,'68710',NULL,1228,42.450185,-96.85153,0,NULL,NULL,NULL),(26,143,1,1,0,'434E El Camino Dr SW',434,'E',NULL,'El Camino','Dr','SW',NULL,NULL,NULL,NULL,'Rockport',1,1018,NULL,'04856',NULL,1228,44.180867,-69.09812,0,NULL,NULL,NULL),(27,136,1,1,0,'5U Second Pl SW',5,'U',NULL,'Second','Pl','SW',NULL,NULL,NULL,NULL,'Felda',1,1008,NULL,'33930',NULL,1228,26.581172,-81.46202,0,NULL,NULL,NULL),(28,36,1,1,0,'873B El Camino Ave SE',873,'B',NULL,'El Camino','Ave','SE',NULL,NULL,NULL,NULL,'Columbus',1,1034,NULL,'43236',NULL,1228,40.135711,-83.007626,0,NULL,NULL,NULL),(29,7,1,1,0,'647X Lincoln Ave W',647,'X',NULL,'Lincoln','Ave','W',NULL,NULL,NULL,NULL,'Jackson',1,1023,NULL,'39283',NULL,1228,32.311287,-90.397157,0,NULL,NULL,NULL),(30,145,1,1,0,'38Q Pine Way S',38,'Q',NULL,'Pine','Way','S',NULL,NULL,NULL,NULL,'Washington',1,1050,NULL,'20426',NULL,1228,38.893311,-77.014647,0,NULL,NULL,NULL),(31,158,1,1,0,'812E Cadell Ln N',812,'E',NULL,'Cadell','Ln','N',NULL,NULL,NULL,NULL,'Belk',1,1000,NULL,'35545',NULL,1228,33.641227,-87.92911,0,NULL,NULL,NULL),(32,199,1,1,0,'74P College Pl E',74,'P',NULL,'College','Pl','E',NULL,NULL,NULL,NULL,'Monett',1,1024,NULL,'65708',NULL,1228,36.91816,-93.91488,0,NULL,NULL,NULL),(33,21,1,1,0,'352D Van Ness Path SW',352,'D',NULL,'Van Ness','Path','SW',NULL,NULL,NULL,NULL,'Viola',1,1012,NULL,'61486',NULL,1228,41.195087,-90.57923,0,NULL,NULL,NULL),(34,12,1,1,0,'1000Q Pine Blvd SE',1000,'Q',NULL,'Pine','Blvd','SE',NULL,NULL,NULL,NULL,'Saint Joseph',1,1021,NULL,'49085',NULL,1228,42.074435,-86.47935,0,NULL,NULL,NULL),(35,81,1,1,0,'409T College Path SW',409,'T',NULL,'College','Path','SW',NULL,NULL,NULL,NULL,'Bay Saint Louis',1,1023,NULL,'39520',NULL,1228,30.304327,-89.40705,0,NULL,NULL,NULL),(36,185,1,1,0,'340G States Dr E',340,'G',NULL,'States','Dr','E',NULL,NULL,NULL,NULL,'Boyd',1,1048,NULL,'54726',NULL,1228,44.946486,-91.02282,0,NULL,NULL,NULL),(37,62,1,1,0,'565W Lincoln Rd E',565,'W',NULL,'Lincoln','Rd','E',NULL,NULL,NULL,NULL,'Queens Village',1,1031,NULL,'11428',NULL,1228,40.719981,-73.74127,0,NULL,NULL,NULL),(38,78,1,1,0,'928V Main Pl W',928,'V',NULL,'Main','Pl','W',NULL,NULL,NULL,NULL,'Hewitt',1,1022,NULL,'56453',NULL,1228,46.32091,-95.14567,0,NULL,NULL,NULL),(39,117,1,1,0,'299C El Camino Path NW',299,'C',NULL,'El Camino','Path','NW',NULL,NULL,NULL,NULL,'Rockford',1,1012,NULL,'61105',NULL,1228,42.325364,-89.170527,0,NULL,NULL,NULL),(40,196,1,1,0,'568Z Martin Luther King Pl N',568,'Z',NULL,'Martin Luther King','Pl','N',NULL,NULL,NULL,NULL,'San Bruno',1,1004,NULL,'94098',NULL,1228,37.381144,-122.334825,0,NULL,NULL,NULL),(41,162,1,1,0,'965R Main Path S',965,'R',NULL,'Main','Path','S',NULL,NULL,NULL,NULL,'East Durham',1,1031,NULL,'12423',NULL,1228,42.378679,-74.10443,0,NULL,NULL,NULL),(42,90,1,1,0,'248I College Way SE',248,'I',NULL,'College','Way','SE',NULL,NULL,NULL,NULL,'Waterloo',1,1014,NULL,'50703',NULL,1228,42.513636,-92.32418,0,NULL,NULL,NULL),(43,42,1,1,0,'786B Lincoln St W',786,'B',NULL,'Lincoln','St','W',NULL,NULL,NULL,NULL,'Wendell',1,1032,NULL,'27591',NULL,1228,35.781595,-78.37287,0,NULL,NULL,NULL),(44,40,1,1,0,'461P Northpoint St S',461,'P',NULL,'Northpoint','St','S',NULL,NULL,NULL,NULL,'Wells',1,1027,NULL,'89835',NULL,1228,41.208288,-114.86098,0,NULL,NULL,NULL),(45,2,1,1,0,'508U Jackson Dr S',508,'U',NULL,'Jackson','Dr','S',NULL,NULL,NULL,NULL,'Saint Catharine',1,1016,NULL,'40061',NULL,1228,37.773962,-85.201068,0,NULL,NULL,NULL),(46,68,1,1,0,'391L Dowlen Path N',391,'L',NULL,'Dowlen','Path','N',NULL,NULL,NULL,NULL,'San Juan',1,1056,NULL,'00936',NULL,1228,18.410462,-66.060533,0,NULL,NULL,NULL),(47,76,1,1,0,'526V Maple Path SE',526,'V',NULL,'Maple','Path','SE',NULL,NULL,NULL,NULL,'Keokuk',1,1014,NULL,'52632',NULL,1228,40.409641,-91.40001,0,NULL,NULL,NULL),(48,122,1,1,0,'192S Beech Dr W',192,'S',NULL,'Beech','Dr','W',NULL,NULL,NULL,NULL,'Harveys Lake',1,1037,NULL,'18618',NULL,1228,41.37649,-76.03662,0,NULL,NULL,NULL),(49,102,1,1,0,'475W Lincoln St NE',475,'W',NULL,'Lincoln','St','NE',NULL,NULL,NULL,NULL,'Beaufort',1,1039,NULL,'29903',NULL,1228,32.443974,-80.735245,0,NULL,NULL,NULL),(50,49,1,1,0,'528E Beech Path W',528,'E',NULL,'Beech','Path','W',NULL,NULL,NULL,NULL,'Santa Fe',1,1024,NULL,'65282',NULL,1228,39.369471,-91.81864,0,NULL,NULL,NULL),(51,38,1,1,0,'975Z Dowlen Path NW',975,'Z',NULL,'Dowlen','Path','NW',NULL,NULL,NULL,NULL,'Ballinger',1,1042,NULL,'76821',NULL,1228,31.754011,-99.93695,0,NULL,NULL,NULL),(52,46,1,1,0,'965W Lincoln Blvd S',965,'W',NULL,'Lincoln','Blvd','S',NULL,NULL,NULL,NULL,'Danielsville',1,1009,NULL,'30633',NULL,1228,34.17085,-83.24654,0,NULL,NULL,NULL),(53,181,1,1,0,'797D Jackson Path NW',797,'D',NULL,'Jackson','Path','NW',NULL,NULL,NULL,NULL,'Millington',1,1041,NULL,'38083',NULL,1228,35.201738,-89.971538,0,NULL,NULL,NULL),(54,57,1,1,0,'321K Caulder Rd W',321,'K',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Scranton',1,1037,NULL,'18505',NULL,1228,41.39208,-75.66603,0,NULL,NULL,NULL),(55,161,1,1,0,'817P Woodbridge Ln E',817,'P',NULL,'Woodbridge','Ln','E',NULL,NULL,NULL,NULL,'Morley',1,1014,NULL,'52312',NULL,1228,42.006556,-91.24671,0,NULL,NULL,NULL),(56,17,1,1,0,'711N Northpoint Ln SW',711,'N',NULL,'Northpoint','Ln','SW',NULL,NULL,NULL,NULL,'Parkesburg',1,1037,NULL,'19365',NULL,1228,39.961094,-75.92047,0,NULL,NULL,NULL),(57,187,1,1,0,'479R Green Ln W',479,'R',NULL,'Green','Ln','W',NULL,NULL,NULL,NULL,'Shasta Lake',1,1004,NULL,'96079',NULL,1228,40.686639,-122.334778,0,NULL,NULL,NULL),(58,80,1,1,0,'207W Caulder Pl S',207,'W',NULL,'Caulder','Pl','S',NULL,NULL,NULL,NULL,'Harlan',1,1014,NULL,'51593',NULL,1228,41.332943,-95.587197,0,NULL,NULL,NULL),(59,51,1,1,0,'138S Jackson Rd E',138,'S',NULL,'Jackson','Rd','E',NULL,NULL,NULL,NULL,'Reseda',1,1004,NULL,'91337',NULL,1228,33.786594,-118.298662,0,NULL,NULL,NULL),(60,131,1,1,0,'228F Cadell Pl NE',228,'F',NULL,'Cadell','Pl','NE',NULL,NULL,NULL,NULL,'Alcester',1,1040,NULL,'57001',NULL,1228,42.974216,-96.63848,0,NULL,NULL,NULL),(61,79,1,1,0,'486G Caulder Ln NE',486,'G',NULL,'Caulder','Ln','NE',NULL,NULL,NULL,NULL,'Delbarton',1,1047,NULL,'25670',NULL,1228,37.705946,-82.14416,0,NULL,NULL,NULL),(62,192,3,1,0,'336Y Bay St N',336,'Y',NULL,'Bay','St','N',NULL,'Donor Relations',NULL,NULL,'Burlingame',1,1004,NULL,'94012',NULL,1228,37.381144,-122.334825,0,NULL,NULL,NULL),(63,172,2,1,0,'336Y Bay St N',336,'Y',NULL,'Bay','St','N',NULL,'Donor Relations',NULL,NULL,'Burlingame',1,1004,NULL,'94012',NULL,1228,37.381144,-122.334825,0,NULL,NULL,62),(64,74,3,1,0,'37T Bay Rd SW',37,'T',NULL,'Bay','Rd','SW',NULL,'Disbursements',NULL,NULL,'West Palm Beach',1,1008,NULL,'33407',NULL,1228,26.750991,-80.07296,0,NULL,NULL,NULL),(65,160,2,1,0,'37T Bay Rd SW',37,'T',NULL,'Bay','Rd','SW',NULL,'Disbursements',NULL,NULL,'West Palm Beach',1,1008,NULL,'33407',NULL,1228,26.750991,-80.07296,0,NULL,NULL,64),(66,127,3,1,0,'151V Martin Luther King Way W',151,'V',NULL,'Martin Luther King','Way','W',NULL,'Disbursements',NULL,NULL,'Springfield',1,1034,NULL,'45505',NULL,1228,39.91086,-83.78579,0,NULL,NULL,NULL),(67,194,2,1,0,'151V Martin Luther King Way W',151,'V',NULL,'Martin Luther King','Way','W',NULL,'Disbursements',NULL,NULL,'Springfield',1,1034,NULL,'45505',NULL,1228,39.91086,-83.78579,0,NULL,NULL,66),(68,111,3,1,0,'7C Caulder Ave NE',7,'C',NULL,'Caulder','Ave','NE',NULL,'Mailstop 101',NULL,NULL,'Bird City',1,1015,NULL,'67731',NULL,1228,39.758864,-101.54448,0,NULL,NULL,NULL),(69,23,3,1,0,'423T Caulder Rd SE',423,'T',NULL,'Caulder','Rd','SE',NULL,'Cuffe Parade',NULL,NULL,'Carthage',1,1024,NULL,'64836',NULL,1228,37.168985,-94.31164,0,NULL,NULL,NULL),(70,65,3,1,0,'335K Woodbridge Pl E',335,'K',NULL,'Woodbridge','Pl','E',NULL,'Cuffe Parade',NULL,NULL,'Indiahoma',1,1035,NULL,'73552',NULL,1228,34.62256,-98.75386,0,NULL,NULL,NULL),(71,82,3,1,0,'66D Pine Pl NW',66,'D',NULL,'Pine','Pl','NW',NULL,'Cuffe Parade',NULL,NULL,'Harmony',1,1032,NULL,'28634',NULL,1228,35.97991,-80.77085,0,NULL,NULL,NULL),(72,123,3,1,0,'230P Martin Luther King Path SW',230,'P',NULL,'Martin Luther King','Path','SW',NULL,'Cuffe Parade',NULL,NULL,'South Amboy',1,1029,NULL,'08879',NULL,1228,40.469606,-74.27669,0,NULL,NULL,NULL),(73,55,3,1,0,'734R Main Path NW',734,'R',NULL,'Main','Path','NW',NULL,'Subscriptions Dept',NULL,NULL,'Hamilton',1,1021,NULL,'49419',NULL,1228,42.679762,-85.98996,0,NULL,NULL,NULL),(74,144,3,1,0,'127R Jackson Ave N',127,'R',NULL,'Jackson','Ave','N',NULL,'Receiving',NULL,NULL,'Pittsburgh',1,1037,NULL,'15226',NULL,1228,40.394002,-80.01655,0,NULL,NULL,NULL),(75,142,2,1,0,'127R Jackson Ave N',127,'R',NULL,'Jackson','Ave','N',NULL,'Receiving',NULL,NULL,'Pittsburgh',1,1037,NULL,'15226',NULL,1228,40.394002,-80.01655,0,NULL,NULL,74),(76,63,3,1,0,'152Y States Rd NE',152,'Y',NULL,'States','Rd','NE',NULL,'Cuffe Parade',NULL,NULL,'Angola',1,1031,NULL,'14006',NULL,1228,42.633375,-79.04567,0,NULL,NULL,NULL),(77,193,2,1,0,'152Y States Rd NE',152,'Y',NULL,'States','Rd','NE',NULL,'Cuffe Parade',NULL,NULL,'Angola',1,1031,NULL,'14006',NULL,1228,42.633375,-79.04567,0,NULL,NULL,76),(78,178,3,1,0,'470C Maple St SE',470,'C',NULL,'Maple','St','SE',NULL,'Urgent',NULL,NULL,'Loyal',1,1048,NULL,'54446',NULL,1228,44.758265,-90.48248,0,NULL,NULL,NULL),(79,18,2,0,0,'470C Maple St SE',470,'C',NULL,'Maple','St','SE',NULL,'Urgent',NULL,NULL,'Loyal',1,1048,NULL,'54446',NULL,1228,44.758265,-90.48248,0,NULL,NULL,78),(80,31,3,1,0,'999O Second Dr E',999,'O',NULL,'Second','Dr','E',NULL,'Urgent',NULL,NULL,'Arma',1,1015,NULL,'66712',NULL,1228,37.547763,-94.70622,0,NULL,NULL,NULL),(81,101,3,1,0,'279P Maple Ln NW',279,'P',NULL,'Maple','Ln','NW',NULL,'Urgent',NULL,NULL,'San Pablo',1,1005,NULL,'81153',NULL,1228,37.127132,-105.3675,0,NULL,NULL,NULL),(82,119,2,0,0,'279P Maple Ln NW',279,'P',NULL,'Maple','Ln','NW',NULL,'Urgent',NULL,NULL,'San Pablo',1,1005,NULL,'81153',NULL,1228,37.127132,-105.3675,0,NULL,NULL,81),(83,95,3,1,0,'813T Lincoln Rd E',813,'T',NULL,'Lincoln','Rd','E',NULL,'Disbursements',NULL,NULL,'Dauberville',1,1037,NULL,'19517',NULL,1228,40.407173,-75.984901,0,NULL,NULL,NULL),(84,70,2,1,0,'813T Lincoln Rd E',813,'T',NULL,'Lincoln','Rd','E',NULL,'Disbursements',NULL,NULL,'Dauberville',1,1037,NULL,'19517',NULL,1228,40.407173,-75.984901,0,NULL,NULL,83),(85,135,3,1,0,'788V Green Blvd S',788,'V',NULL,'Green','Blvd','S',NULL,'Attn: Accounting',NULL,NULL,'Austin',1,1042,NULL,'78778',NULL,1228,30.326374,-97.771258,0,NULL,NULL,NULL),(86,39,3,1,0,'522T Beech Way NE',522,'T',NULL,'Beech','Way','NE',NULL,'Subscriptions Dept',NULL,NULL,'Farmington',1,1003,NULL,'72730',NULL,1228,36.03667,-94.25261,0,NULL,NULL,NULL),(87,19,2,1,0,'522T Beech Way NE',522,'T',NULL,'Beech','Way','NE',NULL,'Subscriptions Dept',NULL,NULL,'Farmington',1,1003,NULL,'72730',NULL,1228,36.03667,-94.25261,0,NULL,NULL,86),(88,60,3,1,0,'411G Maple Blvd SE',411,'G',NULL,'Maple','Blvd','SE',NULL,'Urgent',NULL,NULL,'Paluxy',1,1042,NULL,'76467',NULL,1228,32.341365,-97.932083,0,NULL,NULL,NULL),(89,26,2,0,0,'411G Maple Blvd SE',411,'G',NULL,'Maple','Blvd','SE',NULL,'Urgent',NULL,NULL,'Paluxy',1,1042,NULL,'76467',NULL,1228,32.341365,-97.932083,0,NULL,NULL,88),(90,182,3,1,0,'741N States Rd W',741,'N',NULL,'States','Rd','W',NULL,'Editorial Dept',NULL,NULL,'Cleveland',1,1034,NULL,'44106',NULL,1228,41.507751,-81.60883,0,NULL,NULL,NULL),(91,106,2,0,0,'741N States Rd W',741,'N',NULL,'States','Rd','W',NULL,'Editorial Dept',NULL,NULL,'Cleveland',1,1034,NULL,'44106',NULL,1228,41.507751,-81.60883,0,NULL,NULL,90),(92,105,3,1,0,'453W Pine Rd N',453,'W',NULL,'Pine','Rd','N',NULL,'Donor Relations',NULL,NULL,'Acton',1,1025,NULL,'59002',NULL,1228,45.932174,-108.68933,0,NULL,NULL,NULL),(93,29,2,1,0,'453W Pine Rd N',453,'W',NULL,'Pine','Rd','N',NULL,'Donor Relations',NULL,NULL,'Acton',1,1025,NULL,'59002',NULL,1228,45.932174,-108.68933,0,NULL,NULL,92),(94,3,1,1,0,'248I College Way SE',248,'I',NULL,'College','Way','SE',NULL,NULL,NULL,NULL,'Waterloo',1,1014,NULL,'50703',NULL,1228,42.513636,-92.32418,0,NULL,NULL,42),(95,84,1,1,0,'248I College Way SE',248,'I',NULL,'College','Way','SE',NULL,NULL,NULL,NULL,'Waterloo',1,1014,NULL,'50703',NULL,1228,42.513636,-92.32418,0,NULL,NULL,42),(96,13,1,1,0,'248I College Way SE',248,'I',NULL,'College','Way','SE',NULL,NULL,NULL,NULL,'Waterloo',1,1014,NULL,'50703',NULL,1228,42.513636,-92.32418,0,NULL,NULL,42),(97,162,1,0,0,'248I College Way SE',248,'I',NULL,'College','Way','SE',NULL,NULL,NULL,NULL,'Waterloo',1,1014,NULL,'50703',NULL,1228,42.513636,-92.32418,0,NULL,NULL,42),(98,155,1,1,0,'786B Lincoln St W',786,'B',NULL,'Lincoln','St','W',NULL,NULL,NULL,NULL,'Wendell',1,1032,NULL,'27591',NULL,1228,35.781595,-78.37287,0,NULL,NULL,43),(99,165,1,1,0,'786B Lincoln St W',786,'B',NULL,'Lincoln','St','W',NULL,NULL,NULL,NULL,'Wendell',1,1032,NULL,'27591',NULL,1228,35.781595,-78.37287,0,NULL,NULL,43),(100,52,1,1,0,'786B Lincoln St W',786,'B',NULL,'Lincoln','St','W',NULL,NULL,NULL,NULL,'Wendell',1,1032,NULL,'27591',NULL,1228,35.781595,-78.37287,0,NULL,NULL,43),(101,180,1,1,0,'786B Lincoln St W',786,'B',NULL,'Lincoln','St','W',NULL,NULL,NULL,NULL,'Wendell',1,1032,NULL,'27591',NULL,1228,35.781595,-78.37287,0,NULL,NULL,43),(102,48,1,1,0,'461P Northpoint St S',461,'P',NULL,'Northpoint','St','S',NULL,NULL,NULL,NULL,'Wells',1,1027,NULL,'89835',NULL,1228,41.208288,-114.86098,0,NULL,NULL,44),(103,109,1,1,0,'461P Northpoint St S',461,'P',NULL,'Northpoint','St','S',NULL,NULL,NULL,NULL,'Wells',1,1027,NULL,'89835',NULL,1228,41.208288,-114.86098,0,NULL,NULL,44),(104,25,1,1,0,'461P Northpoint St S',461,'P',NULL,'Northpoint','St','S',NULL,NULL,NULL,NULL,'Wells',1,1027,NULL,'89835',NULL,1228,41.208288,-114.86098,0,NULL,NULL,44),(105,132,1,1,0,'461P Northpoint St S',461,'P',NULL,'Northpoint','St','S',NULL,NULL,NULL,NULL,'Wells',1,1027,NULL,'89835',NULL,1228,41.208288,-114.86098,0,NULL,NULL,44),(106,45,1,1,0,'508U Jackson Dr S',508,'U',NULL,'Jackson','Dr','S',NULL,NULL,NULL,NULL,'Saint Catharine',1,1016,NULL,'40061',NULL,1228,37.773962,-85.201068,0,NULL,NULL,45),(107,67,1,1,0,'508U Jackson Dr S',508,'U',NULL,'Jackson','Dr','S',NULL,NULL,NULL,NULL,'Saint Catharine',1,1016,NULL,'40061',NULL,1228,37.773962,-85.201068,0,NULL,NULL,45),(108,6,1,1,0,'508U Jackson Dr S',508,'U',NULL,'Jackson','Dr','S',NULL,NULL,NULL,NULL,'Saint Catharine',1,1016,NULL,'40061',NULL,1228,37.773962,-85.201068,0,NULL,NULL,45),(109,11,1,1,0,'508U Jackson Dr S',508,'U',NULL,'Jackson','Dr','S',NULL,NULL,NULL,NULL,'Saint Catharine',1,1016,NULL,'40061',NULL,1228,37.773962,-85.201068,0,NULL,NULL,45),(110,168,1,1,0,'391L Dowlen Path N',391,'L',NULL,'Dowlen','Path','N',NULL,NULL,NULL,NULL,'San Juan',1,1056,NULL,'00936',NULL,1228,18.410462,-66.060533,0,NULL,NULL,46),(111,200,1,1,0,'391L Dowlen Path N',391,'L',NULL,'Dowlen','Path','N',NULL,NULL,NULL,NULL,'San Juan',1,1056,NULL,'00936',NULL,1228,18.410462,-66.060533,0,NULL,NULL,46),(112,124,1,1,0,'391L Dowlen Path N',391,'L',NULL,'Dowlen','Path','N',NULL,NULL,NULL,NULL,'San Juan',1,1056,NULL,'00936',NULL,1228,18.410462,-66.060533,0,NULL,NULL,46),(113,88,1,1,0,'391L Dowlen Path N',391,'L',NULL,'Dowlen','Path','N',NULL,NULL,NULL,NULL,'San Juan',1,1056,NULL,'00936',NULL,1228,18.410462,-66.060533,0,NULL,NULL,46),(114,98,1,1,0,'526V Maple Path SE',526,'V',NULL,'Maple','Path','SE',NULL,NULL,NULL,NULL,'Keokuk',1,1014,NULL,'52632',NULL,1228,40.409641,-91.40001,0,NULL,NULL,47),(115,166,1,1,0,'526V Maple Path SE',526,'V',NULL,'Maple','Path','SE',NULL,NULL,NULL,NULL,'Keokuk',1,1014,NULL,'52632',NULL,1228,40.409641,-91.40001,0,NULL,NULL,47),(116,19,1,0,0,'526V Maple Path SE',526,'V',NULL,'Maple','Path','SE',NULL,NULL,NULL,NULL,'Keokuk',1,1014,NULL,'52632',NULL,1228,40.409641,-91.40001,0,NULL,NULL,47),(117,125,1,1,0,'50I Pine Way SE',50,'I',NULL,'Pine','Way','SE',NULL,NULL,NULL,NULL,'Scappoose',1,1036,NULL,'97056',NULL,1228,45.778892,-122.92065,0,NULL,NULL,NULL),(118,54,1,1,0,'192S Beech Dr W',192,'S',NULL,'Beech','Dr','W',NULL,NULL,NULL,NULL,'Harveys Lake',1,1037,NULL,'18618',NULL,1228,41.37649,-76.03662,0,NULL,NULL,48),(119,163,1,1,0,'192S Beech Dr W',192,'S',NULL,'Beech','Dr','W',NULL,NULL,NULL,NULL,'Harveys Lake',1,1037,NULL,'18618',NULL,1228,41.37649,-76.03662,0,NULL,NULL,48),(120,83,1,1,0,'192S Beech Dr W',192,'S',NULL,'Beech','Dr','W',NULL,NULL,NULL,NULL,'Harveys Lake',1,1037,NULL,'18618',NULL,1228,41.37649,-76.03662,0,NULL,NULL,48),(121,14,1,1,0,'879B Beech Ln SW',879,'B',NULL,'Beech','Ln','SW',NULL,NULL,NULL,NULL,'Springfield',1,1012,NULL,'62708',NULL,1228,39.806089,-89.586356,0,NULL,NULL,NULL),(122,104,1,1,0,'475W Lincoln St NE',475,'W',NULL,'Lincoln','St','NE',NULL,NULL,NULL,NULL,'Beaufort',1,1039,NULL,'29903',NULL,1228,32.443974,-80.735245,0,NULL,NULL,49),(123,151,1,1,0,'475W Lincoln St NE',475,'W',NULL,'Lincoln','St','NE',NULL,NULL,NULL,NULL,'Beaufort',1,1039,NULL,'29903',NULL,1228,32.443974,-80.735245,0,NULL,NULL,49),(124,190,1,1,0,'475W Lincoln St NE',475,'W',NULL,'Lincoln','St','NE',NULL,NULL,NULL,NULL,'Beaufort',1,1039,NULL,'29903',NULL,1228,32.443974,-80.735245,0,NULL,NULL,49),(125,189,1,1,0,'475W Lincoln St NE',475,'W',NULL,'Lincoln','St','NE',NULL,NULL,NULL,NULL,'Beaufort',1,1039,NULL,'29903',NULL,1228,32.443974,-80.735245,0,NULL,NULL,49),(126,176,1,1,0,'528E Beech Path W',528,'E',NULL,'Beech','Path','W',NULL,NULL,NULL,NULL,'Santa Fe',1,1024,NULL,'65282',NULL,1228,39.369471,-91.81864,0,NULL,NULL,50),(127,139,1,1,0,'528E Beech Path W',528,'E',NULL,'Beech','Path','W',NULL,NULL,NULL,NULL,'Santa Fe',1,1024,NULL,'65282',NULL,1228,39.369471,-91.81864,0,NULL,NULL,50),(128,140,1,1,0,'528E Beech Path W',528,'E',NULL,'Beech','Path','W',NULL,NULL,NULL,NULL,'Santa Fe',1,1024,NULL,'65282',NULL,1228,39.369471,-91.81864,0,NULL,NULL,50),(129,77,1,1,0,'528E Beech Path W',528,'E',NULL,'Beech','Path','W',NULL,NULL,NULL,NULL,'Santa Fe',1,1024,NULL,'65282',NULL,1228,39.369471,-91.81864,0,NULL,NULL,50),(130,193,1,0,0,'975Z Dowlen Path NW',975,'Z',NULL,'Dowlen','Path','NW',NULL,NULL,NULL,NULL,'Ballinger',1,1042,NULL,'76821',NULL,1228,31.754011,-99.93695,0,NULL,NULL,51),(131,174,1,1,0,'975Z Dowlen Path NW',975,'Z',NULL,'Dowlen','Path','NW',NULL,NULL,NULL,NULL,'Ballinger',1,1042,NULL,'76821',NULL,1228,31.754011,-99.93695,0,NULL,NULL,51),(132,73,1,1,0,'975Z Dowlen Path NW',975,'Z',NULL,'Dowlen','Path','NW',NULL,NULL,NULL,NULL,'Ballinger',1,1042,NULL,'76821',NULL,1228,31.754011,-99.93695,0,NULL,NULL,51),(133,150,1,1,0,'253K Bay St SE',253,'K',NULL,'Bay','St','SE',NULL,NULL,NULL,NULL,'Brooklyn',1,1031,NULL,'11248',NULL,1228,40.645099,-73.945032,0,NULL,NULL,NULL),(134,8,1,1,0,'965W Lincoln Blvd S',965,'W',NULL,'Lincoln','Blvd','S',NULL,NULL,NULL,NULL,'Danielsville',1,1009,NULL,'30633',NULL,1228,34.17085,-83.24654,0,NULL,NULL,52),(135,107,1,1,0,'965W Lincoln Blvd S',965,'W',NULL,'Lincoln','Blvd','S',NULL,NULL,NULL,NULL,'Danielsville',1,1009,NULL,'30633',NULL,1228,34.17085,-83.24654,0,NULL,NULL,52),(136,35,1,1,0,'965W Lincoln Blvd S',965,'W',NULL,'Lincoln','Blvd','S',NULL,NULL,NULL,NULL,'Danielsville',1,1009,NULL,'30633',NULL,1228,34.17085,-83.24654,0,NULL,NULL,52),(137,58,1,1,0,'480C Main Ave W',480,'C',NULL,'Main','Ave','W',NULL,NULL,NULL,NULL,'Oklahoma City',1,1035,NULL,'73140',NULL,1228,35.518509,-97.427464,0,NULL,NULL,NULL),(138,33,1,1,0,'797D Jackson Path NW',797,'D',NULL,'Jackson','Path','NW',NULL,NULL,NULL,NULL,'Millington',1,1041,NULL,'38083',NULL,1228,35.201738,-89.971538,0,NULL,NULL,53),(139,59,1,1,0,'797D Jackson Path NW',797,'D',NULL,'Jackson','Path','NW',NULL,NULL,NULL,NULL,'Millington',1,1041,NULL,'38083',NULL,1228,35.201738,-89.971538,0,NULL,NULL,53),(140,5,1,1,0,'797D Jackson Path NW',797,'D',NULL,'Jackson','Path','NW',NULL,NULL,NULL,NULL,'Millington',1,1041,NULL,'38083',NULL,1228,35.201738,-89.971538,0,NULL,NULL,53),(141,173,1,1,0,'511F Second Path W',511,'F',NULL,'Second','Path','W',NULL,NULL,NULL,NULL,'Anamoose',1,1033,NULL,'58710',NULL,1228,47.87756,-100.23677,0,NULL,NULL,NULL),(142,87,1,1,0,'321K Caulder Rd W',321,'K',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Scranton',1,1037,NULL,'18505',NULL,1228,41.39208,-75.66603,0,NULL,NULL,54),(143,201,1,1,0,'321K Caulder Rd W',321,'K',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Scranton',1,1037,NULL,'18505',NULL,1228,41.39208,-75.66603,0,NULL,NULL,54),(144,126,1,1,0,'321K Caulder Rd W',321,'K',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Scranton',1,1037,NULL,'18505',NULL,1228,41.39208,-75.66603,0,NULL,NULL,54),(145,64,1,1,0,'321K Caulder Rd W',321,'K',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Scranton',1,1037,NULL,'18505',NULL,1228,41.39208,-75.66603,0,NULL,NULL,54),(146,141,1,1,0,'817P Woodbridge Ln E',817,'P',NULL,'Woodbridge','Ln','E',NULL,NULL,NULL,NULL,'Morley',1,1014,NULL,'52312',NULL,1228,42.006556,-91.24671,0,NULL,NULL,55),(147,94,1,1,0,'817P Woodbridge Ln E',817,'P',NULL,'Woodbridge','Ln','E',NULL,NULL,NULL,NULL,'Morley',1,1014,NULL,'52312',NULL,1228,42.006556,-91.24671,0,NULL,NULL,55),(148,183,1,1,0,'817P Woodbridge Ln E',817,'P',NULL,'Woodbridge','Ln','E',NULL,NULL,NULL,NULL,'Morley',1,1014,NULL,'52312',NULL,1228,42.006556,-91.24671,0,NULL,NULL,55),(149,96,1,1,0,'817P Woodbridge Ln E',817,'P',NULL,'Woodbridge','Ln','E',NULL,NULL,NULL,NULL,'Morley',1,1014,NULL,'52312',NULL,1228,42.006556,-91.24671,0,NULL,NULL,55),(150,89,1,1,0,'711N Northpoint Ln SW',711,'N',NULL,'Northpoint','Ln','SW',NULL,NULL,NULL,NULL,'Parkesburg',1,1037,NULL,'19365',NULL,1228,39.961094,-75.92047,0,NULL,NULL,56),(151,191,1,1,0,'711N Northpoint Ln SW',711,'N',NULL,'Northpoint','Ln','SW',NULL,NULL,NULL,NULL,'Parkesburg',1,1037,NULL,'19365',NULL,1228,39.961094,-75.92047,0,NULL,NULL,56),(152,32,1,1,0,'711N Northpoint Ln SW',711,'N',NULL,'Northpoint','Ln','SW',NULL,NULL,NULL,NULL,'Parkesburg',1,1037,NULL,'19365',NULL,1228,39.961094,-75.92047,0,NULL,NULL,56),(153,153,1,1,0,'711N Northpoint Ln SW',711,'N',NULL,'Northpoint','Ln','SW',NULL,NULL,NULL,NULL,'Parkesburg',1,1037,NULL,'19365',NULL,1228,39.961094,-75.92047,0,NULL,NULL,56),(154,186,1,1,0,'479R Green Ln W',479,'R',NULL,'Green','Ln','W',NULL,NULL,NULL,NULL,'Shasta Lake',1,1004,NULL,'96079',NULL,1228,40.686639,-122.334778,0,NULL,NULL,57),(155,133,1,1,0,'479R Green Ln W',479,'R',NULL,'Green','Ln','W',NULL,NULL,NULL,NULL,'Shasta Lake',1,1004,NULL,'96079',NULL,1228,40.686639,-122.334778,0,NULL,NULL,57),(156,4,1,1,0,'479R Green Ln W',479,'R',NULL,'Green','Ln','W',NULL,NULL,NULL,NULL,'Shasta Lake',1,1004,NULL,'96079',NULL,1228,40.686639,-122.334778,0,NULL,NULL,57),(157,169,1,1,0,'479R Green Ln W',479,'R',NULL,'Green','Ln','W',NULL,NULL,NULL,NULL,'Shasta Lake',1,1004,NULL,'96079',NULL,1228,40.686639,-122.334778,0,NULL,NULL,57),(158,171,1,1,0,'207W Caulder Pl S',207,'W',NULL,'Caulder','Pl','S',NULL,NULL,NULL,NULL,'Harlan',1,1014,NULL,'51593',NULL,1228,41.332943,-95.587197,0,NULL,NULL,58),(159,184,1,1,0,'207W Caulder Pl S',207,'W',NULL,'Caulder','Pl','S',NULL,NULL,NULL,NULL,'Harlan',1,1014,NULL,'51593',NULL,1228,41.332943,-95.587197,0,NULL,NULL,58),(160,130,1,1,0,'207W Caulder Pl S',207,'W',NULL,'Caulder','Pl','S',NULL,NULL,NULL,NULL,'Harlan',1,1014,NULL,'51593',NULL,1228,41.332943,-95.587197,0,NULL,NULL,58),(161,197,1,1,0,'207W Caulder Pl S',207,'W',NULL,'Caulder','Pl','S',NULL,NULL,NULL,NULL,'Harlan',1,1014,NULL,'51593',NULL,1228,41.332943,-95.587197,0,NULL,NULL,58),(162,114,1,1,0,'138S Jackson Rd E',138,'S',NULL,'Jackson','Rd','E',NULL,NULL,NULL,NULL,'Reseda',1,1004,NULL,'91337',NULL,1228,33.786594,-118.298662,0,NULL,NULL,59),(163,154,1,1,0,'138S Jackson Rd E',138,'S',NULL,'Jackson','Rd','E',NULL,NULL,NULL,NULL,'Reseda',1,1004,NULL,'91337',NULL,1228,33.786594,-118.298662,0,NULL,NULL,59),(164,160,1,0,0,'138S Jackson Rd E',138,'S',NULL,'Jackson','Rd','E',NULL,NULL,NULL,NULL,'Reseda',1,1004,NULL,'91337',NULL,1228,33.786594,-118.298662,0,NULL,NULL,59),(165,170,1,1,0,'889L Northpoint Ln W',889,'L',NULL,'Northpoint','Ln','W',NULL,NULL,NULL,NULL,'Lakewood',1,1046,NULL,'98497',NULL,1228,47.066193,-122.113223,0,NULL,NULL,NULL),(166,100,1,1,0,'228F Cadell Pl NE',228,'F',NULL,'Cadell','Pl','NE',NULL,NULL,NULL,NULL,'Alcester',1,1040,NULL,'57001',NULL,1228,42.974216,-96.63848,0,NULL,NULL,60),(167,148,1,1,0,'228F Cadell Pl NE',228,'F',NULL,'Cadell','Pl','NE',NULL,NULL,NULL,NULL,'Alcester',1,1040,NULL,'57001',NULL,1228,42.974216,-96.63848,0,NULL,NULL,60),(168,179,1,1,0,'228F Cadell Pl NE',228,'F',NULL,'Cadell','Pl','NE',NULL,NULL,NULL,NULL,'Alcester',1,1040,NULL,'57001',NULL,1228,42.974216,-96.63848,0,NULL,NULL,60),(169,113,1,1,0,'228F Cadell Pl NE',228,'F',NULL,'Cadell','Pl','NE',NULL,NULL,NULL,NULL,'Alcester',1,1040,NULL,'57001',NULL,1228,42.974216,-96.63848,0,NULL,NULL,60),(170,70,1,0,0,'486G Caulder Ln NE',486,'G',NULL,'Caulder','Ln','NE',NULL,NULL,NULL,NULL,'Delbarton',1,1047,NULL,'25670',NULL,1228,37.705946,-82.14416,0,NULL,NULL,61),(171,195,1,1,0,'486G Caulder Ln NE',486,'G',NULL,'Caulder','Ln','NE',NULL,NULL,NULL,NULL,'Delbarton',1,1047,NULL,'25670',NULL,1228,37.705946,-82.14416,0,NULL,NULL,61),(172,156,1,1,0,'486G Caulder Ln NE',486,'G',NULL,'Caulder','Ln','NE',NULL,NULL,NULL,NULL,'Delbarton',1,1047,NULL,'25670',NULL,1228,37.705946,-82.14416,0,NULL,NULL,61),(173,72,1,1,0,'486G Caulder Ln NE',486,'G',NULL,'Caulder','Ln','NE',NULL,NULL,NULL,NULL,'Delbarton',1,1047,NULL,'25670',NULL,1228,37.705946,-82.14416,0,NULL,NULL,61),(174,NULL,1,1,1,'14S El Camino Way E',14,'S',NULL,'El Camino','Way',NULL,NULL,NULL,NULL,NULL,'Collinsville',NULL,1006,NULL,'6022',NULL,1228,41.8328,-72.9253,0,NULL,NULL,NULL),(175,NULL,1,1,1,'11B Woodbridge Path SW',11,'B',NULL,'Woodbridge','Path',NULL,NULL,NULL,NULL,NULL,'Dayton',NULL,1034,NULL,'45417',NULL,1228,39.7531,-84.2471,0,NULL,NULL,NULL),(176,NULL,1,1,1,'581O Lincoln Dr SW',581,'O',NULL,'Lincoln','Dr',NULL,NULL,NULL,NULL,NULL,'Santa Fe',NULL,1030,NULL,'87594',NULL,1228,35.5212,-105.982,0,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_address` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -208,7 +208,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_contact` DISABLE KEYS */;
-INSERT INTO `civicrm_contact` (`id`, `contact_type`, `contact_sub_type`, `do_not_email`, `do_not_phone`, `do_not_mail`, `do_not_sms`, `do_not_trade`, `is_opt_out`, `legal_identifier`, `external_identifier`, `sort_name`, `display_name`, `nick_name`, `legal_name`, `image_URL`, `preferred_communication_method`, `preferred_language`, `preferred_mail_format`, `hash`, `api_key`, `source`, `first_name`, `middle_name`, `last_name`, `prefix_id`, `suffix_id`, `formal_title`, `communication_style_id`, `email_greeting_id`, `email_greeting_custom`, `email_greeting_display`, `postal_greeting_id`, `postal_greeting_custom`, `postal_greeting_display`, `addressee_id`, `addressee_custom`, `addressee_display`, `job_title`, `gender_id`, `birth_date`, `is_deceased`, `deceased_date`, `household_name`, `primary_contact_id`, `organization_name`, `sic_code`, `user_unique_id`, `employer_id`, `is_deleted`, `created_date`, `modified_date`) VALUES (1,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Default Organization','Default Organization',NULL,'Default Organization',NULL,NULL,NULL,'Both',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,'Default Organization',NULL,NULL,NULL,0,NULL,'2020-06-04 09:37:59'),(2,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'States Legal School','States Legal School',NULL,NULL,NULL,NULL,NULL,'Both','633939673',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'States Legal School',NULL,NULL,NULL,0,NULL,NULL,NULL,'States Legal School',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(3,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'McReynolds, Ashley','Ashley McReynolds',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','68872917',NULL,'Sample Data','Ashley','O','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley McReynolds',NULL,NULL,'1979-08-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(4,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Josefa','Josefa Olsen',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','2520751648',NULL,'Sample Data','Josefa','U','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Josefa Olsen',NULL,1,'1996-03-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(5,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Brent','Mr. Brent Prentice III',NULL,NULL,NULL,NULL,NULL,'Both','279352372',NULL,'Sample Data','Brent','Z','Prentice',3,4,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Mr. Brent Prentice III',NULL,2,'1979-03-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(6,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Kathleen','Dr. Kathleen Jensen',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','2413791663',NULL,'Sample Data','Kathleen','','Jensen',4,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Dr. Kathleen Jensen',NULL,1,'1966-04-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(7,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Kenny','Kenny Smith II',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','2487730925',NULL,'Sample Data','Kenny','C','Smith',NULL,3,NULL,NULL,1,NULL,'Dear Kenny',1,NULL,'Dear Kenny',1,NULL,'Kenny Smith II',NULL,2,'2002-11-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(8,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Jed','Jed Jones',NULL,NULL,NULL,NULL,NULL,'Both','4090118208',NULL,'Sample Data','Jed','X','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Jed Jones',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(9,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Samson-Jensen, Brzęczysław','Brzęczysław Samson-Jensen Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1650164624',NULL,'Sample Data','Brzęczysław','P','Samson-Jensen',NULL,2,NULL,NULL,1,NULL,'Dear Brzęczysław',1,NULL,'Dear Brzęczysław',1,NULL,'Brzęczysław Samson-Jensen Sr.',NULL,2,'1975-01-26',0,NULL,NULL,NULL,'College Environmental Center',NULL,NULL,69,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(10,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Rural Development Solutions','Rural Development Solutions',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','3615491997',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Rural Development Solutions',NULL,NULL,NULL,0,NULL,NULL,29,'Rural Development Solutions',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(11,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Brigette','Brigette Deforest',NULL,NULL,NULL,NULL,NULL,'Both','3260851036',NULL,'Sample Data','Brigette','D','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Brigette Deforest',NULL,NULL,'1989-11-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(12,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Magan','Mrs. Magan Díaz',NULL,NULL,NULL,NULL,NULL,'Both','3991472147',NULL,'Sample Data','Magan','','Díaz',1,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Mrs. Magan Díaz',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(13,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jensen, Arlyne','Ms. Arlyne Jensen',NULL,NULL,NULL,NULL,NULL,'Both','2653015935',NULL,'Sample Data','Arlyne','','Jensen',2,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Ms. Arlyne Jensen',NULL,NULL,'1942-11-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(14,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs-Díaz, Rosario','Dr. Rosario Jacobs-Díaz Jr.',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','2143728224',NULL,'Sample Data','Rosario','R','Jacobs-Díaz',4,1,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Dr. Rosario Jacobs-Díaz Jr.',NULL,2,'1991-09-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(15,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Wilson, Omar','Omar Wilson',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','941814711',NULL,'Sample Data','Omar','K','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Omar Wilson',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(16,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Rural Empowerment Fellowship','Rural Empowerment Fellowship',NULL,NULL,NULL,NULL,NULL,'Both','523985870',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Rural Empowerment Fellowship',NULL,NULL,NULL,0,NULL,NULL,98,'Rural Empowerment Fellowship',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(17,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Irvin','Mr. Irvin Cooper',NULL,NULL,NULL,NULL,NULL,'Both','1295806812',NULL,'Sample Data','Irvin','','Cooper',3,NULL,NULL,NULL,1,NULL,'Dear Irvin',1,NULL,'Dear Irvin',1,NULL,'Mr. Irvin Cooper',NULL,2,'1955-10-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(18,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Norris','Dr. Norris Deforest',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','3342248355',NULL,'Sample Data','Norris','','Deforest',4,NULL,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Dr. Norris Deforest',NULL,2,'1982-07-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(19,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'jacobs-daz.lou@testing.info','jacobs-daz.lou@testing.info',NULL,NULL,NULL,NULL,NULL,'Both','2765129680',NULL,'Sample Data',NULL,NULL,NULL,NULL,2,NULL,NULL,1,NULL,'Dear jacobs-daz.lou@testing.info',1,NULL,'Dear jacobs-daz.lou@testing.info',1,NULL,'jacobs-daz.lou@testing.info',NULL,NULL,NULL,0,NULL,NULL,NULL,'Lincoln Wellness Systems',NULL,NULL,27,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(20,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Iris','Iris Grant',NULL,NULL,NULL,NULL,NULL,'Both','2380499675',NULL,'Sample Data','Iris','','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Iris Grant',NULL,NULL,'1986-07-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(21,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Parker-Yadav, Erik','Erik Parker-Yadav II',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','484276151',NULL,'Sample Data','Erik','','Parker-Yadav',NULL,3,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Parker-Yadav II',NULL,2,'1994-12-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(22,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Herminia','Herminia Bachman',NULL,NULL,NULL,NULL,NULL,'Both','2587007542',NULL,'Sample Data','Herminia','','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Bachman',NULL,1,'2001-10-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(23,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs-Díaz family','Jacobs-Díaz family',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','119867798',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jacobs-Díaz family',5,NULL,'Dear Jacobs-Díaz family',2,NULL,'Jacobs-Díaz family',NULL,NULL,NULL,0,NULL,'Jacobs-Díaz family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(24,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs-Deforest, Elizabeth','Elizabeth Jacobs-Deforest',NULL,NULL,NULL,NULL,NULL,'Both','2998065823',NULL,'Sample Data','Elizabeth','N','Jacobs-Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Jacobs-Deforest',NULL,1,'2012-06-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(25,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Parker-Yadav family','Parker-Yadav family',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','3273197186',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Parker-Yadav family',5,NULL,'Dear Parker-Yadav family',2,NULL,'Parker-Yadav family',NULL,NULL,NULL,0,NULL,'Parker-Yadav family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(26,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'lincolnivanov54@fishmail.org','lincolnivanov54@fishmail.org',NULL,NULL,NULL,NULL,NULL,'Both','530522230',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear lincolnivanov54@fishmail.org',1,NULL,'Dear lincolnivanov54@fishmail.org',1,NULL,'lincolnivanov54@fishmail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(27,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Lincoln Wellness Systems','Lincoln Wellness Systems',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','3019785501',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Lincoln Wellness Systems',NULL,NULL,NULL,0,NULL,NULL,19,'Lincoln Wellness Systems',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(28,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Blackwell, Russell','Russell Blackwell',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','2850885391',NULL,'Sample Data','Russell','','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Russell Blackwell',NULL,NULL,'2001-08-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(29,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Irvin','Irvin Zope',NULL,NULL,NULL,NULL,NULL,'Both','1828686361',NULL,'Sample Data','Irvin','','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Irvin',1,NULL,'Dear Irvin',1,NULL,'Irvin Zope',NULL,2,'1991-11-07',0,NULL,NULL,NULL,'Rural Development Solutions',NULL,NULL,10,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(30,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Nicole','Dr. Nicole Nielsen',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','1986505883',NULL,'Sample Data','Nicole','K','Nielsen',4,NULL,NULL,NULL,1,NULL,'Dear Nicole',1,NULL,'Dear Nicole',1,NULL,'Dr. Nicole Nielsen',NULL,1,'1979-06-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(31,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs-Deforest family','Jacobs-Deforest family',NULL,NULL,NULL,NULL,NULL,'Both','2105138317',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jacobs-Deforest family',5,NULL,'Dear Jacobs-Deforest family',2,NULL,'Jacobs-Deforest family',NULL,NULL,NULL,0,NULL,'Jacobs-Deforest family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(32,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Brent','Brent Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','2357186266',NULL,'Sample Data','Brent','O','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Brent Jacobs',NULL,2,'1982-04-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(33,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Grant family','Grant family',NULL,NULL,NULL,NULL,NULL,'Both','3228000340',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Grant family',5,NULL,'Dear Grant family',2,NULL,'Grant family',NULL,NULL,NULL,0,NULL,'Grant family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(34,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Winford','Winford Nielsen Sr.',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','2406289221',NULL,'Sample Data','Winford','P','Nielsen',NULL,2,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Winford Nielsen Sr.',NULL,2,'2006-03-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(35,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Lashawnda','Ms. Lashawnda Deforest',NULL,NULL,NULL,NULL,NULL,'Both','1832484345',NULL,'Sample Data','Lashawnda','V','Deforest',2,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Ms. Lashawnda Deforest',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(36,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Troy','Troy Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','2945858562',NULL,'Sample Data','Troy','W','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Troy Jacobs',NULL,2,'1969-04-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(37,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Alida','Ms. Alida Wagner',NULL,NULL,NULL,NULL,NULL,'Both','3788165868',NULL,'Sample Data','Alida','L','Wagner',2,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Ms. Alida Wagner',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(38,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Sharyn','Ms. Sharyn Terry',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3160433036',NULL,'Sample Data','Sharyn','U','Terry',2,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Ms. Sharyn Terry',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(39,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Angelika','Angelika Díaz',NULL,NULL,NULL,NULL,NULL,'Both','4126805218',NULL,'Sample Data','Angelika','G','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Angelika Díaz',NULL,1,'1980-11-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(40,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'McReynolds, Teddy','Teddy McReynolds Jr.',NULL,NULL,NULL,NULL,NULL,'Both','3323367243',NULL,'Sample Data','Teddy','','McReynolds',NULL,1,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Teddy McReynolds Jr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(41,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Troy','Mr. Troy Wattson Sr.',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','189159826',NULL,'Sample Data','Troy','','Wattson',3,2,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Mr. Troy Wattson Sr.',NULL,NULL,'1989-05-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(42,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Betty','Betty Deforest',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','189178139',NULL,'Sample Data','Betty','E','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Betty',1,NULL,'Dear Betty',1,NULL,'Betty Deforest',NULL,NULL,'1986-06-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(43,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Betty','Dr. Betty Cooper',NULL,NULL,NULL,NULL,NULL,'Both','2283344606',NULL,'Sample Data','Betty','Y','Cooper',4,NULL,NULL,NULL,1,NULL,'Dear Betty',1,NULL,'Dear Betty',1,NULL,'Dr. Betty Cooper',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(44,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terrell, Jacob','Dr. Jacob Terrell',NULL,NULL,NULL,NULL,NULL,'Both','218246160',NULL,'Sample Data','Jacob','','Terrell',4,NULL,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Dr. Jacob Terrell',NULL,NULL,'1939-05-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(45,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Laree','Laree Grant',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','2029067467',NULL,'Sample Data','Laree','','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Laree',1,NULL,'Dear Laree',1,NULL,'Laree Grant',NULL,NULL,'1999-12-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(46,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jensen, Junko','Ms. Junko Jensen',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','2889888199',NULL,'Sample Data','Junko','F','Jensen',2,NULL,NULL,NULL,1,NULL,'Dear Junko',1,NULL,'Dear Junko',1,NULL,'Ms. Junko Jensen',NULL,1,'1979-07-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(47,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terrell, Esta','Esta Terrell',NULL,NULL,NULL,NULL,NULL,'Both','3319173143',NULL,'Sample Data','Esta','S','Terrell',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Terrell',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(48,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Yadav, Teddy','Teddy Yadav Jr.',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','456817363',NULL,'Sample Data','Teddy','G','Yadav',NULL,1,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Teddy Yadav Jr.',NULL,2,'1972-09-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(49,'Organization',NULL,1,0,0,0,1,0,NULL,NULL,'Rural Empowerment Alliance','Rural Empowerment Alliance',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','457022423',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Rural Empowerment Alliance',NULL,NULL,NULL,0,NULL,NULL,112,'Rural Empowerment Alliance',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(50,'Organization',NULL,0,1,0,0,1,0,NULL,NULL,'Carmel Culture Alliance','Carmel Culture Alliance',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','818107355',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Carmel Culture Alliance',NULL,NULL,NULL,0,NULL,NULL,NULL,'Carmel Culture Alliance',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(51,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Rodrigo','Mr. Rodrigo Díaz Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1921232492',NULL,'Sample Data','Rodrigo','X','Díaz',3,2,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Mr. Rodrigo Díaz Sr.',NULL,2,'1934-11-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(52,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Milwaukee Development Systems','Milwaukee Development Systems',NULL,NULL,NULL,NULL,NULL,'Both','639694741',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Milwaukee Development Systems',NULL,NULL,NULL,0,NULL,NULL,NULL,'Milwaukee Development Systems',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(53,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Carlos','Mr. Carlos McReynolds III',NULL,NULL,NULL,NULL,NULL,'Both','1986804051',NULL,'Sample Data','Carlos','M','McReynolds',3,4,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Mr. Carlos McReynolds III',NULL,2,'1972-01-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(54,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Díaz, Angelika','Mrs. Angelika Díaz',NULL,NULL,NULL,NULL,NULL,'Both','4126805218',NULL,'Sample Data','Angelika','','Díaz',1,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Mrs. Angelika Díaz',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(55,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Terry, Megan','Mrs. Megan Terry',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','3263409952',NULL,'Sample Data','Megan','F','Terry',1,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Mrs. Megan Terry',NULL,1,'1992-10-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(56,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Dimitrov, Sharyn','Sharyn Dimitrov',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1888129683',NULL,'Sample Data','Sharyn','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Dimitrov',NULL,1,'1968-11-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(57,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Patel, Kenny','Mr. Kenny Patel III',NULL,NULL,NULL,NULL,NULL,'Both','73584714',NULL,'Sample Data','Kenny','','Patel',3,4,NULL,NULL,1,NULL,'Dear Kenny',1,NULL,'Dear Kenny',1,NULL,'Mr. Kenny Patel III',NULL,2,'1936-07-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(58,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wilson, Kathlyn','Ms. Kathlyn Wilson',NULL,NULL,NULL,NULL,NULL,'Both','3568448992',NULL,'Sample Data','Kathlyn','R','Wilson',2,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Ms. Kathlyn Wilson',NULL,NULL,'1975-08-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(59,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Craig','Craig Olsen III',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1378827194',NULL,'Sample Data','Craig','U','Olsen',NULL,4,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Craig Olsen III',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(60,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Billy','Billy Wilson',NULL,NULL,NULL,NULL,NULL,'Both','93183395',NULL,'Sample Data','Billy','','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Billy Wilson',NULL,2,'1990-10-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(61,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Adams, Elbert','Mr. Elbert Adams',NULL,NULL,NULL,NULL,NULL,'Both','3476535287',NULL,'Sample Data','Elbert','','Adams',3,NULL,NULL,NULL,1,NULL,'Dear Elbert',1,NULL,'Dear Elbert',1,NULL,'Mr. Elbert Adams',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(62,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Samson, Maria','Maria Samson Jr.',NULL,NULL,NULL,NULL,NULL,'Both','1039221596',NULL,'Sample Data','Maria','K','Samson',NULL,1,NULL,NULL,1,NULL,'Dear Maria',1,NULL,'Dear Maria',1,NULL,'Maria Samson Jr.',NULL,2,'1960-08-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(63,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Truman','Mr. Truman Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','2301494139',NULL,'Sample Data','Truman','N','Ivanov',3,NULL,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Mr. Truman Ivanov',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(64,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Adams-Ivanov, Margaret','Margaret Adams-Ivanov',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','3449902709',NULL,'Sample Data','Margaret','','Adams-Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Margaret Adams-Ivanov',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(65,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Lou','Dr. Lou Adams',NULL,NULL,NULL,NULL,NULL,'Both','4150447467',NULL,'Sample Data','Lou','Y','Adams',4,NULL,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Dr. Lou Adams',NULL,2,'1942-10-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(66,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Ivey','Mrs. Ivey Cooper',NULL,NULL,NULL,NULL,NULL,'Both','4197158146',NULL,'Sample Data','Ivey','','Cooper',1,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Mrs. Ivey Cooper',NULL,1,'1949-02-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(67,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Ray','Mr. Ray Cruz',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','1703831601',NULL,'Sample Data','Ray','','Cruz',3,NULL,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Mr. Ray Cruz',NULL,2,'1949-10-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(68,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'rz.barkley@lol.co.pl','rz.barkley@lol.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','265872984',NULL,'Sample Data',NULL,NULL,NULL,NULL,1,NULL,NULL,1,NULL,'Dear rz.barkley@lol.co.pl',1,NULL,'Dear rz.barkley@lol.co.pl',1,NULL,'rz.barkley@lol.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(69,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'College Environmental Center','College Environmental Center',NULL,NULL,NULL,NULL,NULL,'Both','440895939',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'College Environmental Center',NULL,NULL,NULL,0,NULL,NULL,9,'College Environmental Center',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(70,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Tanya','Mrs. Tanya Barkley',NULL,NULL,NULL,NULL,NULL,'Both','2953066257',NULL,'Sample Data','Tanya','D','Barkley',1,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Mrs. Tanya Barkley',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(71,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Maxwell','Maxwell Łąchowski II',NULL,NULL,NULL,NULL,NULL,'Both','1815601516',NULL,'Sample Data','Maxwell','D','Łąchowski',NULL,3,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Łąchowski II',NULL,NULL,'2000-08-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(72,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Grant, Jerome','Jerome Grant',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','92527229',NULL,'Sample Data','Jerome','R','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Jerome Grant',NULL,2,'1960-07-31',0,NULL,NULL,NULL,'Hoopeston Education Academy',NULL,NULL,106,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(73,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Merrie','Merrie Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','779748961',NULL,'Sample Data','Merrie','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Merrie',1,NULL,'Dear Merrie',1,NULL,'Merrie Dimitrov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(74,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Ivanov, Clint','Clint Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','3280498131',NULL,'Sample Data','Clint','','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Clint Ivanov',NULL,2,'1958-06-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(75,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Esta','Esta Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','195412899',NULL,'Sample Data','Esta','','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Łąchowski',NULL,1,'1957-11-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(76,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Yadav, Norris','Norris Yadav',NULL,NULL,NULL,NULL,NULL,'Both','3408497299',NULL,'Sample Data','Norris','','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Norris Yadav',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(77,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski-Wattson, Junko','Dr. Junko Łąchowski-Wattson',NULL,NULL,NULL,NULL,NULL,'Both','3169136614',NULL,'Sample Data','Junko','','Łąchowski-Wattson',4,NULL,NULL,NULL,1,NULL,'Dear Junko',1,NULL,'Dear Junko',1,NULL,'Dr. Junko Łąchowski-Wattson',NULL,1,'1964-03-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(78,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wattson, Carylon','Carylon Wattson',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','1140408074',NULL,'Sample Data','Carylon','P','Wattson',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Wattson',NULL,NULL,'2011-10-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(79,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Wattson family','Wattson family',NULL,NULL,NULL,NULL,NULL,'Both','2851339192',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wattson family',5,NULL,'Dear Wattson family',2,NULL,'Wattson family',NULL,NULL,NULL,0,NULL,'Wattson family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(80,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Alida','Alida Smith',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','1328804767',NULL,'Sample Data','Alida','A','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Alida Smith',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(81,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'tbachman@testmail.net','tbachman@testmail.net',NULL,NULL,NULL,NULL,NULL,'Both','1703362243',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear tbachman@testmail.net',1,NULL,'Dear tbachman@testmail.net',1,NULL,'tbachman@testmail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(82,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Carylon','Carylon Ivanov',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3841280474',NULL,'Sample Data','Carylon','G','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Ivanov',NULL,1,'2007-05-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(83,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Missouri Advocacy Partnership','Missouri Advocacy Partnership',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','2468596284',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Missouri Advocacy Partnership',NULL,NULL,NULL,0,NULL,NULL,135,'Missouri Advocacy Partnership',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(84,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terrell, Beula','Mrs. Beula Terrell',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','413084989',NULL,'Sample Data','Beula','C','Terrell',1,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Mrs. Beula Terrell',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(85,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Josefa','Josefa Bachman',NULL,NULL,NULL,NULL,NULL,'Both','3802069296',NULL,'Sample Data','Josefa','','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Josefa Bachman',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(86,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Iris','Dr. Iris Adams',NULL,NULL,NULL,NULL,NULL,'Both','80644186',NULL,'Sample Data','Iris','O','Adams',4,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Dr. Iris Adams',NULL,1,'1972-05-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(87,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Bachman, Brigette','Brigette Bachman',NULL,NULL,NULL,NULL,NULL,'Both','692911964',NULL,'Sample Data','Brigette','Y','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Brigette Bachman',NULL,1,'1966-11-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(88,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Nicole','Nicole Nielsen',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','1986505883',NULL,'Sample Data','Nicole','G','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Nicole',1,NULL,'Dear Nicole',1,NULL,'Nicole Nielsen',NULL,1,'1964-04-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(89,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov family','Dimitrov family',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','3351288571',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Dimitrov family',5,NULL,'Dear Dimitrov family',2,NULL,'Dimitrov family',NULL,NULL,NULL,0,NULL,'Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(90,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'nielsenw@infomail.info','nielsenw@infomail.info',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','2193853686',NULL,'Sample Data',NULL,NULL,NULL,NULL,2,NULL,NULL,1,NULL,'Dear nielsenw@infomail.info',1,NULL,'Dear nielsenw@infomail.info',1,NULL,'nielsenw@infomail.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(91,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Jay','Mr. Jay Blackwell II',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','87759303',NULL,'Sample Data','Jay','I','Blackwell',3,3,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Mr. Jay Blackwell II',NULL,2,NULL,0,NULL,NULL,NULL,'Iowa Software Services',NULL,NULL,144,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(92,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Bachman, Josefa','Josefa Bachman',NULL,NULL,NULL,NULL,NULL,'Both','3802069296',NULL,'Sample Data','Josefa','A','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Josefa Bachman',NULL,1,'2016-03-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(93,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'McReynolds, Clint','Dr. Clint McReynolds',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3847785527',NULL,'Sample Data','Clint','','McReynolds',4,NULL,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Dr. Clint McReynolds',NULL,2,'1980-01-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:17'),(94,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'swattson12@spamalot.co.nz','swattson12@spamalot.co.nz',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3572901193',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear swattson12@spamalot.co.nz',1,NULL,'Dear swattson12@spamalot.co.nz',1,NULL,'swattson12@spamalot.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(95,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman family','Bachman family',NULL,NULL,NULL,NULL,NULL,'Both','1714131215',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Bachman family',5,NULL,'Dear Bachman family',2,NULL,'Bachman family',NULL,NULL,NULL,0,NULL,'Bachman family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(96,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Samson-Jensen family','Samson-Jensen family',NULL,NULL,NULL,NULL,NULL,'Both','2833861314',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Samson-Jensen family',5,NULL,'Dear Samson-Jensen family',2,NULL,'Samson-Jensen family',NULL,NULL,NULL,0,NULL,'Samson-Jensen family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(97,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terry-Wilson, Eleonor','Ms. Eleonor Terry-Wilson',NULL,NULL,NULL,NULL,NULL,'Both','390950992',NULL,'Sample Data','Eleonor','','Terry-Wilson',2,NULL,NULL,NULL,1,NULL,'Dear Eleonor',1,NULL,'Dear Eleonor',1,NULL,'Ms. Eleonor Terry-Wilson',NULL,1,'1970-06-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(98,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Sanford','Sanford Blackwell',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3211231891',NULL,'Sample Data','Sanford','','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Sanford',1,NULL,'Dear Sanford',1,NULL,'Sanford Blackwell',NULL,NULL,'1968-12-25',0,NULL,NULL,NULL,'Rural Empowerment Fellowship',NULL,NULL,16,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(99,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Claudio','Dr. Claudio Zope Jr.',NULL,NULL,NULL,NULL,NULL,'Both','3870428103',NULL,'Sample Data','Claudio','','Zope',4,1,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Dr. Claudio Zope Jr.',NULL,NULL,'1961-01-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(100,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Adams family','Adams family',NULL,NULL,NULL,NULL,NULL,'Both','1515323104',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Adams family',5,NULL,'Dear Adams family',2,NULL,'Adams family',NULL,NULL,NULL,0,NULL,'Adams family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(101,'Organization',NULL,1,0,0,0,1,0,NULL,NULL,'Hartford Legal Services','Hartford Legal Services',NULL,NULL,NULL,NULL,NULL,'Both','1318700439',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Hartford Legal Services',NULL,NULL,NULL,0,NULL,NULL,184,'Hartford Legal Services',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(102,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Zope family','Zope family',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','1649131487',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope family',5,NULL,'Dear Zope family',2,NULL,'Zope family',NULL,NULL,NULL,0,NULL,'Zope family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(103,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Kacey','Kacey Jacobs',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1510706462',NULL,'Sample Data','Kacey','Q','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Kacey Jacobs',NULL,NULL,'1986-01-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(104,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz-Cruz, Lashawnda','Lashawnda Díaz-Cruz',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','3516620787',NULL,'Sample Data','Lashawnda','','Díaz-Cruz',NULL,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Lashawnda Díaz-Cruz',NULL,NULL,'1987-08-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(105,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Errol','Errol Łąchowski II',NULL,NULL,NULL,NULL,NULL,'Both','4217414454',NULL,'Sample Data','Errol','','Łąchowski',NULL,3,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Łąchowski II',NULL,2,'2002-07-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(106,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Hoopeston Education Academy','Hoopeston Education Academy',NULL,NULL,NULL,NULL,NULL,'Both','2938746154',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Hoopeston Education Academy',NULL,NULL,NULL,0,NULL,NULL,72,'Hoopeston Education Academy',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(107,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Valene','Valene Wattson',NULL,NULL,NULL,NULL,NULL,'Both','3149820460',NULL,'Sample Data','Valene','S','Wattson',NULL,NULL,NULL,NULL,1,NULL,'Dear Valene',1,NULL,'Dear Valene',1,NULL,'Valene Wattson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(108,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Sonny','Sonny Ivanov III',NULL,NULL,NULL,NULL,NULL,'Both','3391307655',NULL,'Sample Data','Sonny','','Ivanov',NULL,4,NULL,NULL,1,NULL,'Dear Sonny',1,NULL,'Dear Sonny',1,NULL,'Sonny Ivanov III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(109,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Zope, Ivey','Mrs. Ivey Zope',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','2367978806',NULL,'Sample Data','Ivey','P','Zope',1,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Mrs. Ivey Zope',NULL,NULL,'1989-07-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(110,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Allan','Allan Parker III',NULL,NULL,NULL,NULL,NULL,'Both','1311923270',NULL,'Sample Data','Allan','R','Parker',NULL,4,NULL,NULL,1,NULL,'Dear Allan',1,NULL,'Dear Allan',1,NULL,'Allan Parker III',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(111,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Yadav, Iris','Dr. Iris Yadav',NULL,NULL,NULL,NULL,NULL,'Both','3117553975',NULL,'Sample Data','Iris','','Yadav',4,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Dr. Iris Yadav',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(112,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Herminia','Herminia Yadav',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','201559464',NULL,'Sample Data','Herminia','J','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Yadav',NULL,NULL,'1999-11-07',0,NULL,NULL,NULL,'Rural Empowerment Alliance',NULL,NULL,49,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(113,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Cruz, Sonny','Sonny Cruz',NULL,NULL,NULL,NULL,NULL,'Both','3533503854',NULL,'Sample Data','Sonny','E','Cruz',NULL,NULL,NULL,NULL,1,NULL,'Dear Sonny',1,NULL,'Dear Sonny',1,NULL,'Sonny Cruz',NULL,NULL,'1970-08-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(114,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Adams, Allan','Allan Adams Jr.',NULL,NULL,NULL,NULL,NULL,'Both','221973733',NULL,'Sample Data','Allan','O','Adams',NULL,1,NULL,NULL,1,NULL,'Dear Allan',1,NULL,'Dear Allan',1,NULL,'Allan Adams Jr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(115,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Zope, Rebekah','Ms. Rebekah Zope',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1246541996',NULL,'Sample Data','Rebekah','S','Zope',2,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Ms. Rebekah Zope',NULL,NULL,'1949-05-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(116,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Kathlyn','Dr. Kathlyn Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','3934921435',NULL,'Sample Data','Kathlyn','','Dimitrov',4,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Dr. Kathlyn Dimitrov',NULL,1,'1986-09-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(117,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Mei','Mei Cruz',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','187652380',NULL,'Sample Data','Mei','','Cruz',NULL,NULL,NULL,NULL,1,NULL,'Dear Mei',1,NULL,'Dear Mei',1,NULL,'Mei Cruz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(118,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Valene','Dr. Valene Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','3505308616',NULL,'Sample Data','Valene','','Ivanov',4,NULL,NULL,NULL,1,NULL,'Dear Valene',1,NULL,'Dear Valene',1,NULL,'Dr. Valene Ivanov',NULL,1,'1955-09-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(119,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels, Miguel','Mr. Miguel Samuels',NULL,NULL,NULL,NULL,NULL,'Both','1633688376',NULL,'Sample Data','Miguel','J','Samuels',3,NULL,NULL,NULL,1,NULL,'Dear Miguel',1,NULL,'Dear Miguel',1,NULL,'Mr. Miguel Samuels',NULL,2,'1961-10-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(120,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Zope, Alexia','Ms. Alexia Zope',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','2939872630',NULL,'Sample Data','Alexia','','Zope',2,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Ms. Alexia Zope',NULL,1,'1970-04-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(121,'Organization',NULL,0,1,0,0,1,0,NULL,NULL,'Progressive Development Fellowship','Progressive Development Fellowship',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','3744338254',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Progressive Development Fellowship',NULL,NULL,NULL,0,NULL,NULL,NULL,'Progressive Development Fellowship',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(122,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Oklahoma Food Network','Oklahoma Food Network',NULL,NULL,NULL,NULL,NULL,'Both','2947187712',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Oklahoma Food Network',NULL,NULL,NULL,0,NULL,NULL,164,'Oklahoma Food Network',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(123,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Justina','Mrs. Justina McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','1146130692',NULL,'Sample Data','Justina','L','McReynolds',1,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Mrs. Justina McReynolds',NULL,1,'1939-09-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(124,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Dimitrov, Herminia','Herminia Dimitrov',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','4241728416',NULL,'Sample Data','Herminia','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Dimitrov',NULL,1,'1965-10-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(125,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'González, Felisha','Felisha González',NULL,NULL,NULL,NULL,NULL,'Both','1431109871',NULL,'Sample Data','Felisha','','González',NULL,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Felisha González',NULL,1,'1986-01-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(126,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels, Billy','Dr. Billy Samuels II',NULL,NULL,NULL,NULL,NULL,'Both','92935923',NULL,'Sample Data','Billy','A','Samuels',4,3,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Dr. Billy Samuels II',NULL,2,'1949-03-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(127,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Scott','Dr. Scott Bachman',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3146978953',NULL,'Sample Data','Scott','Q','Bachman',4,NULL,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Dr. Scott Bachman',NULL,2,'1966-07-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(128,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Deforest, Juliann','Juliann Deforest',NULL,NULL,NULL,NULL,NULL,'Both','3366299166',NULL,'Sample Data','Juliann','N','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Deforest',NULL,1,'1976-12-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(129,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'ivanov.j.santina62@sample.net','ivanov.j.santina62@sample.net',NULL,NULL,NULL,NULL,NULL,'Both','2263497143',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear ivanov.j.santina62@sample.net',1,NULL,'Dear ivanov.j.santina62@sample.net',1,NULL,'ivanov.j.santina62@sample.net',NULL,NULL,NULL,0,NULL,NULL,NULL,'Dowlen Education School',NULL,NULL,152,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(130,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Smith family','Smith family',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','4082772645',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Smith family',5,NULL,'Dear Smith family',2,NULL,'Smith family',NULL,NULL,NULL,0,NULL,'Smith family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(131,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González, Bernadette','Bernadette González',NULL,NULL,NULL,NULL,NULL,'Both','3507551861',NULL,'Sample Data','Bernadette','S','González',NULL,NULL,NULL,NULL,1,NULL,'Dear Bernadette',1,NULL,'Dear Bernadette',1,NULL,'Bernadette González',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(132,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Elina','Elina Terry',NULL,NULL,NULL,NULL,NULL,'Both','2453833535',NULL,'Sample Data','Elina','','Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Elina',1,NULL,'Dear Elina',1,NULL,'Elina Terry',NULL,1,'1939-06-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(133,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'McReynolds, Truman','Dr. Truman McReynolds Sr.',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','779089403',NULL,'Sample Data','Truman','U','McReynolds',4,2,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Dr. Truman McReynolds Sr.',NULL,2,'1989-01-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(134,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski-Deforest, Mei','Mrs. Mei Łąchowski-Deforest',NULL,NULL,NULL,NULL,NULL,'Both','2036331312',NULL,'Sample Data','Mei','','Łąchowski-Deforest',1,NULL,NULL,NULL,1,NULL,'Dear Mei',1,NULL,'Dear Mei',1,NULL,'Mrs. Mei Łąchowski-Deforest',NULL,NULL,'1957-11-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(135,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Lee, Ray','Ray Lee',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','77853179',NULL,'Sample Data','Ray','Z','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray Lee',NULL,2,'1990-10-02',0,NULL,NULL,NULL,'Missouri Advocacy Partnership',NULL,NULL,83,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(136,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest family','Deforest family',NULL,NULL,NULL,NULL,NULL,'Both','3235379039',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Deforest family',5,NULL,'Dear Deforest family',2,NULL,'Deforest family',NULL,NULL,NULL,0,NULL,'Deforest family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(137,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Norris','Norris Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','3047702889',NULL,'Sample Data','Norris','X','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Norris Jacobs',NULL,2,'2011-03-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:17'),(138,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Adams, Esta','Esta Adams',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','1125073025',NULL,'Sample Data','Esta','C','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Adams',NULL,1,'1955-05-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(139,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Erik','Erik Łąchowski Sr.',NULL,NULL,NULL,NULL,NULL,'Both','366881942',NULL,'Sample Data','Erik','N','Łąchowski',NULL,2,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Łąchowski Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(140,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'russelldimitrov44@mymail.co.in','russelldimitrov44@mymail.co.in',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','3263195812',NULL,'Sample Data',NULL,NULL,NULL,3,1,NULL,NULL,1,NULL,'Dear russelldimitrov44@mymail.co.in',1,NULL,'Dear russelldimitrov44@mymail.co.in',1,NULL,'russelldimitrov44@mymail.co.in',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(141,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Allan','Mr. Allan Ivanov',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','3313048045',NULL,'Sample Data','Allan','A','Ivanov',3,NULL,NULL,NULL,1,NULL,'Dear Allan',1,NULL,'Dear Allan',1,NULL,'Mr. Allan Ivanov',NULL,2,'1983-05-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(142,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Bob','Bob Grant III',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','2147877951',NULL,'Sample Data','Bob','G','Grant',NULL,4,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Bob Grant III',NULL,2,'2000-02-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(143,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs-Deforest, Alexia','Alexia Jacobs-Deforest',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','708896717',NULL,'Sample Data','Alexia','T','Jacobs-Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Jacobs-Deforest',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(144,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Iowa Software Services','Iowa Software Services',NULL,NULL,NULL,NULL,NULL,'Both','2581080232',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Iowa Software Services',NULL,NULL,NULL,0,NULL,NULL,91,'Iowa Software Services',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(145,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Elina','Mrs. Elina Deforest',NULL,NULL,NULL,NULL,NULL,'Both','1943101487',NULL,'Sample Data','Elina','K','Deforest',1,NULL,NULL,NULL,1,NULL,'Dear Elina',1,NULL,'Dear Elina',1,NULL,'Mrs. Elina Deforest',NULL,1,'1992-10-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(146,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terrell, Billy','Mr. Billy Terrell',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','1389531692',NULL,'Sample Data','Billy','Y','Terrell',3,NULL,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Mr. Billy Terrell',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(147,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Teresa','Teresa Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','4252064413',NULL,'Sample Data','Teresa','','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Teresa Łąchowski',NULL,1,'1938-10-05',1,'2020-04-22',NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(148,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson family','Wilson family',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','350510798',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wilson family',5,NULL,'Dear Wilson family',2,NULL,'Wilson family',NULL,NULL,NULL,0,NULL,'Wilson family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(149,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice, Princess','Princess Prentice',NULL,NULL,NULL,NULL,NULL,'Both','4046145534',NULL,'Sample Data','Princess','','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Princess Prentice',NULL,1,'1947-02-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(150,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Pasadena Environmental School','Pasadena Environmental School',NULL,NULL,NULL,NULL,NULL,'Both','1675051761',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Pasadena Environmental School',NULL,NULL,NULL,0,NULL,NULL,NULL,'Pasadena Environmental School',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(151,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz-Cruz, Shauna','Shauna Díaz-Cruz',NULL,NULL,NULL,NULL,NULL,'Both','3508550130',NULL,'Sample Data','Shauna','J','Díaz-Cruz',NULL,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Shauna Díaz-Cruz',NULL,NULL,'1984-07-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(152,'Organization',NULL,0,1,0,0,1,0,NULL,NULL,'Dowlen Education School','Dowlen Education School',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','2260602459',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Dowlen Education School',NULL,NULL,NULL,0,NULL,NULL,129,'Dowlen Education School',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(153,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Ivanov, Merrie','Merrie Ivanov',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','2861667534',NULL,'Sample Data','Merrie','B','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Merrie',1,NULL,'Dear Merrie',1,NULL,'Merrie Ivanov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(154,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'nielsent77@example.co.uk','nielsent77@example.co.uk',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','244806877',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear nielsent77@example.co.uk',1,NULL,'Dear nielsent77@example.co.uk',1,NULL,'nielsent77@example.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(155,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Grant, Bryon','Mr. Bryon Grant',NULL,NULL,NULL,NULL,NULL,'Both','3825566776',NULL,'Sample Data','Bryon','','Grant',3,NULL,NULL,NULL,1,NULL,'Dear Bryon',1,NULL,'Dear Bryon',1,NULL,'Mr. Bryon Grant',NULL,2,'1970-10-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(156,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Łąchowski family','Łąchowski family',NULL,NULL,NULL,NULL,NULL,'Both','2407077255',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Łąchowski family',5,NULL,'Dear Łąchowski family',2,NULL,'Łąchowski family',NULL,NULL,NULL,0,NULL,'Łąchowski family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(157,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Rebekah','Rebekah Barkley',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','3218825396',NULL,'Sample Data','Rebekah','K','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Barkley',NULL,NULL,'1949-09-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(158,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov family','Ivanov family',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','2450779112',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Ivanov family',5,NULL,'Dear Ivanov family',2,NULL,'Ivanov family',NULL,NULL,NULL,0,NULL,'Ivanov family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(159,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson, Truman','Mr. Truman Wilson',NULL,NULL,NULL,NULL,NULL,'Both','1537569075',NULL,'Sample Data','Truman','H','Wilson',3,NULL,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Mr. Truman Wilson',NULL,2,'1959-11-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(160,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'elizabetht@example.net','elizabetht@example.net',NULL,NULL,NULL,NULL,NULL,'Both','4190339068',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear elizabetht@example.net',1,NULL,'Dear elizabetht@example.net',1,NULL,'elizabetht@example.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(161,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Blackwell, Valene','Valene Blackwell',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3670255254',NULL,'Sample Data','Valene','I','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Valene',1,NULL,'Dear Valene',1,NULL,'Valene Blackwell',NULL,NULL,'1957-06-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(162,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov family','Ivanov family',NULL,NULL,NULL,NULL,NULL,'Both','2450779112',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Ivanov family',5,NULL,'Dear Ivanov family',2,NULL,'Ivanov family',NULL,NULL,NULL,0,NULL,'Ivanov family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(163,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Beula','Beula Jameson',NULL,NULL,NULL,NULL,NULL,'Both','3713419157',NULL,'Sample Data','Beula','S','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Beula Jameson',NULL,1,'2010-01-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(164,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Brigette','Brigette Cruz',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','2081611913',NULL,'Sample Data','Brigette','A','Cruz',NULL,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Brigette Cruz',NULL,1,'1995-10-07',0,NULL,NULL,NULL,'Oklahoma Food Network',NULL,NULL,122,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(165,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Wilson, Carlos','Carlos Wilson Jr.',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','61259163',NULL,'Sample Data','Carlos','','Wilson',NULL,1,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Wilson Jr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(166,'Household',NULL,1,1,0,0,0,0,NULL,NULL,'Nielsen family','Nielsen family',NULL,NULL,NULL,NULL,NULL,'Both','766698874',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Nielsen family',5,NULL,'Dear Nielsen family',2,NULL,'Nielsen family',NULL,NULL,NULL,0,NULL,'Nielsen family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(167,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'South Dakota Agriculture Solutions','South Dakota Agriculture Solutions',NULL,NULL,NULL,NULL,NULL,'Both','3201475721',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'South Dakota Agriculture Solutions',NULL,NULL,NULL,0,NULL,NULL,NULL,'South Dakota Agriculture Solutions',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(168,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jensen, Omar','Dr. Omar Jensen III',NULL,NULL,NULL,NULL,NULL,'Both','901398935',NULL,'Sample Data','Omar','','Jensen',4,4,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Dr. Omar Jensen III',NULL,NULL,'1958-06-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(169,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'sz.smith15@fakemail.net','sz.smith15@fakemail.net',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','2465389626',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear sz.smith15@fakemail.net',1,NULL,'Dear sz.smith15@fakemail.net',1,NULL,'sz.smith15@fakemail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(170,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Ivanov, Heidi','Mrs. Heidi Ivanov',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','1354340123',NULL,'Sample Data','Heidi','','Ivanov',1,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Mrs. Heidi Ivanov',NULL,1,'1952-09-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(171,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Nicole','Nicole Parker',NULL,NULL,NULL,NULL,NULL,'Both','693554904',NULL,'Sample Data','Nicole','','Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Nicole',1,NULL,'Dear Nicole',1,NULL,'Nicole Parker',NULL,1,'1954-09-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(172,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Müller, Kathlyn','Dr. Kathlyn Müller',NULL,NULL,NULL,NULL,NULL,'Both','3374170651',NULL,'Sample Data','Kathlyn','Q','Müller',4,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Dr. Kathlyn Müller',NULL,1,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(173,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Lawerence','Lawerence Bachman',NULL,NULL,NULL,NULL,NULL,'Both','2961144560',NULL,'Sample Data','Lawerence','L','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Lawerence Bachman',NULL,NULL,'1973-08-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(174,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav-Bachman, Shauna','Dr. Shauna Yadav-Bachman',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','3566842349',NULL,'Sample Data','Shauna','','Yadav-Bachman',4,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Dr. Shauna Yadav-Bachman',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(175,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Kiara','Kiara Müller',NULL,NULL,NULL,NULL,NULL,'Both','2544954591',NULL,'Sample Data','Kiara','','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Müller',NULL,1,'1999-08-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(176,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Van Ness Environmental Fund','Van Ness Environmental Fund',NULL,NULL,NULL,NULL,NULL,'Both','1496684029',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Van Ness Environmental Fund',NULL,NULL,NULL,0,NULL,NULL,NULL,'Van Ness Environmental Fund',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(177,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Deforest, Shauna','Mrs. Shauna Deforest',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','826633613',NULL,'Sample Data','Shauna','N','Deforest',1,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Mrs. Shauna Deforest',NULL,NULL,'1953-04-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(178,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Elina','Elina Grant',NULL,NULL,NULL,NULL,NULL,'Both','1935800100',NULL,'Sample Data','Elina','P','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Elina',1,NULL,'Dear Elina',1,NULL,'Elina Grant',NULL,1,'1967-06-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(179,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'McReynolds, Kathleen','Kathleen McReynolds',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','3353878517',NULL,'Sample Data','Kathleen','','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen McReynolds',NULL,1,'1944-07-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(180,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz-Cruz family','Díaz-Cruz family',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','1886033493',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Díaz-Cruz family',5,NULL,'Dear Díaz-Cruz family',2,NULL,'Díaz-Cruz family',NULL,NULL,NULL,0,NULL,'Díaz-Cruz family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(181,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Megan','Megan Dimitrov',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','604448148',NULL,'Sample Data','Megan','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Megan Dimitrov',NULL,NULL,'2005-03-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(182,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Cadell Education Solutions','Cadell Education Solutions',NULL,NULL,NULL,NULL,NULL,'Both','340508447',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Cadell Education Solutions',NULL,NULL,NULL,0,NULL,NULL,NULL,'Cadell Education Solutions',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(183,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Beula','Ms. Beula Smith',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','2826835673',NULL,'Sample Data','Beula','','Smith',2,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Ms. Beula Smith',NULL,1,'1958-01-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(184,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Parker-Yadav, Russell','Dr. Russell Parker-Yadav',NULL,NULL,NULL,NULL,NULL,'Both','1688015483',NULL,'Sample Data','Russell','I','Parker-Yadav',4,NULL,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Dr. Russell Parker-Yadav',NULL,2,NULL,0,NULL,NULL,NULL,'Hartford Legal Services',NULL,NULL,101,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(185,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Billy','Billy Jones',NULL,NULL,NULL,NULL,NULL,'Both','1398318930',NULL,'Sample Data','Billy','T','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Billy Jones',NULL,2,'1952-10-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(186,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Smith, Omar','Omar Smith III',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1048289209',NULL,'Sample Data','Omar','A','Smith',NULL,4,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Omar Smith III',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(187,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jacobs, Sherman','Dr. Sherman Jacobs',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','4209151044',NULL,'Sample Data','Sherman','','Jacobs',4,NULL,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Dr. Sherman Jacobs',NULL,NULL,'1964-03-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(188,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Troy','Dr. Troy Wagner',NULL,NULL,NULL,NULL,NULL,'Both','2399364740',NULL,'Sample Data','Troy','','Wagner',4,NULL,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Dr. Troy Wagner',NULL,2,'1947-10-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(189,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Cruz, Teresa','Teresa Cruz',NULL,NULL,NULL,NULL,NULL,'Both','4189039028',NULL,'Sample Data','Teresa','','Cruz',NULL,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Teresa Cruz',NULL,1,'1990-08-25',0,NULL,NULL,NULL,'Charleston Education Partners',NULL,NULL,200,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(190,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Ivanov, Kiara','Dr. Kiara Ivanov',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1100955182',NULL,'Sample Data','Kiara','V','Ivanov',4,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Dr. Kiara Ivanov',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(191,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Blackwell, Teddy','Teddy Blackwell Sr.',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','3440187169',NULL,'Sample Data','Teddy','G','Blackwell',NULL,2,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Teddy Blackwell Sr.',NULL,2,'1953-04-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(192,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Smith, Roland','Roland Smith Sr.',NULL,NULL,NULL,NULL,NULL,'Both','2353910553',NULL,'Sample Data','Roland','F','Smith',NULL,2,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Roland Smith Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(193,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman family','Bachman family',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','1714131215',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Bachman family',5,NULL,'Dear Bachman family',2,NULL,'Bachman family',NULL,NULL,NULL,0,NULL,'Bachman family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(194,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Iris','Dr. Iris McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','2556119128',NULL,'Sample Data','Iris','','McReynolds',4,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Dr. Iris McReynolds',NULL,1,'1984-07-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(195,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Díaz, Merrie','Mrs. Merrie Díaz',NULL,NULL,NULL,NULL,NULL,'Both','2834257935',NULL,'Sample Data','Merrie','','Díaz',1,NULL,NULL,NULL,1,NULL,'Dear Merrie',1,NULL,'Dear Merrie',1,NULL,'Mrs. Merrie Díaz',NULL,1,'1985-02-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(196,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'kb.smith86@notmail.biz','kb.smith86@notmail.biz',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','794258017',NULL,'Sample Data',NULL,NULL,NULL,4,1,NULL,NULL,1,NULL,'Dear kb.smith86@notmail.biz',1,NULL,'Dear kb.smith86@notmail.biz',1,NULL,'kb.smith86@notmail.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(197,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson-Jensen, Maxwell','Maxwell Samson-Jensen III',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','451752409',NULL,'Sample Data','Maxwell','J','Samson-Jensen',NULL,4,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Samson-Jensen III',NULL,NULL,'2002-03-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:19'),(198,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'errololsen14@notmail.com','errololsen14@notmail.com',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','3866516603',NULL,'Sample Data',NULL,NULL,NULL,4,3,NULL,NULL,1,NULL,'Dear errololsen14@notmail.com',1,NULL,'Dear errololsen14@notmail.com',1,NULL,'errololsen14@notmail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(199,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Justina','Justina Lee',NULL,NULL,NULL,NULL,NULL,'Both','2721326696',NULL,'Sample Data','Justina','S','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Justina Lee',NULL,1,'1937-05-22',1,'2019-08-07',NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(200,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Charleston Education Partners','Charleston Education Partners',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','2507837447',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Charleston Education Partners',NULL,NULL,NULL,0,NULL,NULL,189,'Charleston Education Partners',NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18'),(201,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds family','McReynolds family',NULL,NULL,NULL,NULL,NULL,'Both','3032680972',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear McReynolds family',5,NULL,'Dear McReynolds family',2,NULL,'McReynolds family',NULL,NULL,NULL,0,NULL,'McReynolds family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-04 09:38:17','2020-06-04 09:38:18');
+INSERT INTO `civicrm_contact` (`id`, `contact_type`, `contact_sub_type`, `do_not_email`, `do_not_phone`, `do_not_mail`, `do_not_sms`, `do_not_trade`, `is_opt_out`, `legal_identifier`, `external_identifier`, `sort_name`, `display_name`, `nick_name`, `legal_name`, `image_URL`, `preferred_communication_method`, `preferred_language`, `preferred_mail_format`, `hash`, `api_key`, `source`, `first_name`, `middle_name`, `last_name`, `prefix_id`, `suffix_id`, `formal_title`, `communication_style_id`, `email_greeting_id`, `email_greeting_custom`, `email_greeting_display`, `postal_greeting_id`, `postal_greeting_custom`, `postal_greeting_display`, `addressee_id`, `addressee_custom`, `addressee_display`, `job_title`, `gender_id`, `birth_date`, `is_deceased`, `deceased_date`, `household_name`, `primary_contact_id`, `organization_name`, `sic_code`, `user_unique_id`, `employer_id`, `is_deleted`, `created_date`, `modified_date`) VALUES (1,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Default Organization','Default Organization',NULL,'Default Organization',NULL,NULL,NULL,'Both',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,'Default Organization',NULL,NULL,NULL,0,NULL,'2020-06-10 02:45:21'),(2,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Smith family','Smith family',NULL,NULL,NULL,NULL,NULL,'Both','4082772645',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Smith family',5,NULL,'Dear Smith family',2,NULL,'Smith family',NULL,NULL,NULL,0,NULL,'Smith family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(3,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Kandace','Dr. Kandace Cooper',NULL,NULL,NULL,NULL,NULL,'Both','3097920317',NULL,'Sample Data','Kandace','Q','Cooper',4,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Dr. Kandace Cooper',NULL,1,'1978-09-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(4,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'reynolds.errol@testmail.net','reynolds.errol@testmail.net',NULL,NULL,NULL,NULL,NULL,'Both','485029899',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear reynolds.errol@testmail.net',1,NULL,'Dear reynolds.errol@testmail.net',1,NULL,'reynolds.errol@testmail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(5,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wagner-Jacobs, Russell','Russell Wagner-Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','4167485278',NULL,'Sample Data','Russell','','Wagner-Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Russell Wagner-Jacobs',NULL,2,'1983-11-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(6,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Lincoln','Lincoln Smith',NULL,NULL,NULL,NULL,NULL,'Both','3833936283',NULL,'Sample Data','Lincoln','J','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Lincoln',1,NULL,'Dear Lincoln',1,NULL,'Lincoln Smith',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(7,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Jackson','Dr. Jackson Lee III',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','3405561048',NULL,'Sample Data','Jackson','R','Lee',4,4,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Dr. Jackson Lee III',NULL,2,'1979-11-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(8,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wagner, Megan','Mrs. Megan Wagner',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','3194270905',NULL,'Sample Data','Megan','','Wagner',1,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Mrs. Megan Wagner',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(9,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'jacobjensen58@infomail.biz','jacobjensen58@infomail.biz',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','1537976553',NULL,'Sample Data',NULL,NULL,NULL,4,1,NULL,NULL,1,NULL,'Dear jacobjensen58@infomail.biz',1,NULL,'Dear jacobjensen58@infomail.biz',1,NULL,'jacobjensen58@infomail.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(10,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Jerome','Jerome Terry',NULL,NULL,NULL,NULL,NULL,'Both','2399613153',NULL,'Sample Data','Jerome','','Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Jerome Terry',NULL,2,'1942-05-01',1,'2019-06-19',NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(11,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'ru.smith69@spamalot.co.in','ru.smith69@spamalot.co.in',NULL,NULL,NULL,NULL,NULL,'Both','1615929152',NULL,'Sample Data',NULL,NULL,NULL,3,2,NULL,NULL,1,NULL,'Dear ru.smith69@spamalot.co.in',1,NULL,'Dear ru.smith69@spamalot.co.in',1,NULL,'ru.smith69@spamalot.co.in',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(12,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Terry, Shad','Shad Terry',NULL,NULL,NULL,NULL,NULL,'Both','3306428162',NULL,'Sample Data','Shad','D','Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Shad Terry',NULL,2,'1997-11-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(13,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Cooper, Landon','Landon Cooper',NULL,NULL,NULL,NULL,NULL,'Both','3917161471',NULL,'Sample Data','Landon','','Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Landon Cooper',NULL,2,'2010-09-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(14,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'ivanov.shad38@lol.org','ivanov.shad38@lol.org',NULL,NULL,NULL,NULL,NULL,'Both','1194442870',NULL,'Sample Data',NULL,NULL,NULL,3,NULL,NULL,NULL,1,NULL,'Dear ivanov.shad38@lol.org',1,NULL,'Dear ivanov.shad38@lol.org',1,NULL,'ivanov.shad38@lol.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(15,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Jina','Jina Parker',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3662235074',NULL,'Sample Data','Jina','N','Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Jina Parker',NULL,1,'1963-06-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(16,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Rosario','Rosario Barkley III',NULL,NULL,NULL,NULL,NULL,'Both','2313743843',NULL,'Sample Data','Rosario','V','Barkley',NULL,4,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Rosario Barkley III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(17,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Łąchowski family','Łąchowski family',NULL,NULL,NULL,NULL,NULL,'Both','2407077255',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Łąchowski family',5,NULL,'Dear Łąchowski family',2,NULL,'Łąchowski family',NULL,NULL,NULL,0,NULL,'Łąchowski family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(18,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Brzęczysław','Brzęczysław Wattson III',NULL,NULL,NULL,NULL,NULL,'Both','1189364369',NULL,'Sample Data','Brzęczysław','','Wattson',NULL,4,NULL,NULL,1,NULL,'Dear Brzęczysław',1,NULL,'Dear Brzęczysław',1,NULL,'Brzęczysław Wattson III',NULL,2,NULL,0,NULL,NULL,NULL,'Wisconsin Wellness Alliance',NULL,NULL,178,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(19,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Adams-Wilson, Ray','Ray Adams-Wilson II',NULL,NULL,NULL,NULL,NULL,'Both','2328256588',NULL,'Sample Data','Ray','Z','Adams-Wilson',NULL,3,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray Adams-Wilson II',NULL,2,'1986-08-30',0,NULL,NULL,NULL,'Farmington Poetry Services',NULL,NULL,39,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(20,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Roberts, Allen','Mr. Allen Roberts',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','1308913179',NULL,'Sample Data','Allen','','Roberts',3,NULL,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Mr. Allen Roberts',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(21,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Brigette','Ms. Brigette Wilson',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','4271380473',NULL,'Sample Data','Brigette','','Wilson',2,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Ms. Brigette Wilson',NULL,NULL,'1987-05-19',0,NULL,NULL,NULL,'Martin Luther King Education Center',NULL,NULL,123,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(22,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson, Felisha','Mrs. Felisha Wilson',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','314865628',NULL,'Sample Data','Felisha','','Wilson',1,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Mrs. Felisha Wilson',NULL,1,'1944-04-14',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(23,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Creative Education Academy','Creative Education Academy',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','61414175',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Creative Education Academy',NULL,NULL,NULL,0,NULL,NULL,121,'Creative Education Academy',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(24,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Smith, Brittney','Brittney Smith',NULL,NULL,NULL,NULL,NULL,'Both','1142724087',NULL,'Sample Data','Brittney','D','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Brittney Smith',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(25,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen-Wilson, Erik','Erik Jensen-Wilson',NULL,NULL,NULL,NULL,NULL,'Both','2019829380',NULL,'Sample Data','Erik','L','Jensen-Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Jensen-Wilson',NULL,2,'1984-02-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(26,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Justina','Mrs. Justina Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','2840548306',NULL,'Sample Data','Justina','','Ivanov',1,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Mrs. Justina Ivanov',NULL,1,'1951-01-23',0,NULL,NULL,NULL,'Paluxy Environmental Systems',NULL,NULL,60,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(27,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González, Brittney','Brittney González',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','3632495561',NULL,'Sample Data','Brittney','X','González',NULL,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Brittney González',NULL,1,'2004-04-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(28,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Erik','Erik Adams',NULL,NULL,NULL,NULL,NULL,'Both','1567928244',NULL,'Sample Data','Erik','','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Adams',NULL,2,'1941-02-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(29,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'bachman.esta@infomail.co.pl','bachman.esta@infomail.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','3758157657',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear bachman.esta@infomail.co.pl',1,NULL,'Dear bachman.esta@infomail.co.pl',1,NULL,'bachman.esta@infomail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,'United Technology Alliance',NULL,NULL,105,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(30,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Wilson, Brittney','Brittney Wilson',NULL,NULL,NULL,NULL,NULL,'Both','1729401768',NULL,'Sample Data','Brittney','F','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Brittney Wilson',NULL,1,'1947-12-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(31,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Arma Food Academy','Arma Food Academy',NULL,NULL,NULL,NULL,NULL,'Both','1487843057',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Arma Food Academy',NULL,NULL,NULL,0,NULL,NULL,NULL,'Arma Food Academy',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(32,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Łąchowski, Justina','Ms. Justina Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','288351947',NULL,'Sample Data','Justina','','Łąchowski',2,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Ms. Justina Łąchowski',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(33,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Ivey','Dr. Ivey Jacobs',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','4026790678',NULL,'Sample Data','Ivey','','Jacobs',4,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Dr. Ivey Jacobs',NULL,NULL,'1958-02-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(34,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Justina','Justina Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','288351947',NULL,'Sample Data','Justina','D','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Justina Łąchowski',NULL,1,'1964-03-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(35,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Daren','Daren Wagner',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','1117250816',NULL,'Sample Data','Daren','F','Wagner',NULL,NULL,NULL,NULL,1,NULL,'Dear Daren',1,NULL,'Dear Daren',1,NULL,'Daren Wagner',NULL,2,'2004-12-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(36,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Brzęczysław','Brzęczysław Parker',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','4128531876',NULL,'Sample Data','Brzęczysław','J','Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Brzęczysław',1,NULL,'Dear Brzęczysław',1,NULL,'Brzęczysław Parker',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(37,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts, Roland','Dr. Roland Roberts',NULL,NULL,NULL,NULL,NULL,'Both','3609011575',NULL,'Sample Data','Roland','','Roberts',4,NULL,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Dr. Roland Roberts',NULL,2,NULL,1,'2019-07-03',NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(38,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Samson family','Samson family',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','333421926',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Samson family',5,NULL,'Dear Samson family',2,NULL,'Samson family',NULL,NULL,NULL,0,NULL,'Samson family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(39,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Farmington Poetry Services','Farmington Poetry Services',NULL,NULL,NULL,NULL,NULL,'Both','2394335707',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Farmington Poetry Services',NULL,NULL,NULL,0,NULL,NULL,19,'Farmington Poetry Services',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(40,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen-Wilson family','Jensen-Wilson family',NULL,NULL,NULL,NULL,NULL,'Both','2091769541',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jensen-Wilson family',5,NULL,'Dear Jensen-Wilson family',2,NULL,'Jensen-Wilson family',NULL,NULL,NULL,0,NULL,'Jensen-Wilson family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(41,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'samuels.russell@testmail.co.uk','samuels.russell@testmail.co.uk',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','454314156',NULL,'Sample Data',NULL,NULL,NULL,NULL,3,NULL,NULL,1,NULL,'Dear samuels.russell@testmail.co.uk',1,NULL,'Dear samuels.russell@testmail.co.uk',1,NULL,'samuels.russell@testmail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(42,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz family','Díaz family',NULL,NULL,NULL,NULL,NULL,'Both','2169249835',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Díaz family',5,NULL,'Dear Díaz family',2,NULL,'Díaz family',NULL,NULL,NULL,0,NULL,'Díaz family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(43,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Samuels, Toby','Mr. Toby Samuels',NULL,NULL,NULL,NULL,NULL,'Both','126496012',NULL,'Sample Data','Toby','Q','Samuels',3,NULL,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Mr. Toby Samuels',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(44,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Parker, Barry','Dr. Barry Parker Sr.',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','259830884',NULL,'Sample Data','Barry','','Parker',4,2,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Dr. Barry Parker Sr.',NULL,2,'1986-04-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(45,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Kandace','Kandace Smith',NULL,NULL,NULL,NULL,NULL,'Both','1249006988',NULL,'Sample Data','Kandace','D','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Kandace Smith',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(46,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Wagner family','Wagner family',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1570966486',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wagner family',5,NULL,'Dear Wagner family',2,NULL,'Wagner family',NULL,NULL,NULL,0,NULL,'Wagner family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(47,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Łąchowski, Carylon','Carylon Łąchowski',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','1553333443',NULL,'Sample Data','Carylon','Z','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Łąchowski',NULL,1,'2001-09-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(48,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Craig','Dr. Craig Wilson Sr.',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','810909432',NULL,'Sample Data','Craig','','Wilson',4,2,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Dr. Craig Wilson Sr.',NULL,2,'1990-07-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(49,'Household',NULL,1,1,0,0,0,0,NULL,NULL,'Díaz family','Díaz family',NULL,NULL,NULL,NULL,NULL,'Both','2169249835',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Díaz family',5,NULL,'Dear Díaz family',2,NULL,'Díaz family',NULL,NULL,NULL,0,NULL,'Díaz family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(50,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Bachman, Jerome','Dr. Jerome Bachman III',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','4187758320',NULL,'Sample Data','Jerome','V','Bachman',4,4,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Dr. Jerome Bachman III',NULL,2,'1994-01-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(51,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski-González family','Łąchowski-González family',NULL,NULL,NULL,NULL,NULL,'Both','2074862954',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Łąchowski-González family',5,NULL,'Dear Łąchowski-González family',2,NULL,'Łąchowski-González family',NULL,NULL,NULL,0,NULL,'Łąchowski-González family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(52,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'bp.daz@mymail.co.in','bp.daz@mymail.co.in',NULL,NULL,NULL,NULL,NULL,'Both','2198426523',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear bp.daz@mymail.co.in',1,NULL,'Dear bp.daz@mymail.co.in',1,NULL,'bp.daz@mymail.co.in',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(53,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'dazm@lol.co.pl','dazm@lol.co.pl',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','2050726131',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear dazm@lol.co.pl',1,NULL,'Dear dazm@lol.co.pl',1,NULL,'dazm@lol.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(54,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Dimitrov, Justina','Justina Dimitrov',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','4020373049',NULL,'Sample Data','Justina','Q','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Justina Dimitrov',NULL,1,'1993-10-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(55,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Main Arts Academy','Main Arts Academy',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3634669757',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Main Arts Academy',NULL,NULL,NULL,0,NULL,NULL,NULL,'Main Arts Academy',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(56,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Margaret','Margaret Jones',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1031157711',NULL,'Sample Data','Margaret','','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Margaret Jones',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(57,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Deforest family','Deforest family',NULL,NULL,NULL,NULL,NULL,'Both','3235379039',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Deforest family',5,NULL,'Dear Deforest family',2,NULL,'Deforest family',NULL,NULL,NULL,0,NULL,'Deforest family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(58,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Wagner, Erik','Erik Wagner III',NULL,NULL,NULL,NULL,NULL,'Both','3259334832',NULL,'Sample Data','Erik','','Wagner',NULL,4,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Wagner III',NULL,NULL,'1980-03-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(59,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner-Jacobs, Scarlet','Scarlet Wagner-Jacobs',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3833435771',NULL,'Sample Data','Scarlet','','Wagner-Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Scarlet',1,NULL,'Dear Scarlet',1,NULL,'Scarlet Wagner-Jacobs',NULL,1,'1997-08-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(60,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Paluxy Environmental Systems','Paluxy Environmental Systems',NULL,NULL,NULL,NULL,NULL,'Both','737347417',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Paluxy Environmental Systems',NULL,NULL,NULL,0,NULL,NULL,26,'Paluxy Environmental Systems',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(61,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Kathleen','Kathleen Wagner',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','325058531',NULL,'Sample Data','Kathleen','','Wagner',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Wagner',NULL,1,'1999-10-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(62,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Müller, Elbert','Mr. Elbert Müller Sr.',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','189304968',NULL,'Sample Data','Elbert','Y','Müller',3,2,NULL,NULL,1,NULL,'Dear Elbert',1,NULL,'Dear Elbert',1,NULL,'Mr. Elbert Müller Sr.',NULL,2,'1957-12-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(63,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'New York Health Systems','New York Health Systems',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','1491859687',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'New York Health Systems',NULL,NULL,NULL,0,NULL,NULL,193,'New York Health Systems',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(64,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'deforest.kenny95@example.co.pl','deforest.kenny95@example.co.pl',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','2335925279',NULL,'Sample Data',NULL,NULL,NULL,3,NULL,NULL,NULL,1,NULL,'Dear deforest.kenny95@example.co.pl',1,NULL,'Dear deforest.kenny95@example.co.pl',1,NULL,'deforest.kenny95@example.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(65,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Indiahoma Health Collective','Indiahoma Health Collective',NULL,NULL,NULL,NULL,NULL,'Both','1431833890',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Indiahoma Health Collective',NULL,NULL,NULL,0,NULL,NULL,84,'Indiahoma Health Collective',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(66,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Reynolds, Daren','Dr. Daren Reynolds',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','3938117907',NULL,'Sample Data','Daren','','Reynolds',4,NULL,NULL,NULL,1,NULL,'Dear Daren',1,NULL,'Dear Daren',1,NULL,'Dr. Daren Reynolds',NULL,NULL,'1976-06-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(67,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Brittney','Brittney Smith',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1142724087',NULL,'Sample Data','Brittney','I','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Brittney Smith',NULL,1,'1993-01-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(68,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Jameson family','Jameson family',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','2255649769',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jameson family',5,NULL,'Dear Jameson family',2,NULL,'Jameson family',NULL,NULL,NULL,0,NULL,'Jameson family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(69,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'ashlie82@airmail.co.pl','ashlie82@airmail.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','1567878755',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear ashlie82@airmail.co.pl',1,NULL,'Dear ashlie82@airmail.co.pl',1,NULL,'ashlie82@airmail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(70,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman-Blackwell, Brigette','Mrs. Brigette Bachman-Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','2481596724',NULL,'Sample Data','Brigette','Y','Bachman-Blackwell',1,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Mrs. Brigette Bachman-Blackwell',NULL,1,'1967-11-30',0,NULL,NULL,NULL,'Dauberville Arts Center',NULL,NULL,95,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(71,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Díaz, Lashawnda','Ms. Lashawnda Díaz',NULL,NULL,NULL,NULL,NULL,'Both','2462862160',NULL,'Sample Data','Lashawnda','','Díaz',2,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Ms. Lashawnda Díaz',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(72,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Omar','Omar Blackwell Jr.',NULL,NULL,NULL,NULL,NULL,'Both','3587375768',NULL,'Sample Data','Omar','U','Blackwell',NULL,1,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Omar Blackwell Jr.',NULL,2,'1968-11-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:51'),(73,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'samsonb@example.co.pl','samsonb@example.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','3547419990',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear samsonb@example.co.pl',1,NULL,'Dear samsonb@example.co.pl',1,NULL,'samsonb@example.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(74,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Urban Peace Fund','Urban Peace Fund',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','3299542693',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Urban Peace Fund',NULL,NULL,NULL,0,NULL,NULL,160,'Urban Peace Fund',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(75,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Rolando','Rolando Jameson III',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','726163988',NULL,'Sample Data','Rolando','B','Jameson',NULL,4,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Rolando Jameson III',NULL,2,'2002-03-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(76,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Adams-Wilson family','Adams-Wilson family',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','518408640',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Adams-Wilson family',5,NULL,'Dear Adams-Wilson family',2,NULL,'Adams-Wilson family',NULL,NULL,NULL,0,NULL,'Adams-Wilson family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(77,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'edaz@mymail.net','edaz@mymail.net',NULL,NULL,NULL,NULL,NULL,'Both','3624031063',NULL,'Sample Data',NULL,NULL,NULL,NULL,1,NULL,NULL,1,NULL,'Dear edaz@mymail.net',1,NULL,'Dear edaz@mymail.net',1,NULL,'edaz@mymail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(78,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Prentice, Rolando','Dr. Rolando Prentice II',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','1297722771',NULL,'Sample Data','Rolando','T','Prentice',4,3,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Dr. Rolando Prentice II',NULL,2,'1974-09-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(79,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman-Blackwell family','Bachman-Blackwell family',NULL,NULL,NULL,NULL,NULL,'Both','1235943467',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Bachman-Blackwell family',5,NULL,'Dear Bachman-Blackwell family',2,NULL,'Bachman-Blackwell family',NULL,NULL,NULL,0,NULL,'Bachman-Blackwell family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(80,'Household',NULL,0,1,0,0,1,0,NULL,NULL,'Robertson family','Robertson family',NULL,NULL,NULL,NULL,NULL,'Both','3444393980',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Robertson family',5,NULL,'Dear Robertson family',2,NULL,'Robertson family',NULL,NULL,NULL,0,NULL,'Robertson family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(81,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Rolando','Rolando Terry Jr.',NULL,NULL,NULL,NULL,NULL,'Both','158688925',NULL,'Sample Data','Rolando','Q','Terry',NULL,1,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Rolando Terry Jr.',NULL,2,'1931-07-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(82,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Pine Action Association','Pine Action Association',NULL,NULL,NULL,NULL,NULL,'Both','1678128212',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Pine Action Association',NULL,NULL,NULL,0,NULL,NULL,NULL,'Pine Action Association',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(83,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Ivanov-Dimitrov, Juliann','Juliann Ivanov-Dimitrov',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','955994289',NULL,'Sample Data','Juliann','A','Ivanov-Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Ivanov-Dimitrov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(84,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Sherman','Sherman Cooper',NULL,NULL,NULL,NULL,NULL,'Both','1707375456',NULL,'Sample Data','Sherman','','Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Sherman Cooper',NULL,2,'2004-08-09',0,NULL,NULL,NULL,'Indiahoma Health Collective',NULL,NULL,65,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(85,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Daren','Dr. Daren Adams II',NULL,NULL,NULL,NULL,NULL,'Both','1164251190',NULL,'Sample Data','Daren','S','Adams',4,3,NULL,NULL,1,NULL,'Dear Daren',1,NULL,'Dear Daren',1,NULL,'Dr. Daren Adams II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(86,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Terrell, Shauna','Ms. Shauna Terrell',NULL,NULL,NULL,NULL,NULL,'Both','3418962952',NULL,'Sample Data','Shauna','','Terrell',2,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Ms. Shauna Terrell',NULL,NULL,'1952-06-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(87,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts-Deforest, Herminia','Herminia Roberts-Deforest',NULL,NULL,NULL,NULL,NULL,'Both','955797514',NULL,'Sample Data','Herminia','H','Roberts-Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Roberts-Deforest',NULL,1,'1990-03-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(88,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'jameson.q.teddy@notmail.org','jameson.q.teddy@notmail.org',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','465702669',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear jameson.q.teddy@notmail.org',1,NULL,'Dear jameson.q.teddy@notmail.org',1,NULL,'jameson.q.teddy@notmail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(89,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Łąchowski, Megan','Megan Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','1824434920',NULL,'Sample Data','Megan','','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Megan Łąchowski',NULL,1,'1982-01-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(90,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Cooper family','Cooper family',NULL,NULL,NULL,NULL,NULL,'Both','1133003930',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Cooper family',5,NULL,'Dear Cooper family',2,NULL,'Cooper family',NULL,NULL,NULL,0,NULL,'Cooper family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(91,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Claudio','Claudio Patel',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','2717427490',NULL,'Sample Data','Claudio','A','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Patel',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(92,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'roberts.r.nicole50@testing.biz','roberts.r.nicole50@testing.biz',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','3589237036',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear roberts.r.nicole50@testing.biz',1,NULL,'Dear roberts.r.nicole50@testing.biz',1,NULL,'roberts.r.nicole50@testing.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(93,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'McReynolds, Shad','Mr. Shad McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','4249147082',NULL,'Sample Data','Shad','N','McReynolds',3,NULL,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Mr. Shad McReynolds',NULL,2,'1944-07-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(94,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Laree','Ms. Laree Díaz',NULL,NULL,NULL,NULL,NULL,'Both','970611892',NULL,'Sample Data','Laree','R','Díaz',2,NULL,NULL,NULL,1,NULL,'Dear Laree',1,NULL,'Dear Laree',1,NULL,'Ms. Laree Díaz',NULL,1,'1985-05-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(95,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Dauberville Arts Center','Dauberville Arts Center',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','623673734',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Dauberville Arts Center',NULL,NULL,NULL,0,NULL,NULL,70,'Dauberville Arts Center',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(96,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Jacob','Jacob Díaz',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3488947578',NULL,'Sample Data','Jacob','','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Jacob Díaz',NULL,2,'1949-11-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(97,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Maxwell','Maxwell Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','269604807',NULL,'Sample Data','Maxwell','','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Jacobs',NULL,2,'2000-04-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(98,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson, Alexia','Ms. Alexia Wilson',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','3321653861',NULL,'Sample Data','Alexia','N','Wilson',2,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Ms. Alexia Wilson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(99,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Smith, Esta','Esta Smith',NULL,NULL,NULL,NULL,NULL,'Both','4101330541',NULL,'Sample Data','Esta','O','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Smith',NULL,NULL,'2001-11-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(100,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov, Teresa','Teresa Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','2760564229',NULL,'Sample Data','Teresa','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Teresa Dimitrov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(101,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'San Pablo Action Services','San Pablo Action Services',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','2589964231',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'San Pablo Action Services',NULL,NULL,NULL,0,NULL,NULL,119,'San Pablo Action Services',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(102,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Adams family','Adams family',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','1515323104',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Adams family',5,NULL,'Dear Adams family',2,NULL,'Adams family',NULL,NULL,NULL,0,NULL,'Adams family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(103,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Jacob','Jacob Müller',NULL,NULL,NULL,NULL,NULL,'Both','176489544',NULL,'Sample Data','Jacob','','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Jacob Müller',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(104,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Roland','Roland Adams',NULL,NULL,NULL,NULL,NULL,'Both','2320657874',NULL,'Sample Data','Roland','','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Roland Adams',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(105,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'United Technology Alliance','United Technology Alliance',NULL,NULL,NULL,NULL,NULL,'Both','3413138562',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'United Technology Alliance',NULL,NULL,NULL,0,NULL,NULL,29,'United Technology Alliance',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(106,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Valene','Mrs. Valene McReynolds',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','2007971144',NULL,'Sample Data','Valene','O','McReynolds',1,NULL,NULL,NULL,1,NULL,'Dear Valene',1,NULL,'Dear Valene',1,NULL,'Mrs. Valene McReynolds',NULL,1,NULL,0,NULL,NULL,NULL,'States Music Partnership',NULL,NULL,182,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(107,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wagner, Damaris','Damaris Wagner',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','2489613287',NULL,'Sample Data','Damaris','T','Wagner',NULL,NULL,NULL,NULL,1,NULL,'Dear Damaris',1,NULL,'Dear Damaris',1,NULL,'Damaris Wagner',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(108,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Cruz, Maria','Maria Cruz',NULL,NULL,NULL,NULL,NULL,'Both','2760046395',NULL,'Sample Data','Maria','W','Cruz',NULL,NULL,NULL,NULL,1,NULL,'Dear Maria',1,NULL,'Dear Maria',1,NULL,'Maria Cruz',NULL,2,'1959-10-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(109,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Jensen-Wilson, Ashley','Ms. Ashley Jensen-Wilson',NULL,NULL,NULL,NULL,NULL,'Both','3865771541',NULL,'Sample Data','Ashley','Y','Jensen-Wilson',2,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ms. Ashley Jensen-Wilson',NULL,NULL,'1981-04-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(110,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Errol','Dr. Errol Jameson II',NULL,NULL,NULL,NULL,NULL,'Both','4067151192',NULL,'Sample Data','Errol','G','Jameson',4,3,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Dr. Errol Jameson II',NULL,2,'1966-05-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(111,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Sierra Peace Initiative','Sierra Peace Initiative',NULL,NULL,NULL,NULL,NULL,'Both','1302696609',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Sierra Peace Initiative',NULL,NULL,NULL,0,NULL,NULL,154,'Sierra Peace Initiative',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(112,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov, Laree','Laree Dimitrov',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','2136401508',NULL,'Sample Data','Laree','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Laree',1,NULL,'Dear Laree',1,NULL,'Laree Dimitrov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(113,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'dimitrov.b.brzczysaw@sample.co.nz','dimitrov.b.brzczysaw@sample.co.nz',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','2839697415',NULL,'Sample Data',NULL,NULL,NULL,4,2,NULL,NULL,1,NULL,'Dear dimitrov.b.brzczysaw@sample.co.nz',1,NULL,'Dear dimitrov.b.brzczysaw@sample.co.nz',1,NULL,'dimitrov.b.brzczysaw@sample.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(114,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'gonzlez.bernadette25@example.net','gonzlez.bernadette25@example.net',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','3441780988',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear gonzlez.bernadette25@example.net',1,NULL,'Dear gonzlez.bernadette25@example.net',1,NULL,'gonzlez.bernadette25@example.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(115,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'krobertson12@lol.biz','krobertson12@lol.biz',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','2711873603',NULL,'Sample Data',NULL,NULL,NULL,3,NULL,NULL,NULL,1,NULL,'Dear krobertson12@lol.biz',1,NULL,'Dear krobertson12@lol.biz',1,NULL,'krobertson12@lol.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(116,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wagner, Maxwell','Mr. Maxwell Wagner',NULL,NULL,NULL,NULL,NULL,'Both','899179200',NULL,'Sample Data','Maxwell','M','Wagner',3,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Mr. Maxwell Wagner',NULL,NULL,'1946-12-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(117,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Zope, Bob','Bob Zope II',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','707485722',NULL,'Sample Data','Bob','','Zope',NULL,3,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Bob Zope II',NULL,2,'2002-06-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(118,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terrell, Kandace','Dr. Kandace Terrell',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','3245030049',NULL,'Sample Data','Kandace','','Terrell',4,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Dr. Kandace Terrell',NULL,1,'1947-04-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(119,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Jina','Ms. Jina Grant',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','870157867',NULL,'Sample Data','Jina','J','Grant',2,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Ms. Jina Grant',NULL,1,'1994-03-21',0,NULL,NULL,NULL,'San Pablo Action Services',NULL,NULL,101,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(120,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Roberts, Lou','Lou Roberts II',NULL,NULL,NULL,NULL,NULL,'Both','3476194906',NULL,'Sample Data','Lou','','Roberts',NULL,3,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Lou Roberts II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(121,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'nlee@testmail.biz','nlee@testmail.biz',NULL,NULL,NULL,NULL,NULL,'Both','230563380',NULL,'Sample Data',NULL,NULL,NULL,NULL,4,NULL,NULL,1,NULL,'Dear nlee@testmail.biz',1,NULL,'Dear nlee@testmail.biz',1,NULL,'nlee@testmail.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,'Creative Education Academy',NULL,NULL,23,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(122,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov-Dimitrov family','Ivanov-Dimitrov family',NULL,NULL,NULL,NULL,NULL,'Both','2067553646',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Ivanov-Dimitrov family',5,NULL,'Dear Ivanov-Dimitrov family',2,NULL,'Ivanov-Dimitrov family',NULL,NULL,NULL,0,NULL,'Ivanov-Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(123,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Martin Luther King Education Center','Martin Luther King Education Center',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','2317988135',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Martin Luther King Education Center',NULL,NULL,NULL,0,NULL,NULL,21,'Martin Luther King Education Center',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(124,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'irisjameson76@lol.co.nz','irisjameson76@lol.co.nz',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','2939542613',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear irisjameson76@lol.co.nz',1,NULL,'Dear irisjameson76@lol.co.nz',1,NULL,'irisjameson76@lol.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(125,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Adams, Rosario','Rosario Adams III',NULL,NULL,NULL,NULL,NULL,'Both','628774619',NULL,'Sample Data','Rosario','','Adams',NULL,4,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Rosario Adams III',NULL,2,'1974-01-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(126,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'kandaced42@sample.co.uk','kandaced42@sample.co.uk',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','2678526306',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear kandaced42@sample.co.uk',1,NULL,'Dear kandaced42@sample.co.uk',1,NULL,'kandaced42@sample.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(127,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Martin Luther King Peace Initiative','Martin Luther King Peace Initiative',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','75218906',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Martin Luther King Peace Initiative',NULL,NULL,NULL,0,NULL,NULL,194,'Martin Luther King Peace Initiative',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(128,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Winford','Mr. Winford Grant',NULL,NULL,NULL,NULL,NULL,'Both','431528979',NULL,'Sample Data','Winford','D','Grant',3,NULL,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Mr. Winford Grant',NULL,NULL,'1984-07-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(129,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Betty','Mrs. Betty Olsen',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','3171896776',NULL,'Sample Data','Betty','','Olsen',1,NULL,NULL,NULL,1,NULL,'Dear Betty',1,NULL,'Dear Betty',1,NULL,'Mrs. Betty Olsen',NULL,1,'1950-12-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(130,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Robertson, Carlos','Carlos Robertson Jr.',NULL,NULL,NULL,NULL,NULL,'Both','3416802562',NULL,'Sample Data','Carlos','','Robertson',NULL,1,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Robertson Jr.',NULL,NULL,'1997-11-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(131,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov family','Dimitrov family',NULL,NULL,NULL,NULL,NULL,'Both','3351288571',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Dimitrov family',5,NULL,'Dear Dimitrov family',2,NULL,'Dimitrov family',NULL,NULL,NULL,0,NULL,'Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(132,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jensen, Allen','Allen Jensen Sr.',NULL,NULL,NULL,NULL,NULL,'Both','478269877',NULL,'Sample Data','Allen','','Jensen',NULL,2,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Allen Jensen Sr.',NULL,2,'1969-07-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(133,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'reynolds.elizabeth50@notmail.org','reynolds.elizabeth50@notmail.org',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','1110955934',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear reynolds.elizabeth50@notmail.org',1,NULL,'Dear reynolds.elizabeth50@notmail.org',1,NULL,'reynolds.elizabeth50@notmail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(134,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Landon','Landon Cruz',NULL,NULL,NULL,NULL,NULL,'Both','2389658974',NULL,'Sample Data','Landon','D','Cruz',NULL,NULL,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Landon Cruz',NULL,NULL,'2004-07-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(135,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Austin Health Trust','Austin Health Trust',NULL,NULL,NULL,NULL,NULL,'Both','2565452778',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Austin Health Trust',NULL,NULL,NULL,0,NULL,NULL,NULL,'Austin Health Trust',NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(136,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'robertson.ivey@example.co.in','robertson.ivey@example.co.in',NULL,NULL,NULL,NULL,NULL,'Both','4013252257',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear robertson.ivey@example.co.in',1,NULL,'Dear robertson.ivey@example.co.in',1,NULL,'robertson.ivey@example.co.in',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(137,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'cruz.sanford48@mymail.co.pl','cruz.sanford48@mymail.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','3397158868',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear cruz.sanford48@mymail.co.pl',1,NULL,'Dear cruz.sanford48@mymail.co.pl',1,NULL,'cruz.sanford48@mymail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(138,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jameson, Heidi','Heidi Jameson',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','1155008282',NULL,'Sample Data','Heidi','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Heidi Jameson',NULL,NULL,'1993-03-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(139,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Scarlet','Scarlet Díaz',NULL,NULL,NULL,NULL,NULL,'Both','3578692438',NULL,'Sample Data','Scarlet','C','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Scarlet',1,NULL,'Dear Scarlet',1,NULL,'Scarlet Díaz',NULL,1,'1979-01-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(140,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Ashley','Ashley Díaz Sr.',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','2703610004',NULL,'Sample Data','Ashley','H','Díaz',NULL,2,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley Díaz Sr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(141,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith-Díaz, Eleonor','Eleonor Smith-Díaz',NULL,NULL,NULL,NULL,NULL,'Both','2841567695',NULL,'Sample Data','Eleonor','L','Smith-Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Eleonor',1,NULL,'Dear Eleonor',1,NULL,'Eleonor Smith-Díaz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(142,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Scarlet','Ms. Scarlet Jones',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','4237120359',NULL,'Sample Data','Scarlet','','Jones',2,NULL,NULL,NULL,1,NULL,'Dear Scarlet',1,NULL,'Dear Scarlet',1,NULL,'Ms. Scarlet Jones',NULL,1,'1984-09-05',0,NULL,NULL,NULL,'Urban Culture Initiative',NULL,NULL,144,0,'2020-06-10 02:45:48','2020-06-10 02:45:50'),(143,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Mei','Mei Adams',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','407770009',NULL,'Sample Data','Mei','','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Mei',1,NULL,'Dear Mei',1,NULL,'Mei Adams',NULL,1,'1946-07-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:48','2020-06-10 02:45:49'),(144,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Urban Culture Initiative','Urban Culture Initiative',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','1678635405',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Urban Culture Initiative',NULL,NULL,NULL,0,NULL,NULL,142,'Urban Culture Initiative',NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(145,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Jackson','Jackson Müller III',NULL,NULL,NULL,NULL,NULL,'Both','2768075849',NULL,'Sample Data','Jackson','G','Müller',NULL,4,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Müller III',NULL,2,'1978-10-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(146,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Tanya','Ms. Tanya Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','2472113675',NULL,'Sample Data','Tanya','Q','Łąchowski',2,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Ms. Tanya Łąchowski',NULL,NULL,'1948-08-27',1,'2020-03-17',NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(147,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'samuels.u.erik@airmail.com','samuels.u.erik@airmail.com',NULL,NULL,NULL,NULL,NULL,'Both','438570743',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear samuels.u.erik@airmail.com',1,NULL,'Dear samuels.u.erik@airmail.com',1,NULL,'samuels.u.erik@airmail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(148,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Lawerence','Lawerence Dimitrov III',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','2843061688',NULL,'Sample Data','Lawerence','D','Dimitrov',NULL,4,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Lawerence Dimitrov III',NULL,NULL,'2003-08-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(149,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Roberts, Russell','Russell Roberts III',NULL,NULL,NULL,NULL,NULL,'Both','651288599',NULL,'Sample Data','Russell','H','Roberts',NULL,4,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Russell Roberts III',NULL,2,'1936-01-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(150,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Samson, Kathleen','Mrs. Kathleen Samson',NULL,NULL,NULL,NULL,NULL,'Both','2829652278',NULL,'Sample Data','Kathleen','H','Samson',1,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Mrs. Kathleen Samson',NULL,1,'1985-06-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(151,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'adams.e.allan86@notmail.co.uk','adams.e.allan86@notmail.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','3110867001',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear adams.e.allan86@notmail.co.uk',1,NULL,'Dear adams.e.allan86@notmail.co.uk',1,NULL,'adams.e.allan86@notmail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(152,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Reynolds, Shad','Dr. Shad Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','3023273825',NULL,'Sample Data','Shad','C','Reynolds',4,NULL,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Dr. Shad Reynolds',NULL,2,'1968-08-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(153,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Łąchowski, Kathlyn','Mrs. Kathlyn Łąchowski',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','336052777',NULL,'Sample Data','Kathlyn','B','Łąchowski',1,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Mrs. Kathlyn Łąchowski',NULL,NULL,'1983-05-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(154,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski-González, Omar','Omar Łąchowski-González Jr.',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','3354310241',NULL,'Sample Data','Omar','','Łąchowski-González',NULL,1,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Omar Łąchowski-González Jr.',NULL,2,'2014-10-01',0,NULL,NULL,NULL,'Sierra Peace Initiative',NULL,NULL,111,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(155,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Nielsen-Díaz, Kathleen','Kathleen Nielsen-Díaz',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','2949897049',NULL,'Sample Data','Kathleen','','Nielsen-Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Nielsen-Díaz',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(156,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Bachman-Blackwell, Teddy','Mr. Teddy Bachman-Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','998147436',NULL,'Sample Data','Teddy','S','Bachman-Blackwell',3,NULL,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Mr. Teddy Bachman-Blackwell',NULL,2,'1993-05-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:51'),(157,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Zope, Allan','Dr. Allan Zope II',NULL,NULL,NULL,NULL,NULL,'Both','891375066',NULL,'Sample Data','Allan','','Zope',4,3,NULL,NULL,1,NULL,'Dear Allan',1,NULL,'Dear Allan',1,NULL,'Dr. Allan Zope II',NULL,2,'1946-10-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(158,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terry, Arlyne','Mrs. Arlyne Terry',NULL,NULL,NULL,NULL,NULL,'Both','3024103197',NULL,'Sample Data','Arlyne','R','Terry',1,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Mrs. Arlyne Terry',NULL,1,'1951-04-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(159,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Bachman, Erik','Dr. Erik Bachman',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','620728720',NULL,'Sample Data','Erik','K','Bachman',4,NULL,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Dr. Erik Bachman',NULL,NULL,'1957-06-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(160,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Łąchowski-González, Brittney','Brittney Łąchowski-González',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','1480019209',NULL,'Sample Data','Brittney','S','Łąchowski-González',NULL,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Brittney Łąchowski-González',NULL,NULL,'2011-03-26',0,NULL,NULL,NULL,'Urban Peace Fund',NULL,NULL,74,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(161,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz family','Díaz family',NULL,NULL,NULL,NULL,NULL,'Both','2169249835',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Díaz family',5,NULL,'Dear Díaz family',2,NULL,'Díaz family',NULL,NULL,NULL,0,NULL,'Díaz family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(162,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Arlyne','Arlyne Jones',NULL,NULL,NULL,NULL,NULL,'Both','3827704597',NULL,'Sample Data','Arlyne','','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Arlyne Jones',NULL,1,'2005-03-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(163,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov-Dimitrov, Miguel','Miguel Ivanov-Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','3702666988',NULL,'Sample Data','Miguel','D','Ivanov-Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Miguel',1,NULL,'Dear Miguel',1,NULL,'Miguel Ivanov-Dimitrov',NULL,2,'2008-06-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(164,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jensen, Scott','Scott Jensen',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','4064239922',NULL,'Sample Data','Scott','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Scott Jensen',NULL,2,'1936-08-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(165,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'tobydaz31@fakemail.net','tobydaz31@fakemail.net',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','658008142',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear tobydaz31@fakemail.net',1,NULL,'Dear tobydaz31@fakemail.net',1,NULL,'tobydaz31@fakemail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(166,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams-Wilson, Miguel','Mr. Miguel Adams-Wilson',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','3988349463',NULL,'Sample Data','Miguel','N','Adams-Wilson',3,NULL,NULL,NULL,1,NULL,'Dear Miguel',1,NULL,'Dear Miguel',1,NULL,'Mr. Miguel Adams-Wilson',NULL,2,'1987-02-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(167,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson, Irvin','Irvin Robertson III',NULL,NULL,NULL,NULL,NULL,'Both','3287904826',NULL,'Sample Data','Irvin','O','Robertson',NULL,4,NULL,NULL,1,NULL,'Dear Irvin',1,NULL,'Dear Irvin',1,NULL,'Irvin Robertson III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(168,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jameson, Brigette','Brigette Jameson',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','839229848',NULL,'Sample Data','Brigette','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Brigette Jameson',NULL,1,'1962-11-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(169,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Reynolds, Craig','Craig Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','3510577139',NULL,'Sample Data','Craig','F','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Craig Reynolds',NULL,2,'1968-09-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(170,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Shad','Dr. Shad Łąchowski II',NULL,NULL,NULL,NULL,NULL,'Both','695965162',NULL,'Sample Data','Shad','C','Łąchowski',4,3,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Dr. Shad Łąchowski II',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(171,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terrell-Robertson, Rosario','Mr. Rosario Terrell-Robertson',NULL,NULL,NULL,NULL,NULL,'Both','2367208597',NULL,'Sample Data','Rosario','','Terrell-Robertson',3,NULL,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Mr. Rosario Terrell-Robertson',NULL,NULL,'1989-12-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(172,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Blackwell, Merrie','Merrie Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','2696737168',NULL,'Sample Data','Merrie','X','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Merrie',1,NULL,'Dear Merrie',1,NULL,'Merrie Blackwell',NULL,1,NULL,0,NULL,NULL,NULL,'Burlingame Software Solutions',NULL,NULL,192,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(173,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Lou','Lou Wagner',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','2041146413',NULL,'Sample Data','Lou','','Wagner',NULL,NULL,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Lou Wagner',NULL,2,'1989-09-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(174,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Samson, Winford','Winford Samson',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','935630203',NULL,'Sample Data','Winford','','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Winford Samson',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(175,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'felishar2@infomail.co.nz','felishar2@infomail.co.nz',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','3903995902',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear felishar2@infomail.co.nz',1,NULL,'Dear felishar2@infomail.co.nz',1,NULL,'felishar2@infomail.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(176,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Díaz, Kathlyn','Dr. Kathlyn Díaz',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','1074199514',NULL,'Sample Data','Kathlyn','O','Díaz',4,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Dr. Kathlyn Díaz',NULL,1,'1970-11-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(177,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terrell, Kiara','Kiara Terrell',NULL,NULL,NULL,NULL,NULL,'Both','2419573895',NULL,'Sample Data','Kiara','','Terrell',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Terrell',NULL,1,'2001-02-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(178,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Wisconsin Wellness Alliance','Wisconsin Wellness Alliance',NULL,NULL,NULL,NULL,NULL,'Both','822473134',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Wisconsin Wellness Alliance',NULL,NULL,NULL,0,NULL,NULL,18,'Wisconsin Wellness Alliance',NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(179,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'scarletdimitrov53@sample.co.pl','scarletdimitrov53@sample.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','935628927',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear scarletdimitrov53@sample.co.pl',1,NULL,'Dear scarletdimitrov53@sample.co.pl',1,NULL,'scarletdimitrov53@sample.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(180,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'daza@lol.biz','daza@lol.biz',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','2752648294',NULL,'Sample Data',NULL,NULL,NULL,4,1,NULL,NULL,1,NULL,'Dear daza@lol.biz',1,NULL,'Dear daza@lol.biz',1,NULL,'daza@lol.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(181,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner-Jacobs family','Wagner-Jacobs family',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1922403537',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wagner-Jacobs family',5,NULL,'Dear Wagner-Jacobs family',2,NULL,'Wagner-Jacobs family',NULL,NULL,NULL,0,NULL,'Wagner-Jacobs family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(182,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'States Music Partnership','States Music Partnership',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1452485960',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'States Music Partnership',NULL,NULL,NULL,0,NULL,NULL,106,'States Music Partnership',NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(183,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Díaz, Arlyne','Arlyne Díaz',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','4265577068',NULL,'Sample Data','Arlyne','F','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Arlyne Díaz',NULL,1,'1972-07-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(184,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson, Lawerence','Lawerence Robertson',NULL,NULL,NULL,'\ 13\ 1',NULL,'Both','3742055546',NULL,'Sample Data','Lawerence','D','Robertson',NULL,NULL,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Lawerence Robertson',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(185,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'daz.sonny@lol.net','daz.sonny@lol.net',NULL,NULL,NULL,NULL,NULL,'Both','2019483543',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear daz.sonny@lol.net',1,NULL,'Dear daz.sonny@lol.net',1,NULL,'daz.sonny@lol.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(186,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Reynolds, Tanya','Mrs. Tanya Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','3920520265',NULL,'Sample Data','Tanya','','Reynolds',1,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Mrs. Tanya Reynolds',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(187,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Reynolds family','Reynolds family',NULL,NULL,NULL,NULL,NULL,'Both','4119726021',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Reynolds family',5,NULL,'Dear Reynolds family',2,NULL,'Reynolds family',NULL,NULL,NULL,0,NULL,'Reynolds family',NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(188,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Teddy','Dr. Teddy Adams Sr.',NULL,NULL,NULL,'\ 12\ 1',NULL,'Both','679771047',NULL,'Sample Data','Teddy','B','Adams',4,2,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Dr. Teddy Adams Sr.',NULL,NULL,'1977-10-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(189,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Adams, Troy','Dr. Troy Adams III',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','271731072',NULL,'Sample Data','Troy','X','Adams',4,4,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Dr. Troy Adams III',NULL,NULL,'1977-09-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(190,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Josefa','Josefa Adams',NULL,NULL,NULL,'\ 14\ 1',NULL,'Both','3524754614',NULL,'Sample Data','Josefa','','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Josefa Adams',NULL,1,'2010-03-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(191,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Billy','Billy Łąchowski',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','2651887338',NULL,'Sample Data','Billy','','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Billy Łąchowski',NULL,2,'2018-08-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(192,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Burlingame Software Solutions','Burlingame Software Solutions',NULL,NULL,NULL,NULL,NULL,'Both','429440746',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Burlingame Software Solutions',NULL,NULL,NULL,0,NULL,NULL,172,'Burlingame Software Solutions',NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(193,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Carlos','Carlos Samson II',NULL,NULL,NULL,NULL,NULL,'Both','3685526914',NULL,'Sample Data','Carlos','O','Samson',NULL,3,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Samson II',NULL,NULL,'1989-04-15',0,NULL,NULL,NULL,'New York Health Systems',NULL,NULL,63,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(194,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Roberts, Kandace','Kandace Roberts',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','3760408869',NULL,'Sample Data','Kandace','Y','Roberts',NULL,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Kandace Roberts',NULL,NULL,NULL,0,NULL,NULL,NULL,'Martin Luther King Peace Initiative',NULL,NULL,127,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(195,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Bachman-Blackwell, Landon','Dr. Landon Bachman-Blackwell',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','1427604385',NULL,'Sample Data','Landon','G','Bachman-Blackwell',4,NULL,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Dr. Landon Bachman-Blackwell',NULL,2,'1984-05-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(196,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'dimitrove7@testmail.co.pl','dimitrove7@testmail.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','3139713335',NULL,'Sample Data',NULL,NULL,NULL,NULL,1,NULL,NULL,1,NULL,'Dear dimitrove7@testmail.co.pl',1,NULL,'Dear dimitrove7@testmail.co.pl',1,NULL,'dimitrove7@testmail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(197,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson, Russell','Dr. Russell Robertson',NULL,NULL,NULL,'\ 15\ 1',NULL,'Both','3573168465',NULL,'Sample Data','Russell','L','Robertson',4,NULL,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Dr. Russell Robertson',NULL,2,'1961-07-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(198,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Errol','Mr. Errol Smith',NULL,NULL,NULL,NULL,NULL,'Both','2269355028',NULL,'Sample Data','Errol','','Smith',3,NULL,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Mr. Errol Smith',NULL,2,'1938-02-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(199,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Cooper, Winford','Winford Cooper Sr.',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','1891762669',NULL,'Sample Data','Winford','','Cooper',NULL,2,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Winford Cooper Sr.',NULL,2,'2010-03-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:49'),(200,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Jameson, Brent','Brent Jameson',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','1398082986',NULL,'Sample Data','Brent','B','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Brent Jameson',NULL,NULL,'1992-08-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50'),(201,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Kathlyn','Kathlyn Deforest',NULL,NULL,NULL,'\ 11\ 1',NULL,'Both','333595076',NULL,'Sample Data','Kathlyn','I','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Kathlyn Deforest',NULL,1,'1974-01-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2020-06-10 02:45:49','2020-06-10 02:45:50');
 /*!40000 ALTER TABLE `civicrm_contact` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -228,7 +228,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_contribution` WRITE;
 /*!40000 ALTER TABLE `civicrm_contribution` DISABLE KEYS */;
-INSERT INTO `civicrm_contribution` (`id`, `contact_id`, `financial_type_id`, `contribution_page_id`, `payment_instrument_id`, `receive_date`, `non_deductible_amount`, `total_amount`, `fee_amount`, `net_amount`, `trxn_id`, `invoice_id`, `invoice_number`, `currency`, `cancel_date`, `cancel_reason`, `receipt_date`, `thankyou_date`, `source`, `amount_level`, `contribution_recur_id`, `is_test`, `is_pay_later`, `contribution_status_id`, `address_id`, `check_number`, `campaign_id`, `creditnote_id`, `tax_amount`, `revenue_recognition_date`, `is_template`) VALUES (1,2,1,NULL,4,'2010-04-11 00:00:00',0.00,125.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'1041',NULL,NULL,NULL,NULL,0),(2,4,1,NULL,1,'2010-03-21 00:00:00',0.00,50.00,NULL,NULL,'P20901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(3,6,1,NULL,4,'2010-04-29 00:00:00',0.00,25.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'2095',NULL,NULL,NULL,NULL,0),(4,8,1,NULL,4,'2010-04-11 00:00:00',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'10552',NULL,NULL,NULL,NULL,0),(5,16,1,NULL,4,'2010-04-15 00:00:00',0.00,500.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'509',NULL,NULL,NULL,NULL,0),(6,19,1,NULL,4,'2010-04-11 00:00:00',0.00,175.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'102',NULL,NULL,NULL,NULL,0),(7,82,1,NULL,1,'2010-03-27 00:00:00',0.00,50.00,NULL,NULL,'P20193L2',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(8,92,1,NULL,1,'2010-03-08 00:00:00',0.00,10.00,NULL,NULL,'P40232Y3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(9,34,1,NULL,1,'2010-04-22 00:00:00',0.00,250.00,NULL,NULL,'P20193L6',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(10,71,1,NULL,1,'2009-07-01 11:53:50',0.00,500.00,NULL,NULL,'PL71',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(11,43,1,NULL,1,'2009-07-01 12:55:41',0.00,200.00,NULL,NULL,'PL43II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(12,32,1,NULL,1,'2009-10-01 11:53:50',0.00,200.00,NULL,NULL,'PL32I',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(13,32,1,NULL,1,'2009-12-01 12:55:41',0.00,200.00,NULL,NULL,'PL32II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(14,181,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(15,40,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(16,168,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(17,160,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(18,59,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(19,61,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(20,125,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(21,71,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(22,3,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(23,5,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(24,135,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(25,94,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(26,64,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(27,174,2,NULL,1,'2020-06-04 10:38:20',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(28,188,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(29,126,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(30,81,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(31,21,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(32,12,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(33,151,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(34,90,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(35,184,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(36,175,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(37,157,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(38,195,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(39,129,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(40,118,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(41,68,2,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(42,111,2,NULL,1,'2020-06-04 10:38:20',0.00,1200.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(43,77,2,NULL,1,'2020-06-04 10:38:20',0.00,1200.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(45,7,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(46,15,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(47,18,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(48,20,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(49,27,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(50,32,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(51,34,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(52,39,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(53,41,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(54,43,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(55,49,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(56,52,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(57,55,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(58,59,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(59,60,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(60,63,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(61,66,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(62,70,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(63,76,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(64,79,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(65,82,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(66,84,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(67,88,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(68,96,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(69,97,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(70,98,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(71,101,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(72,104,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(73,108,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(74,110,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(75,119,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(76,121,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(77,124,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(78,125,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(79,129,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(80,132,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(81,133,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(82,137,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(83,139,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(84,141,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(85,145,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(86,150,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(87,154,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(88,164,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(89,169,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(90,177,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(91,183,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(92,188,4,NULL,1,'2020-06-04 10:38:20',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(93,189,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(94,198,4,NULL,1,'2020-06-04 10:38:20',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-04 10:38:20',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0);
+INSERT INTO `civicrm_contribution` (`id`, `contact_id`, `financial_type_id`, `contribution_page_id`, `payment_instrument_id`, `receive_date`, `non_deductible_amount`, `total_amount`, `fee_amount`, `net_amount`, `trxn_id`, `invoice_id`, `invoice_number`, `currency`, `cancel_date`, `cancel_reason`, `receipt_date`, `thankyou_date`, `source`, `amount_level`, `contribution_recur_id`, `is_test`, `is_pay_later`, `contribution_status_id`, `address_id`, `check_number`, `campaign_id`, `creditnote_id`, `tax_amount`, `revenue_recognition_date`, `is_template`) VALUES (1,2,1,NULL,4,'2010-04-11 00:00:00',0.00,125.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'1041',NULL,NULL,NULL,NULL,0),(2,4,1,NULL,1,'2010-03-21 00:00:00',0.00,50.00,NULL,NULL,'P20901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(3,6,1,NULL,4,'2010-04-29 00:00:00',0.00,25.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'2095',NULL,NULL,NULL,NULL,0),(4,8,1,NULL,4,'2010-04-11 00:00:00',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'10552',NULL,NULL,NULL,NULL,0),(5,16,1,NULL,4,'2010-04-15 00:00:00',0.00,500.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'509',NULL,NULL,NULL,NULL,0),(6,19,1,NULL,4,'2010-04-11 00:00:00',0.00,175.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Apr 2007 Mailer 1',NULL,NULL,0,0,1,NULL,'102',NULL,NULL,NULL,NULL,0),(7,82,1,NULL,1,'2010-03-27 00:00:00',0.00,50.00,NULL,NULL,'P20193L2',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(8,92,1,NULL,1,'2010-03-08 00:00:00',0.00,10.00,NULL,NULL,'P40232Y3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(9,34,1,NULL,1,'2010-04-22 00:00:00',0.00,250.00,NULL,NULL,'P20193L6',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(10,71,1,NULL,1,'2009-07-01 11:53:50',0.00,500.00,NULL,NULL,'PL71',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(11,43,1,NULL,1,'2009-07-01 12:55:41',0.00,200.00,NULL,NULL,'PL43II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(12,32,1,NULL,1,'2009-10-01 11:53:50',0.00,200.00,NULL,NULL,'PL32I',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(13,32,1,NULL,1,'2009-12-01 12:55:41',0.00,200.00,NULL,NULL,'PL32II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(14,158,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(15,9,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(16,154,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(17,59,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(18,52,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(19,185,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(20,73,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(21,12,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(22,41,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(23,18,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(24,126,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(25,4,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(26,92,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(27,62,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(28,117,2,NULL,1,'2020-06-10 14:45:52',0.00,100.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(29,164,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(30,174,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(31,173,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(32,109,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(33,10,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(34,190,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(35,110,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(36,81,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(37,112,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(38,15,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(39,134,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(40,32,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(41,107,2,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(42,147,2,NULL,1,'2020-06-10 14:45:52',0.00,1200.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(43,98,2,NULL,1,'2020-06-10 14:45:52',0.00,1200.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(45,1,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(46,3,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(47,4,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(48,7,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(49,11,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(50,12,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(51,18,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(52,20,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(53,23,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(54,27,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(55,30,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(56,33,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(57,51,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(58,52,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(59,57,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(60,59,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(61,61,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(62,68,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(63,70,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(64,74,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(65,75,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(66,76,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(67,83,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(68,110,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(69,113,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(70,118,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(71,119,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(72,121,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(73,124,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(74,134,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(75,139,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(76,141,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(77,142,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(78,146,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(79,151,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(80,152,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(81,154,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(82,159,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(83,161,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(84,162,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(85,164,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(86,171,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(87,173,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(88,177,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(89,180,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(90,183,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(91,188,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(92,197,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(93,198,4,NULL,1,'2020-06-10 14:45:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),(94,199,4,NULL,1,'2020-06-10 14:45:52',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2020-06-10 14:45:52',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0);
 /*!40000 ALTER TABLE `civicrm_contribution` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -266,7 +266,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_contribution_soft` WRITE;
 /*!40000 ALTER TABLE `civicrm_contribution_soft` DISABLE KEYS */;
-INSERT INTO `civicrm_contribution_soft` (`id`, `contribution_id`, `contact_id`, `amount`, `currency`, `pcp_id`, `pcp_display_in_roll`, `pcp_roll_nickname`, `pcp_personal_note`, `soft_credit_type_id`) VALUES (1,8,54,10.00,'USD',1,1,'Jones Family','Helping Hands',10),(2,9,54,250.00,'USD',1,1,'Annie and the kids','Annie Helps',10);
+INSERT INTO `civicrm_contribution_soft` (`id`, `contribution_id`, `contact_id`, `amount`, `currency`, `pcp_id`, `pcp_display_in_roll`, `pcp_roll_nickname`, `pcp_personal_note`, `soft_credit_type_id`) VALUES (1,8,177,10.00,'USD',1,1,'Jones Family','Helping Hands',10),(2,9,177,250.00,'USD',1,1,'Annie and the kids','Annie Helps',10);
 /*!40000 ALTER TABLE `civicrm_contribution_soft` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -399,7 +399,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_domain` WRITE;
 /*!40000 ALTER TABLE `civicrm_domain` DISABLE KEYS */;
-INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,'5.27.beta1',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
+INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,'5.28.alpha1',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
 /*!40000 ALTER TABLE `civicrm_domain` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -409,7 +409,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_email` WRITE;
 /*!40000 ALTER TABLE `civicrm_email` DISABLE KEYS */;
-INSERT INTO `civicrm_email` (`id`, `contact_id`, `location_type_id`, `email`, `is_primary`, `is_billing`, `on_hold`, `is_bulkmail`, `hold_date`, `reset_date`, `signature_text`, `signature_html`) VALUES (1,1,1,'fixme.domainemail@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(2,137,1,'jacobsn@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(3,103,1,'kaceyjacobs@sample.net',1,0,0,0,NULL,NULL,NULL,NULL),(4,103,1,'jacobsk@infomail.org',0,0,0,0,NULL,NULL,NULL,NULL),(5,195,1,'merriedaz3@mymail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(6,91,1,'jayb@testing.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(7,171,1,'nicolep@airmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(8,171,1,'nparker@lol.biz',0,0,0,0,NULL,NULL,NULL,NULL),(9,172,1,'mller.kathlyn@airmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(10,147,1,'teresa@testmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(11,147,1,'chowski.teresa@infomail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(12,113,1,'cruz.e.sonny@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(13,129,1,'ivanov.j.santina62@sample.net',1,0,0,0,NULL,NULL,NULL,NULL),(14,177,1,'deforest.n.shauna27@fakemail.net',1,0,0,0,NULL,NULL,NULL,NULL),(15,177,1,'shaunadeforest@infomail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(16,198,1,'olsene9@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(17,198,1,'errololsen14@notmail.com',0,0,0,0,NULL,NULL,NULL,NULL),(18,115,1,'rebekahz@mymail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(19,80,1,'smith.a.alida@lol.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(20,80,1,'smitha3@spamalot.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(21,124,1,'dimitrov.herminia58@lol.info',1,0,0,0,NULL,NULL,NULL,NULL),(22,7,1,'kennys@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(23,6,1,'kathleenjensen27@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(24,168,1,'omarjensen@testmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(25,168,1,'jensen.omar@spamalot.net',0,0,0,0,NULL,NULL,NULL,NULL),(26,94,1,'wattson.shauna@fishmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(27,94,1,'swattson12@spamalot.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(28,131,1,'gonzlez.s.bernadette@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(29,131,1,'gonzlez.bernadette@example.net',0,0,0,0,NULL,NULL,NULL,NULL),(30,149,1,'prenticep16@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(31,149,1,'prentice.princess@fakemail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(32,68,1,'rz.barkley@lol.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(33,57,1,'kennyp@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),(34,57,1,'kennyp@mymail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(35,132,1,'terrye78@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(36,139,1,'erikchowski92@spamalot.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(37,139,1,'erik@mymail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(38,53,1,'carlosmcreynolds34@sample.net',1,0,0,0,NULL,NULL,NULL,NULL),(39,53,1,'cm.mcreynolds20@sample.net',0,0,0,0,NULL,NULL,NULL,NULL),(40,66,1,'iveycooper48@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(41,18,1,'ndeforest81@infomail.net',1,0,0,0,NULL,NULL,NULL,NULL),(42,18,1,'deforest.norris21@notmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(43,161,1,'blackwell.i.valene@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(44,98,1,'sblackwell84@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(45,98,1,'sblackwell@airmail.info',0,0,0,0,NULL,NULL,NULL,NULL),(46,140,1,'russelldimitrov44@mymail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(47,188,1,'wagner.troy79@testmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(48,188,1,'troywagner66@testing.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(49,47,1,'terrell.s.esta50@lol.biz',1,0,0,0,NULL,NULL,NULL,NULL),(50,65,1,'louadams@mymail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(51,44,1,'jacobt@fishmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(52,185,1,'jonesb@spamalot.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(53,43,1,'bettyc@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(54,28,1,'blackwell.russell@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(55,28,1,'blackwellr58@infomail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(56,119,1,'samuelsm85@example.com',1,0,0,0,NULL,NULL,NULL,NULL),(57,119,1,'samuels.j.miguel53@mymail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(58,123,1,'justinamcreynolds99@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(59,163,1,'bs.jameson@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),(60,163,1,'jamesonb58@example.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(61,38,1,'terry.u.sharyn@example.com',1,0,0,0,NULL,NULL,NULL,NULL),(62,84,1,'beulaterrell82@testmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(63,76,1,'norrisy@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(64,76,1,'nyadav@spamalot.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(65,15,1,'omarwilson62@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(66,15,1,'wilson.omar@fakemail.org',0,0,0,0,NULL,NULL,NULL,NULL),(67,126,1,'samuels.billy82@example.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(68,155,1,'grant.bryon@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),(69,55,1,'terrym12@testmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(70,55,1,'terrym73@infomail.org',0,0,0,0,NULL,NULL,NULL,NULL),(71,196,1,'kb.smith75@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),(72,196,1,'kb.smith86@notmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(73,191,1,'tg.blackwell17@spamalot.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(74,145,1,'elinadeforest@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(75,175,1,'kiaramller99@mymail.com',1,0,0,0,NULL,NULL,NULL,NULL),(76,175,1,'kiaramller29@mymail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(77,17,1,'cooperi17@fakemail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(78,160,1,'elizabetht@example.net',1,0,0,0,NULL,NULL,NULL,NULL),(79,105,1,'chowski.errol7@example.info',1,0,0,0,NULL,NULL,NULL,NULL),(80,105,1,'chowskie10@spamalot.org',0,0,0,0,NULL,NULL,NULL,NULL),(81,154,1,'nielsent77@example.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(82,88,1,'nielsen.nicole@fishmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(83,90,1,'nielsenw3@testing.net',1,0,0,0,NULL,NULL,NULL,NULL),(84,90,1,'nielsenw@infomail.info',0,0,0,0,NULL,NULL,NULL,NULL),(85,108,1,'ivanovs@example.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(86,35,1,'deforest.lashawnda8@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),(87,42,1,'bettyd@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(88,42,1,'deforestb@fishmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(89,62,1,'mariasamson@testmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(90,20,1,'grant.iris47@lol.biz',1,0,0,0,NULL,NULL,NULL,NULL),(91,20,1,'irisg68@airmail.info',0,0,0,0,NULL,NULL,NULL,NULL),(92,26,1,'lincolnivanov@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(93,26,1,'lincolnivanov54@fishmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(94,170,1,'ivanovh@spamalot.org',1,0,0,0,NULL,NULL,NULL,NULL),(95,170,1,'hivanov@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(96,141,1,'ivanov.allan33@infomail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(97,141,1,'ivanov.a.allan42@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),(98,99,1,'claudiozope62@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),(99,29,1,'irvinz16@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),(100,29,1,'izope@lol.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(101,109,1,'zope.ivey@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(102,109,1,'zope.p.ivey81@example.net',0,0,0,0,NULL,NULL,NULL,NULL),(103,107,1,'wattsonv94@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),(104,107,1,'valenew73@fakemail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(105,78,1,'wattson.carylon@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),(106,159,1,'th.wilson@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(107,97,1,'terry-wilson.eleonor94@testing.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(108,60,1,'billywilson@spamalot.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(109,36,1,'troyj85@notmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(110,12,1,'mdaz@airmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(111,19,1,'ljacobs-daz@fishmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(112,19,1,'jacobs-daz.lou@testing.info',0,0,0,0,NULL,NULL,NULL,NULL),(113,14,1,'jacobs-daz.r.rosario@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(114,14,1,'jacobs-dazr@testing.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(115,39,1,'daz.g.angelika42@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(116,189,1,'teresac93@lol.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(117,189,1,'tcruz94@fakemail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(118,151,1,'sj.daz-cruz@testmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(119,104,1,'lashawndad@sample.com',1,0,0,0,NULL,NULL,NULL,NULL),(120,40,1,'teddymcreynolds@infomail.net',1,0,0,0,NULL,NULL,NULL,NULL),(121,133,1,'trumanmcreynolds@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(122,133,1,'mcreynolds.u.truman@spamalot.info',0,0,0,0,NULL,NULL,NULL,NULL),(123,194,1,'imcreynolds@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),(124,194,1,'mcreynoldsi@spamalot.com',0,0,0,0,NULL,NULL,NULL,NULL),(125,110,1,'allanparker@sample.net',1,0,0,0,NULL,NULL,NULL,NULL),(126,110,1,'ar.parker@lol.net',0,0,0,0,NULL,NULL,NULL,NULL),(127,111,1,'yadav.iris@notmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(128,127,1,'scottbachman10@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(129,127,1,'scottb@sample.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(130,22,1,'herminiabachman@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(131,22,1,'bachmanh67@example.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(132,81,1,'bachmant61@lol.com',1,0,0,0,NULL,NULL,NULL,NULL),(133,81,1,'tbachman@testmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(134,186,1,'omars@notmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(135,186,1,'smith.a.omar@spamalot.org',0,0,0,0,NULL,NULL,NULL,NULL),(136,183,1,'smith.beula@testmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(137,192,1,'smith.f.roland94@testmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(138,169,1,'smith.z.sanford@testmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(139,169,1,'sz.smith15@fakemail.net',0,0,0,0,NULL,NULL,NULL,NULL),(140,61,1,'elbertadams73@fishmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(141,138,1,'adams.esta@example.com',1,0,0,0,NULL,NULL,NULL,NULL),(142,114,1,'adams.o.allan78@infomail.info',1,0,0,0,NULL,NULL,NULL,NULL),(143,73,1,'merried12@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(144,56,1,'dimitrov.sharyn@sample.net',1,0,0,0,NULL,NULL,NULL,NULL),(145,56,1,'dimitrov.sharyn@notmail.info',0,0,0,0,NULL,NULL,NULL,NULL),(146,173,1,'lawerencebachman88@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),(147,92,1,'ja.bachman33@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),(148,92,1,'josefabachman10@infomail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(149,85,1,'josefabachman86@fakemail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(150,187,1,'sjacobs14@fakemail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(151,128,1,'deforest.juliann35@spamalot.org',1,0,0,0,NULL,NULL,NULL,NULL),(152,128,1,'juliannd@spamalot.biz',0,0,0,0,NULL,NULL,NULL,NULL),(153,143,1,'jacobs-deforest.t.alexia36@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(154,10,3,'sales@ruralsolutions.org',1,0,0,0,NULL,NULL,NULL,NULL),(155,29,2,'izope17@ruralsolutions.org',0,0,0,0,NULL,NULL,NULL,NULL),(156,106,3,'service@hoopestoneducation.org',1,0,0,0,NULL,NULL,NULL,NULL),(157,72,2,'grantj46@hoopestoneducation.org',1,0,0,0,NULL,NULL,NULL,NULL),(158,167,3,'contact@sdagriculturesolutions.org',1,0,0,0,NULL,NULL,NULL,NULL),(159,182,3,'info@cadelleducationsolutions.org',1,0,0,0,NULL,NULL,NULL,NULL),(160,200,3,'contact@charlestoneducationpartners.org',1,0,0,0,NULL,NULL,NULL,NULL),(161,189,2,'cruz.teresa86@charlestoneducationpartners.org',0,0,0,0,NULL,NULL,NULL,NULL),(162,52,3,'service@milwaukeedevelopment.org',1,0,0,0,NULL,NULL,NULL,NULL),(163,144,3,'contact@iowaservices.org',1,0,0,0,NULL,NULL,NULL,NULL),(164,91,2,'blackwellj@iowaservices.org',0,0,0,0,NULL,NULL,NULL,NULL),(165,69,3,'feedback@collegecenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(166,9,2,'bp.samson-jensen@collegecenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(167,122,3,'feedback@oklahomafoodnetwork.org',1,0,0,0,NULL,NULL,NULL,NULL),(168,164,2,'cruz.brigette37@oklahomafoodnetwork.org',1,0,0,0,NULL,NULL,NULL,NULL),(169,101,3,'info@hartfordservices.org',1,0,0,0,NULL,NULL,NULL,NULL),(170,184,2,'parker-yadav.russell43@hartfordservices.org',1,0,0,0,NULL,NULL,NULL,NULL),(171,50,3,'sales@carmelculturealliance.org',1,0,0,0,NULL,NULL,NULL,NULL),(172,176,3,'sales@vnenvironmentalfund.org',1,0,0,0,NULL,NULL,NULL,NULL),(173,16,3,'service@ruralempowermentfellowship.org',1,0,0,0,NULL,NULL,NULL,NULL),(174,98,2,'blackwell.sanford66@ruralempowermentfellowship.org',0,0,0,0,NULL,NULL,NULL,NULL),(175,49,3,'contact@ruralalliance.org',1,0,0,0,NULL,NULL,NULL,NULL),(176,112,2,'yadav.herminia@ruralalliance.org',1,0,0,0,NULL,NULL,NULL,NULL),(177,152,3,'info@dowlenschool.org',1,0,0,0,NULL,NULL,NULL,NULL),(178,129,2,'@dowlenschool.org',0,0,0,0,NULL,NULL,NULL,NULL),(179,83,3,'service@missouriadvocacypartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),(180,135,2,'raylee@missouriadvocacypartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),(181,NULL,1,'development@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(182,NULL,1,'tournaments@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(183,NULL,1,'celebration@example.org',0,0,0,0,NULL,NULL,NULL,NULL);
+INSERT INTO `civicrm_email` (`id`, `contact_id`, `location_type_id`, `email`, `is_primary`, `is_billing`, `on_hold`, `is_bulkmail`, `hold_date`, `reset_date`, `signature_text`, `signature_html`) VALUES (1,1,1,'fixme.domainemail@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(2,43,1,'samuelst9@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(3,43,1,'samuels.q.toby35@testing.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(4,71,1,'daz.lashawnda@example.com',1,0,0,0,NULL,NULL,NULL,NULL),(5,71,1,'daz.lashawnda@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(6,110,1,'jameson.errol57@spamalot.org',1,0,0,0,NULL,NULL,NULL,NULL),(7,91,1,'patel.claudio@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(8,91,1,'ca.patel@testing.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(9,172,1,'blackwellm@sample.biz',1,0,0,0,NULL,NULL,NULL,NULL),(10,172,1,'mx.blackwell95@mymail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(11,37,1,'roberts.roland51@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(12,37,1,'rolandroberts8@fakemail.com',0,0,0,0,NULL,NULL,NULL,NULL),(13,175,1,'felishar2@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(14,15,1,'jinap@lol.biz',1,0,0,0,NULL,NULL,NULL,NULL),(15,115,1,'krobertson12@lol.biz',1,0,0,0,NULL,NULL,NULL,NULL),(16,147,1,'eriksamuels@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),(17,147,1,'samuels.u.erik@airmail.com',0,0,0,0,NULL,NULL,NULL,NULL),(18,198,1,'smithe22@example.com',1,0,0,0,NULL,NULL,NULL,NULL),(19,198,1,'errols79@spamalot.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(20,53,1,'megand91@airmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(21,53,1,'dazm@lol.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(22,22,1,'wilson.felisha77@fishmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(23,22,1,'wilson.felisha@mymail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(24,18,1,'wattson.brzczysaw@airmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(25,18,1,'brzczysawwattson97@airmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(26,108,1,'cruz.w.maria@mymail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(27,92,1,'roberts.r.nicole@testing.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(28,92,1,'roberts.r.nicole50@testing.biz',0,0,0,0,NULL,NULL,NULL,NULL),(29,44,1,'barryparker@lol.com',1,0,0,0,NULL,NULL,NULL,NULL),(30,44,1,'parker.barry@fishmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(31,121,1,'nlee@testmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(32,47,1,'carylonchowski@mymail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(33,47,1,'carylonchowski80@fakemail.info',0,0,0,0,NULL,NULL,NULL,NULL),(34,138,1,'jameson.heidi@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(35,138,1,'jamesonh@infomail.net',0,0,0,0,NULL,NULL,NULL,NULL),(36,85,1,'darena@example.net',1,0,0,0,NULL,NULL,NULL,NULL),(37,85,1,'adamsd@notmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(38,66,1,'darenr@notmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(39,157,1,'allanzope81@example.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(40,157,1,'allanz28@spamalot.net',0,0,0,0,NULL,NULL,NULL,NULL),(41,119,1,'jinag@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(42,119,1,'jj.grant93@sample.info',0,0,0,0,NULL,NULL,NULL,NULL),(43,142,1,'scarletjones@example.info',1,0,0,0,NULL,NULL,NULL,NULL),(44,142,1,'jones.scarlet@testmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(45,164,1,'scottjensen23@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(46,134,1,'cruzl2@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(47,41,1,'samuels.russell@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(48,120,1,'roberts.lou48@mymail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(49,16,1,'barkley.v.rosario65@lol.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(50,29,1,'bachman.esta61@fishmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(51,29,1,'bachman.esta@infomail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(52,103,1,'jmller@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),(53,103,1,'mllerj@spamalot.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(54,149,1,'robertsr@spamalot.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(55,136,1,'robertson.ivey@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(56,24,1,'smith.brittney@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(57,24,1,'smith.d.brittney@mymail.info',0,0,0,0,NULL,NULL,NULL,NULL),(58,36,1,'brzczysawparker50@testmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(59,36,1,'brzczysawp31@notmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(60,7,1,'jacksonl@testing.org',1,0,0,0,NULL,NULL,NULL,NULL),(61,7,1,'lee.jackson@spamalot.com',0,0,0,0,NULL,NULL,NULL,NULL),(62,158,1,'ar.terry71@lol.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(63,20,1,'allenroberts@sample.net',1,0,0,0,NULL,NULL,NULL,NULL),(64,20,1,'robertsa@airmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(65,93,1,'shadmcreynolds6@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(66,93,1,'mcreynolds.shad8@spamalot.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(67,69,1,'chowski.ashlie52@example.info',1,0,0,0,NULL,NULL,NULL,NULL),(68,69,1,'ashlie82@airmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(69,21,1,'wilson.brigette49@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),(70,137,1,'cruz.sanford48@mymail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(71,152,1,'reynolds.shad@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(72,185,1,'daz.sonny@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),(73,30,1,'brittneywilson@infomail.org',1,0,0,0,NULL,NULL,NULL,NULL),(74,30,1,'brittneyw@airmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(75,62,1,'elbertmller39@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(76,9,1,'jacobjensen58@infomail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(77,78,1,'prenticer36@infomail.net',1,0,0,0,NULL,NULL,NULL,NULL),(78,78,1,'prentice.t.rolando88@fakemail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(79,117,1,'bzope56@infomail.net',1,0,0,0,NULL,NULL,NULL,NULL),(80,117,1,'zope.bob93@airmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(81,196,1,'es.dimitrov@testmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(82,196,1,'dimitrove7@testmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(83,13,1,'cooperl@mymail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(84,180,1,'daza@lol.biz',1,0,0,0,NULL,NULL,NULL,NULL),(85,155,1,'kathleennielsen-daz79@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),(86,165,1,'daz.toby@fishmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(87,165,1,'tobydaz31@fakemail.net',0,0,0,0,NULL,NULL,NULL,NULL),(88,52,1,'bp.daz12@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(89,52,1,'bp.daz@mymail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(90,132,1,'ajensen70@airmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(91,132,1,'allenjensen65@fakemail.org',0,0,0,0,NULL,NULL,NULL,NULL),(92,109,1,'ashleyj@testmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(93,109,1,'jensen-wilsona@lol.biz',0,0,0,0,NULL,NULL,NULL,NULL),(94,11,1,'smithr13@testing.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(95,11,1,'ru.smith69@spamalot.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(96,45,1,'smith.d.kandace@mymail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(97,88,1,'jameson.q.teddy@notmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(98,200,1,'brentjameson@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(99,200,1,'brentjameson62@fakemail.com',0,0,0,0,NULL,NULL,NULL,NULL),(100,124,1,'irisjameson76@lol.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(101,125,1,'adams.rosario@sample.biz',1,0,0,0,NULL,NULL,NULL,NULL),(102,14,1,'ivanovs70@mymail.info',1,0,0,0,NULL,NULL,NULL,NULL),(103,14,1,'ivanov.shad38@lol.org',0,0,0,0,NULL,NULL,NULL,NULL),(104,163,1,'ivanov-dimitrovm@lol.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(105,163,1,'migueli@airmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(106,189,1,'troya@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(107,104,1,'adams.roland@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),(108,151,1,'adams.e.allan86@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(109,190,1,'josefaadams@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),(110,77,1,'edaz@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(111,77,1,'edaz@mymail.net',0,0,0,0,NULL,NULL,NULL,NULL),(112,176,1,'dazk@infomail.com',1,0,0,0,NULL,NULL,NULL,NULL),(113,139,1,'daz.scarlet@notmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(114,139,1,'sc.daz2@sample.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(115,150,1,'kh.samson16@mymail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(116,174,1,'samson.winford89@example.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(117,174,1,'samson.winford11@notmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(118,73,1,'bu.samson@sample.net',1,0,0,0,NULL,NULL,NULL,NULL),(119,73,1,'samsonb@example.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(120,107,1,'dt.wagner@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),(121,173,1,'wagner.lou25@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),(122,173,1,'lwagner95@spamalot.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(123,33,1,'jacobsi6@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(124,59,1,'wagner-jacobs.scarlet97@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(125,59,1,'swagner-jacobs@spamalot.biz',0,0,0,0,NULL,NULL,NULL,NULL),(126,5,1,'wagner-jacobsr9@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(127,64,1,'kp.deforest@mymail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(128,64,1,'deforest.kenny95@example.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(129,87,1,'hh.roberts-deforest@fishmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(130,201,1,'ki.deforest@sample.net',1,0,0,0,NULL,NULL,NULL,NULL),(131,126,1,'deforest.p.kandace89@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(132,126,1,'kandaced42@sample.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(133,141,1,'smith-daz.l.eleonor@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(134,94,1,'daz.r.laree@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),(135,153,1,'chowski.b.kathlyn@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),(136,191,1,'chowski.billy@fakemail.com',1,0,0,0,NULL,NULL,NULL,NULL),(137,32,1,'chowski.justina@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),(138,169,1,'reynoldsc@fishmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(139,186,1,'reynolds.tanya14@lol.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(140,133,1,'elizabethreynolds@fakemail.com',1,0,0,0,NULL,NULL,NULL,NULL),(141,133,1,'reynolds.elizabeth50@notmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(142,4,1,'errolreynolds@mymail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(143,4,1,'reynolds.errol@testmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(144,197,1,'rl.robertson@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(145,171,1,'rosarioterrell-robertson82@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),(146,184,1,'lawerencer@fishmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(147,130,1,'carlosr@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(148,170,1,'chowski.shad@mymail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(149,170,1,'shadchowski@mymail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(150,114,1,'bernadetteg@fishmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(151,114,1,'gonzlez.bernadette25@example.net',0,0,0,0,NULL,NULL,NULL,NULL),(152,160,1,'chowski-gonzlez.brittney@airmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(153,113,1,'dimitrov.b.brzczysaw@sample.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(154,148,1,'dimitrov.d.lawerence@sample.net',1,0,0,0,NULL,NULL,NULL,NULL),(155,148,1,'dimitrov.d.lawerence@airmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(156,179,1,'scarletdimitrov53@sample.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(157,72,1,'ou.blackwell@fakemail.info',1,0,0,0,NULL,NULL,NULL,NULL),(158,195,1,'bachman-blackwell.landon80@sample.net',1,0,0,0,NULL,NULL,NULL,NULL),(159,156,1,'ts.bachman-blackwell28@sample.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(160,156,1,'bachman-blackwellt@sample.net',0,0,0,0,NULL,NULL,NULL,NULL),(161,74,3,'feedback@urbanpeacefund.org',1,0,0,0,NULL,NULL,NULL,NULL),(162,160,2,'brittneychowski-gonzlez@urbanpeacefund.org',0,0,0,0,NULL,NULL,NULL,NULL),(163,111,3,'service@sierrapeaceinitiative.org',1,0,0,0,NULL,NULL,NULL,NULL),(164,154,2,'chowski-gonzlezo12@sierrapeaceinitiative.org',1,0,0,0,NULL,NULL,NULL,NULL),(165,23,3,'service@creativeeducation.org',1,0,0,0,NULL,NULL,NULL,NULL),(166,121,2,'@creativeeducation.org',0,0,0,0,NULL,NULL,NULL,NULL),(167,65,3,'sales@indiahomahealthcollective.org',1,0,0,0,NULL,NULL,NULL,NULL),(168,84,2,'scooper13@indiahomahealthcollective.org',1,0,0,0,NULL,NULL,NULL,NULL),(169,82,3,'feedback@pineassociation.org',1,0,0,0,NULL,NULL,NULL,NULL),(170,123,3,'service@mlkingeducation.org',1,0,0,0,NULL,NULL,NULL,NULL),(171,21,2,'brigettew34@mlkingeducation.org',0,0,0,0,NULL,NULL,NULL,NULL),(172,55,3,'service@mainarts.org',1,0,0,0,NULL,NULL,NULL,NULL),(173,144,3,'feedback@urbaninitiative.org',1,0,0,0,NULL,NULL,NULL,NULL),(174,142,2,'scarletjones@urbaninitiative.org',0,0,0,0,NULL,NULL,NULL,NULL),(175,63,3,'sales@nyhealthsystems.org',1,0,0,0,NULL,NULL,NULL,NULL),(176,193,2,'samson.o.carlos@nyhealthsystems.org',1,0,0,0,NULL,NULL,NULL,NULL),(177,178,3,'sales@wisconsinwellness.org',1,0,0,0,NULL,NULL,NULL,NULL),(178,18,2,'wattsonb@wisconsinwellness.org',0,0,0,0,NULL,NULL,NULL,NULL),(179,101,3,'contact@spactionservices.org',1,0,0,0,NULL,NULL,NULL,NULL),(180,119,2,'grant.j.jina@spactionservices.org',0,0,0,0,NULL,NULL,NULL,NULL),(181,135,3,'contact@austinhealth.org',1,0,0,0,NULL,NULL,NULL,NULL),(182,39,3,'info@farmingtonservices.org',1,0,0,0,NULL,NULL,NULL,NULL),(183,19,2,'adams-wilsonr7@farmingtonservices.org',1,0,0,0,NULL,NULL,NULL,NULL),(184,60,3,'info@paluxyenvironmental.org',1,0,0,0,NULL,NULL,NULL,NULL),(185,26,2,'ivanov.justina@paluxyenvironmental.org',1,0,0,0,NULL,NULL,NULL,NULL),(186,182,3,'contact@statespartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),(187,106,2,'mcreynoldsv@statespartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),(188,105,3,'feedback@unitedtechnology.org',1,0,0,0,NULL,NULL,NULL,NULL),(189,29,2,'11@unitedtechnology.org',0,0,0,0,NULL,NULL,NULL,NULL),(190,NULL,1,'development@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(191,NULL,1,'tournaments@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(192,NULL,1,'celebration@example.org',0,0,0,0,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_email` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -447,7 +447,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_entity_financial_trxn` WRITE;
 /*!40000 ALTER TABLE `civicrm_entity_financial_trxn` DISABLE KEYS */;
-INSERT INTO `civicrm_entity_financial_trxn` (`id`, `entity_table`, `entity_id`, `financial_trxn_id`, `amount`) VALUES (1,'civicrm_contribution',1,1,125.00),(2,'civicrm_financial_item',1,1,125.00),(3,'civicrm_contribution',2,2,50.00),(4,'civicrm_financial_item',2,2,50.00),(5,'civicrm_contribution',3,3,25.00),(6,'civicrm_financial_item',3,3,25.00),(7,'civicrm_contribution',4,4,50.00),(8,'civicrm_financial_item',4,4,50.00),(9,'civicrm_contribution',5,5,500.00),(10,'civicrm_financial_item',5,5,500.00),(11,'civicrm_contribution',6,6,175.00),(12,'civicrm_financial_item',6,6,175.00),(13,'civicrm_contribution',7,7,50.00),(14,'civicrm_financial_item',7,7,50.00),(15,'civicrm_contribution',8,8,10.00),(16,'civicrm_financial_item',8,8,10.00),(17,'civicrm_contribution',9,9,250.00),(18,'civicrm_financial_item',9,9,250.00),(19,'civicrm_contribution',10,10,500.00),(20,'civicrm_financial_item',10,10,500.00),(21,'civicrm_contribution',11,11,200.00),(22,'civicrm_financial_item',11,11,200.00),(23,'civicrm_contribution',12,12,200.00),(24,'civicrm_financial_item',12,12,200.00),(25,'civicrm_contribution',13,13,200.00),(26,'civicrm_financial_item',13,13,200.00),(27,'civicrm_contribution',14,14,100.00),(28,'civicrm_financial_item',14,14,100.00),(29,'civicrm_contribution',15,15,100.00),(30,'civicrm_financial_item',15,15,100.00),(31,'civicrm_contribution',16,16,100.00),(32,'civicrm_financial_item',16,16,100.00),(33,'civicrm_contribution',17,17,100.00),(34,'civicrm_financial_item',17,17,100.00),(35,'civicrm_contribution',18,18,100.00),(36,'civicrm_financial_item',18,18,100.00),(37,'civicrm_contribution',19,19,100.00),(38,'civicrm_financial_item',19,19,100.00),(39,'civicrm_contribution',20,20,100.00),(40,'civicrm_financial_item',20,20,100.00),(41,'civicrm_contribution',21,21,100.00),(42,'civicrm_financial_item',21,21,100.00),(43,'civicrm_contribution',22,22,100.00),(44,'civicrm_financial_item',22,22,100.00),(45,'civicrm_contribution',23,23,100.00),(46,'civicrm_financial_item',23,23,100.00),(47,'civicrm_contribution',24,24,100.00),(48,'civicrm_financial_item',24,24,100.00),(49,'civicrm_contribution',25,25,100.00),(50,'civicrm_financial_item',25,25,100.00),(51,'civicrm_contribution',26,26,100.00),(52,'civicrm_financial_item',26,26,100.00),(53,'civicrm_contribution',27,27,100.00),(54,'civicrm_financial_item',27,27,100.00),(55,'civicrm_contribution',28,28,50.00),(56,'civicrm_financial_item',28,28,50.00),(57,'civicrm_contribution',29,29,50.00),(58,'civicrm_financial_item',29,29,50.00),(59,'civicrm_contribution',30,30,50.00),(60,'civicrm_financial_item',30,30,50.00),(61,'civicrm_contribution',31,31,50.00),(62,'civicrm_financial_item',31,31,50.00),(63,'civicrm_contribution',32,32,50.00),(64,'civicrm_financial_item',32,32,50.00),(65,'civicrm_contribution',33,33,50.00),(66,'civicrm_financial_item',33,33,50.00),(67,'civicrm_contribution',34,34,50.00),(68,'civicrm_financial_item',34,34,50.00),(69,'civicrm_contribution',35,35,50.00),(70,'civicrm_financial_item',35,35,50.00),(71,'civicrm_contribution',36,36,50.00),(72,'civicrm_financial_item',36,36,50.00),(73,'civicrm_contribution',37,37,50.00),(74,'civicrm_financial_item',37,37,50.00),(75,'civicrm_contribution',38,38,50.00),(76,'civicrm_financial_item',38,38,50.00),(77,'civicrm_contribution',39,39,50.00),(78,'civicrm_financial_item',39,39,50.00),(79,'civicrm_contribution',40,40,50.00),(80,'civicrm_financial_item',40,40,50.00),(81,'civicrm_contribution',41,41,50.00),(82,'civicrm_financial_item',41,41,50.00),(83,'civicrm_contribution',42,42,1200.00),(84,'civicrm_financial_item',42,42,1200.00),(85,'civicrm_contribution',43,43,1200.00),(86,'civicrm_financial_item',43,43,1200.00),(87,'civicrm_contribution',55,44,50.00),(88,'civicrm_financial_item',44,44,50.00),(89,'civicrm_contribution',91,45,50.00),(90,'civicrm_financial_item',45,45,50.00),(91,'civicrm_contribution',66,46,50.00),(92,'civicrm_financial_item',46,46,50.00),(93,'civicrm_contribution',89,47,50.00),(94,'civicrm_financial_item',47,47,50.00),(95,'civicrm_contribution',87,48,50.00),(96,'civicrm_financial_item',48,48,50.00),(97,'civicrm_contribution',46,49,50.00),(98,'civicrm_financial_item',49,49,50.00),(99,'civicrm_contribution',73,50,50.00),(100,'civicrm_financial_item',50,50,50.00),(101,'civicrm_contribution',51,51,50.00),(102,'civicrm_financial_item',51,51,50.00),(103,'civicrm_contribution',74,52,50.00),(104,'civicrm_financial_item',52,52,50.00),(105,'civicrm_contribution',61,53,50.00),(106,'civicrm_financial_item',53,53,50.00),(107,'civicrm_contribution',47,54,50.00),(108,'civicrm_financial_item',54,54,50.00),(109,'civicrm_contribution',88,55,50.00),(110,'civicrm_financial_item',55,55,50.00),(111,'civicrm_contribution',62,56,50.00),(112,'civicrm_financial_item',56,56,50.00),(113,'civicrm_contribution',72,57,50.00),(114,'civicrm_financial_item',57,57,50.00),(115,'civicrm_contribution',58,58,50.00),(116,'civicrm_financial_item',58,58,50.00),(117,'civicrm_contribution',52,59,50.00),(118,'civicrm_financial_item',59,59,50.00),(119,'civicrm_contribution',57,60,800.00),(120,'civicrm_financial_item',60,60,800.00),(121,'civicrm_contribution',53,61,800.00),(122,'civicrm_financial_item',61,61,800.00),(123,'civicrm_contribution',54,62,800.00),(124,'civicrm_financial_item',62,62,800.00),(125,'civicrm_contribution',92,63,800.00),(126,'civicrm_financial_item',63,63,800.00),(127,'civicrm_contribution',69,64,800.00),(128,'civicrm_financial_item',64,64,800.00),(129,'civicrm_contribution',75,65,800.00),(130,'civicrm_financial_item',65,65,800.00),(131,'civicrm_contribution',64,66,800.00),(132,'civicrm_financial_item',66,66,800.00),(133,'civicrm_contribution',83,67,800.00),(134,'civicrm_financial_item',67,67,800.00),(135,'civicrm_contribution',49,68,800.00),(136,'civicrm_financial_item',68,68,800.00),(137,'civicrm_contribution',80,69,800.00),(138,'civicrm_financial_item',69,69,800.00),(139,'civicrm_contribution',78,70,800.00),(140,'civicrm_financial_item',70,70,800.00),(141,'civicrm_contribution',50,71,800.00),(142,'civicrm_financial_item',71,71,800.00),(143,'civicrm_contribution',71,72,800.00),(144,'civicrm_financial_item',72,72,800.00),(145,'civicrm_contribution',84,73,800.00),(146,'civicrm_financial_item',73,73,800.00),(147,'civicrm_contribution',90,74,800.00),(148,'civicrm_financial_item',74,74,800.00),(149,'civicrm_contribution',76,75,800.00),(150,'civicrm_financial_item',75,75,800.00),(151,'civicrm_contribution',86,76,800.00),(152,'civicrm_financial_item',76,76,800.00),(153,'civicrm_contribution',45,77,800.00),(154,'civicrm_financial_item',77,77,800.00),(155,'civicrm_contribution',93,78,50.00),(156,'civicrm_financial_item',78,78,50.00),(157,'civicrm_contribution',77,79,50.00),(158,'civicrm_financial_item',79,79,50.00),(159,'civicrm_contribution',48,80,50.00),(160,'civicrm_financial_item',80,80,50.00),(161,'civicrm_contribution',59,81,50.00),(162,'civicrm_financial_item',81,81,50.00),(163,'civicrm_contribution',68,82,50.00),(164,'civicrm_financial_item',82,82,50.00),(165,'civicrm_contribution',85,83,50.00),(166,'civicrm_financial_item',83,83,50.00),(167,'civicrm_contribution',79,84,50.00),(168,'civicrm_financial_item',84,84,50.00),(169,'civicrm_contribution',82,85,50.00),(170,'civicrm_financial_item',85,85,50.00),(171,'civicrm_contribution',81,86,50.00),(172,'civicrm_financial_item',86,86,50.00),(173,'civicrm_contribution',94,87,50.00),(174,'civicrm_financial_item',87,87,50.00),(175,'civicrm_contribution',60,88,50.00),(176,'civicrm_financial_item',88,88,50.00),(177,'civicrm_contribution',65,89,50.00),(178,'civicrm_financial_item',89,89,50.00),(179,'civicrm_contribution',63,90,50.00),(180,'civicrm_financial_item',90,90,50.00),(181,'civicrm_contribution',70,91,50.00),(182,'civicrm_financial_item',91,91,50.00),(183,'civicrm_contribution',56,92,50.00),(184,'civicrm_financial_item',92,92,50.00),(185,'civicrm_contribution',67,93,50.00),(186,'civicrm_financial_item',93,93,50.00);
+INSERT INTO `civicrm_entity_financial_trxn` (`id`, `entity_table`, `entity_id`, `financial_trxn_id`, `amount`) VALUES (1,'civicrm_contribution',1,1,125.00),(2,'civicrm_financial_item',1,1,125.00),(3,'civicrm_contribution',2,2,50.00),(4,'civicrm_financial_item',2,2,50.00),(5,'civicrm_contribution',3,3,25.00),(6,'civicrm_financial_item',3,3,25.00),(7,'civicrm_contribution',4,4,50.00),(8,'civicrm_financial_item',4,4,50.00),(9,'civicrm_contribution',5,5,500.00),(10,'civicrm_financial_item',5,5,500.00),(11,'civicrm_contribution',6,6,175.00),(12,'civicrm_financial_item',6,6,175.00),(13,'civicrm_contribution',7,7,50.00),(14,'civicrm_financial_item',7,7,50.00),(15,'civicrm_contribution',8,8,10.00),(16,'civicrm_financial_item',8,8,10.00),(17,'civicrm_contribution',9,9,250.00),(18,'civicrm_financial_item',9,9,250.00),(19,'civicrm_contribution',10,10,500.00),(20,'civicrm_financial_item',10,10,500.00),(21,'civicrm_contribution',11,11,200.00),(22,'civicrm_financial_item',11,11,200.00),(23,'civicrm_contribution',12,12,200.00),(24,'civicrm_financial_item',12,12,200.00),(25,'civicrm_contribution',13,13,200.00),(26,'civicrm_financial_item',13,13,200.00),(27,'civicrm_contribution',14,14,100.00),(28,'civicrm_financial_item',14,14,100.00),(29,'civicrm_contribution',15,15,100.00),(30,'civicrm_financial_item',15,15,100.00),(31,'civicrm_contribution',16,16,100.00),(32,'civicrm_financial_item',16,16,100.00),(33,'civicrm_contribution',17,17,100.00),(34,'civicrm_financial_item',17,17,100.00),(35,'civicrm_contribution',18,18,100.00),(36,'civicrm_financial_item',18,18,100.00),(37,'civicrm_contribution',19,19,100.00),(38,'civicrm_financial_item',19,19,100.00),(39,'civicrm_contribution',20,20,100.00),(40,'civicrm_financial_item',20,20,100.00),(41,'civicrm_contribution',21,21,100.00),(42,'civicrm_financial_item',21,21,100.00),(43,'civicrm_contribution',22,22,100.00),(44,'civicrm_financial_item',22,22,100.00),(45,'civicrm_contribution',23,23,100.00),(46,'civicrm_financial_item',23,23,100.00),(47,'civicrm_contribution',24,24,100.00),(48,'civicrm_financial_item',24,24,100.00),(49,'civicrm_contribution',25,25,100.00),(50,'civicrm_financial_item',25,25,100.00),(51,'civicrm_contribution',26,26,100.00),(52,'civicrm_financial_item',26,26,100.00),(53,'civicrm_contribution',27,27,100.00),(54,'civicrm_financial_item',27,27,100.00),(55,'civicrm_contribution',28,28,100.00),(56,'civicrm_financial_item',28,28,100.00),(57,'civicrm_contribution',29,29,50.00),(58,'civicrm_financial_item',29,29,50.00),(59,'civicrm_contribution',30,30,50.00),(60,'civicrm_financial_item',30,30,50.00),(61,'civicrm_contribution',31,31,50.00),(62,'civicrm_financial_item',31,31,50.00),(63,'civicrm_contribution',32,32,50.00),(64,'civicrm_financial_item',32,32,50.00),(65,'civicrm_contribution',33,33,50.00),(66,'civicrm_financial_item',33,33,50.00),(67,'civicrm_contribution',34,34,50.00),(68,'civicrm_financial_item',34,34,50.00),(69,'civicrm_contribution',35,35,50.00),(70,'civicrm_financial_item',35,35,50.00),(71,'civicrm_contribution',36,36,50.00),(72,'civicrm_financial_item',36,36,50.00),(73,'civicrm_contribution',37,37,50.00),(74,'civicrm_financial_item',37,37,50.00),(75,'civicrm_contribution',38,38,50.00),(76,'civicrm_financial_item',38,38,50.00),(77,'civicrm_contribution',39,39,50.00),(78,'civicrm_financial_item',39,39,50.00),(79,'civicrm_contribution',40,40,50.00),(80,'civicrm_financial_item',40,40,50.00),(81,'civicrm_contribution',41,41,50.00),(82,'civicrm_financial_item',41,41,50.00),(83,'civicrm_contribution',42,42,1200.00),(84,'civicrm_financial_item',42,42,1200.00),(85,'civicrm_contribution',43,43,1200.00),(86,'civicrm_financial_item',43,43,1200.00),(87,'civicrm_contribution',59,44,50.00),(88,'civicrm_financial_item',44,44,50.00),(89,'civicrm_contribution',69,45,50.00),(90,'civicrm_financial_item',45,45,50.00),(91,'civicrm_contribution',86,46,50.00),(92,'civicrm_financial_item',46,46,50.00),(93,'civicrm_contribution',45,47,50.00),(94,'civicrm_financial_item',47,47,50.00),(95,'civicrm_contribution',93,48,50.00),(96,'civicrm_financial_item',48,48,50.00),(97,'civicrm_contribution',82,49,50.00),(98,'civicrm_financial_item',49,49,50.00),(99,'civicrm_contribution',89,50,50.00),(100,'civicrm_financial_item',50,50,50.00),(101,'civicrm_contribution',57,51,50.00),(102,'civicrm_financial_item',51,51,50.00),(103,'civicrm_contribution',58,52,50.00),(104,'civicrm_financial_item',52,52,50.00),(105,'civicrm_contribution',54,53,50.00),(106,'civicrm_financial_item',53,53,50.00),(107,'civicrm_contribution',67,54,50.00),(108,'civicrm_financial_item',54,54,50.00),(109,'civicrm_contribution',65,55,50.00),(110,'civicrm_financial_item',55,55,50.00),(111,'civicrm_contribution',72,56,50.00),(112,'civicrm_financial_item',56,56,50.00),(113,'civicrm_contribution',62,57,50.00),(114,'civicrm_financial_item',57,57,50.00),(115,'civicrm_contribution',49,58,50.00),(116,'civicrm_financial_item',58,58,50.00),(117,'civicrm_contribution',85,59,50.00),(118,'civicrm_financial_item',59,59,50.00),(119,'civicrm_contribution',60,60,800.00),(120,'civicrm_financial_item',60,60,800.00),(121,'civicrm_contribution',88,61,800.00),(122,'civicrm_financial_item',61,61,800.00),(123,'civicrm_contribution',80,62,800.00),(124,'civicrm_financial_item',62,62,800.00),(125,'civicrm_contribution',53,63,800.00),(126,'civicrm_financial_item',63,63,800.00),(127,'civicrm_contribution',52,64,800.00),(128,'civicrm_financial_item',64,64,800.00),(129,'civicrm_contribution',68,65,800.00),(130,'civicrm_financial_item',65,65,800.00),(131,'civicrm_contribution',83,66,800.00),(132,'civicrm_financial_item',66,66,800.00),(133,'civicrm_contribution',78,67,800.00),(134,'civicrm_financial_item',67,67,800.00),(135,'civicrm_contribution',64,68,800.00),(136,'civicrm_financial_item',68,68,800.00),(137,'civicrm_contribution',47,69,800.00),(138,'civicrm_financial_item',69,69,800.00),(139,'civicrm_contribution',70,70,800.00),(140,'civicrm_financial_item',70,70,800.00),(141,'civicrm_contribution',79,71,800.00),(142,'civicrm_financial_item',71,71,800.00),(143,'civicrm_contribution',61,72,800.00),(144,'civicrm_financial_item',72,72,800.00),(145,'civicrm_contribution',51,73,800.00),(146,'civicrm_financial_item',73,73,800.00),(147,'civicrm_contribution',48,74,800.00),(148,'civicrm_financial_item',74,74,800.00),(149,'civicrm_contribution',94,75,800.00),(150,'civicrm_financial_item',75,75,800.00),(151,'civicrm_contribution',77,76,800.00),(152,'civicrm_financial_item',76,76,800.00),(153,'civicrm_contribution',56,77,800.00),(154,'civicrm_financial_item',77,77,800.00),(155,'civicrm_contribution',74,78,50.00),(156,'civicrm_financial_item',78,78,50.00),(157,'civicrm_contribution',66,79,50.00),(158,'civicrm_financial_item',79,79,50.00),(159,'civicrm_contribution',63,80,50.00),(160,'civicrm_financial_item',80,80,50.00),(161,'civicrm_contribution',73,81,50.00),(162,'civicrm_financial_item',81,81,50.00),(163,'civicrm_contribution',75,82,50.00),(164,'civicrm_financial_item',82,82,50.00),(165,'civicrm_contribution',71,83,50.00),(166,'civicrm_financial_item',83,83,50.00),(167,'civicrm_contribution',81,84,50.00),(168,'civicrm_financial_item',84,84,50.00),(169,'civicrm_contribution',90,85,50.00),(170,'civicrm_financial_item',85,85,50.00),(171,'civicrm_contribution',55,86,50.00),(172,'civicrm_financial_item',86,86,50.00),(173,'civicrm_contribution',87,87,50.00),(174,'civicrm_financial_item',87,87,50.00),(175,'civicrm_contribution',46,88,50.00),(176,'civicrm_financial_item',88,88,50.00),(177,'civicrm_contribution',91,89,50.00),(178,'civicrm_financial_item',89,89,50.00),(179,'civicrm_contribution',92,90,50.00),(180,'civicrm_financial_item',90,90,50.00),(181,'civicrm_contribution',84,91,50.00),(182,'civicrm_financial_item',91,91,50.00),(183,'civicrm_contribution',50,92,50.00),(184,'civicrm_financial_item',92,92,50.00),(185,'civicrm_contribution',76,93,50.00),(186,'civicrm_financial_item',93,93,50.00);
 /*!40000 ALTER TABLE `civicrm_entity_financial_trxn` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -457,7 +457,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_entity_tag` WRITE;
 /*!40000 ALTER TABLE `civicrm_entity_tag` DISABLE KEYS */;
-INSERT INTO `civicrm_entity_tag` (`id`, `entity_table`, `entity_id`, `tag_id`) VALUES (3,'civicrm_contact',2,3),(92,'civicrm_contact',3,4),(93,'civicrm_contact',3,5),(12,'civicrm_contact',4,4),(27,'civicrm_contact',6,4),(28,'civicrm_contact',6,5),(1,'civicrm_contact',10,1),(67,'civicrm_contact',11,5),(57,'civicrm_contact',13,5),(58,'civicrm_contact',17,5),(37,'civicrm_contact',18,4),(38,'civicrm_contact',18,5),(87,'civicrm_contact',19,4),(70,'civicrm_contact',20,4),(95,'civicrm_contact',21,4),(96,'civicrm_contact',21,5),(98,'civicrm_contact',22,4),(73,'civicrm_contact',26,4),(10,'civicrm_contact',27,1),(43,'civicrm_contact',28,5),(78,'civicrm_contact',29,5),(63,'civicrm_contact',34,5),(66,'civicrm_contact',35,4),(85,'civicrm_contact',36,4),(86,'civicrm_contact',36,5),(32,'civicrm_contact',37,5),(46,'civicrm_contact',38,4),(88,'civicrm_contact',39,4),(89,'civicrm_contact',39,5),(91,'civicrm_contact',40,4),(79,'civicrm_contact',41,5),(71,'civicrm_contact',45,4),(72,'civicrm_contact',45,5),(9,'civicrm_contact',49,1),(47,'civicrm_contact',51,4),(48,'civicrm_contact',51,5),(5,'civicrm_contact',52,1),(17,'civicrm_contact',59,5),(83,'civicrm_contact',60,4),(84,'civicrm_contact',60,5),(103,'civicrm_contact',61,5),(68,'civicrm_contact',62,5),(41,'civicrm_contact',65,4),(35,'civicrm_contact',66,4),(36,'civicrm_contact',66,5),(24,'civicrm_contact',67,4),(6,'civicrm_contact',69,1),(105,'civicrm_contact',73,5),(64,'civicrm_contact',74,4),(65,'civicrm_contact',82,4),(104,'civicrm_contact',86,4),(14,'civicrm_contact',91,5),(108,'civicrm_contact',92,4),(30,'civicrm_contact',94,5),(39,'civicrm_contact',98,4),(76,'civicrm_contact',99,4),(77,'civicrm_contact',99,5),(7,'civicrm_contact',101,2),(13,'civicrm_contact',103,5),(60,'civicrm_contact',105,4),(61,'civicrm_contact',105,5),(2,'civicrm_contact',106,3),(80,'civicrm_contact',107,5),(94,'civicrm_contact',110,4),(33,'civicrm_contact',112,5),(16,'civicrm_contact',113,4),(23,'civicrm_contact',115,4),(56,'civicrm_contact',118,4),(44,'civicrm_contact',119,5),(25,'civicrm_contact',124,5),(51,'civicrm_contact',126,4),(52,'civicrm_contact',126,5),(97,'civicrm_contact',127,5),(19,'civicrm_contact',129,4),(20,'civicrm_contact',129,5),(11,'civicrm_contact',137,4),(34,'civicrm_contact',139,5),(74,'civicrm_contact',141,4),(75,'civicrm_contact',141,5),(110,'civicrm_contact',143,5),(55,'civicrm_contact',146,4),(31,'civicrm_contact',149,5),(90,'civicrm_contact',151,5),(49,'civicrm_contact',153,4),(50,'civicrm_contact',153,5),(62,'civicrm_contact',154,4),(53,'civicrm_contact',155,5),(26,'civicrm_contact',157,5),(81,'civicrm_contact',159,4),(82,'civicrm_contact',159,5),(59,'civicrm_contact',160,5),(45,'civicrm_contact',163,4),(29,'civicrm_contact',164,5),(15,'civicrm_contact',172,4),(107,'civicrm_contact',173,4),(8,'civicrm_contact',176,3),(21,'civicrm_contact',177,4),(22,'civicrm_contact',177,5),(106,'civicrm_contact',181,5),(4,'civicrm_contact',182,1),(42,'civicrm_contact',185,4),(99,'civicrm_contact',186,4),(100,'civicrm_contact',186,5),(109,'civicrm_contact',187,5),(40,'civicrm_contact',188,4),(101,'civicrm_contact',192,4),(102,'civicrm_contact',192,5),(54,'civicrm_contact',196,5),(69,'civicrm_contact',197,5),(18,'civicrm_contact',199,5);
+INSERT INTO `civicrm_entity_tag` (`id`, `entity_table`, `entity_id`, `tag_id`) VALUES (46,'civicrm_contact',7,4),(73,'civicrm_contact',11,4),(79,'civicrm_contact',14,4),(17,'civicrm_contact',15,4),(18,'civicrm_contact',15,5),(40,'civicrm_contact',16,5),(52,'civicrm_contact',21,4),(53,'civicrm_contact',21,5),(24,'civicrm_contact',22,5),(3,'civicrm_contact',23,1),(44,'civicrm_contact',24,4),(45,'civicrm_contact',24,5),(27,'civicrm_contact',26,5),(47,'civicrm_contact',28,5),(7,'civicrm_contact',31,2),(30,'civicrm_contact',34,5),(16,'civicrm_contact',37,4),(9,'civicrm_contact',39,1),(38,'civicrm_contact',41,4),(28,'civicrm_contact',44,5),(29,'civicrm_contact',47,5),(11,'civicrm_contact',50,4),(5,'civicrm_contact',55,2),(14,'civicrm_contact',56,5),(90,'civicrm_contact',58,5),(93,'civicrm_contact',59,4),(58,'civicrm_contact',62,5),(6,'civicrm_contact',63,3),(94,'civicrm_contact',64,5),(31,'civicrm_contact',66,4),(32,'civicrm_contact',66,5),(74,'civicrm_contact',67,4),(12,'civicrm_contact',71,5),(111,'civicrm_contact',72,4),(112,'civicrm_contact',72,5),(84,'civicrm_contact',77,5),(59,'civicrm_contact',78,4),(60,'civicrm_contact',78,5),(4,'civicrm_contact',82,2),(64,'civicrm_contact',84,4),(65,'civicrm_contact',84,5),(61,'civicrm_contact',86,5),(75,'civicrm_contact',88,4),(15,'civicrm_contact',91,5),(50,'civicrm_contact',93,4),(51,'civicrm_contact',93,5),(99,'civicrm_contact',94,4),(8,'civicrm_contact',95,3),(97,'civicrm_contact',96,4),(98,'civicrm_contact',96,5),(22,'civicrm_contact',99,4),(23,'civicrm_contact',99,5),(42,'civicrm_contact',103,5),(91,'civicrm_contact',107,4),(25,'civicrm_contact',108,4),(26,'civicrm_contact',108,5),(72,'civicrm_contact',109,4),(13,'civicrm_contact',110,4),(109,'civicrm_contact',113,5),(19,'civicrm_contact',115,4),(33,'civicrm_contact',119,4),(77,'civicrm_contact',125,4),(2,'civicrm_contact',127,2),(41,'civicrm_contact',128,4),(55,'civicrm_contact',129,4),(56,'civicrm_contact',129,5),(70,'civicrm_contact',132,4),(71,'civicrm_contact',132,5),(104,'civicrm_contact',133,4),(85,'civicrm_contact',139,5),(36,'civicrm_contact',142,5),(110,'civicrm_contact',148,5),(43,'civicrm_contact',149,4),(86,'civicrm_contact',150,4),(87,'civicrm_contact',150,5),(83,'civicrm_contact',151,4),(54,'civicrm_contact',152,4),(100,'civicrm_contact',153,4),(101,'civicrm_contact',153,5),(108,'civicrm_contact',154,4),(48,'civicrm_contact',158,5),(34,'civicrm_contact',159,4),(35,'civicrm_contact',159,5),(62,'civicrm_contact',162,4),(63,'civicrm_contact',162,5),(80,'civicrm_contact',163,4),(37,'civicrm_contact',164,4),(68,'civicrm_contact',165,4),(69,'civicrm_contact',165,5),(78,'civicrm_contact',166,4),(103,'civicrm_contact',169,4),(107,'civicrm_contact',170,5),(92,'civicrm_contact',173,5),(88,'civicrm_contact',174,4),(89,'civicrm_contact',174,5),(66,'civicrm_contact',180,4),(67,'civicrm_contact',180,5),(10,'civicrm_contact',182,3),(106,'civicrm_contact',184,4),(57,'civicrm_contact',185,5),(39,'civicrm_contact',188,4),(81,'civicrm_contact',189,4),(82,'civicrm_contact',189,5),(102,'civicrm_contact',191,4),(1,'civicrm_contact',192,3),(113,'civicrm_contact',195,4),(114,'civicrm_contact',195,5),(105,'civicrm_contact',197,4),(20,'civicrm_contact',198,4),(21,'civicrm_contact',198,5),(49,'civicrm_contact',199,4),(76,'civicrm_contact',200,4),(95,'civicrm_contact',201,4),(96,'civicrm_contact',201,5);
 /*!40000 ALTER TABLE `civicrm_entity_tag` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -467,7 +467,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_event` WRITE;
 /*!40000 ALTER TABLE `civicrm_event` DISABLE KEYS */;
-INSERT INTO `civicrm_event` (`id`, `title`, `summary`, `description`, `event_type_id`, `participant_listing_id`, `is_public`, `start_date`, `end_date`, `is_online_registration`, `registration_link_text`, `registration_start_date`, `registration_end_date`, `max_participants`, `event_full_text`, `is_monetary`, `financial_type_id`, `payment_processor`, `is_map`, `is_active`, `fee_label`, `is_show_location`, `loc_block_id`, `default_role_id`, `intro_text`, `footer_text`, `confirm_title`, `confirm_text`, `confirm_footer_text`, `is_email_confirm`, `confirm_email_text`, `confirm_from_name`, `confirm_from_email`, `cc_confirm`, `bcc_confirm`, `default_fee_id`, `default_discount_fee_id`, `thankyou_title`, `thankyou_text`, `thankyou_footer_text`, `is_pay_later`, `pay_later_text`, `pay_later_receipt`, `is_partial_payment`, `initial_amount_label`, `initial_amount_help_text`, `min_initial_amount`, `is_multiple_registrations`, `max_additional_participants`, `allow_same_participant_emails`, `has_waitlist`, `requires_approval`, `expiration_time`, `allow_selfcancelxfer`, `selfcancelxfer_time`, `waitlist_text`, `approval_req_text`, `is_template`, `template_title`, `created_id`, `created_date`, `currency`, `campaign_id`, `is_share`, `is_confirm_enabled`, `parent_event_id`, `slot_label_id`, `dedupe_rule_group_id`, `is_billing_required`) VALUES (1,'Fall Fundraiser Dinner','Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!','This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!',3,1,1,'2020-12-04 17:00:00','2020-12-06 17:00:00',1,'Register Now',NULL,NULL,100,'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.',1,4,NULL,1,1,'Dinner Contribution',1,1,1,'Fill in the information below to join as at this wonderful dinner event.',NULL,'Confirm Your Registration Information','Review the information below carefully.',NULL,1,'Contact the Development Department if you need to make any changes to your registration.','Fundraising Dept.','development@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!','<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',1,'I will send payment by check','Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110',0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(2,'Summer Solstice Festival Day Concert','Festival Day is coming! Join us and help support your parks.','We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.',5,1,1,'2020-06-03 12:00:00','2020-06-03 17:00:00',1,'Register Now',NULL,NULL,50,'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.',1,2,NULL,NULL,1,'Festival Fee',1,2,1,'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.','','Confirm Your Registration Information','','',1,'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.','Event Dept.','events@example.org','',NULL,NULL,NULL,'Thanks for Your Joining In!','<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(3,'Rain-forest Cup Youth Soccer Tournament','Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.','This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).',3,1,1,'2021-01-04 07:00:00','2021-01-07 17:00:00',1,'Register Now',NULL,NULL,500,'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.',1,4,NULL,NULL,1,'Tournament Fees',1,3,1,'Complete the form below to register your team for this year\'s tournament.','<em>A Soccer Youth Event</em>','Review and Confirm Your Registration Information','','<em>A Soccer Youth Event</em>',1,'Contact our Tournament Director for eligibility details.','Tournament Director','tournament@example.org','',NULL,NULL,NULL,'Thanks for Your Support!','<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(4,NULL,NULL,NULL,4,1,1,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting without Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(5,NULL,NULL,NULL,4,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(6,NULL,NULL,NULL,1,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,1,4,NULL,0,1,'Conference Fee',1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,1,NULL,'Event Template Dept.','event_templates@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Paid Conference with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0);
+INSERT INTO `civicrm_event` (`id`, `title`, `summary`, `description`, `event_type_id`, `participant_listing_id`, `is_public`, `start_date`, `end_date`, `is_online_registration`, `registration_link_text`, `registration_start_date`, `registration_end_date`, `max_participants`, `event_full_text`, `is_monetary`, `financial_type_id`, `payment_processor`, `is_map`, `is_active`, `fee_label`, `is_show_location`, `loc_block_id`, `default_role_id`, `intro_text`, `footer_text`, `confirm_title`, `confirm_text`, `confirm_footer_text`, `is_email_confirm`, `confirm_email_text`, `confirm_from_name`, `confirm_from_email`, `cc_confirm`, `bcc_confirm`, `default_fee_id`, `default_discount_fee_id`, `thankyou_title`, `thankyou_text`, `thankyou_footer_text`, `is_pay_later`, `pay_later_text`, `pay_later_receipt`, `is_partial_payment`, `initial_amount_label`, `initial_amount_help_text`, `min_initial_amount`, `is_multiple_registrations`, `max_additional_participants`, `allow_same_participant_emails`, `has_waitlist`, `requires_approval`, `expiration_time`, `allow_selfcancelxfer`, `selfcancelxfer_time`, `waitlist_text`, `approval_req_text`, `is_template`, `template_title`, `created_id`, `created_date`, `currency`, `campaign_id`, `is_share`, `is_confirm_enabled`, `parent_event_id`, `slot_label_id`, `dedupe_rule_group_id`, `is_billing_required`) VALUES (1,'Fall Fundraiser Dinner','Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!','This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!',3,1,1,'2020-12-10 17:00:00','2020-12-12 17:00:00',1,'Register Now',NULL,NULL,100,'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.',1,4,NULL,1,1,'Dinner Contribution',1,1,1,'Fill in the information below to join as at this wonderful dinner event.',NULL,'Confirm Your Registration Information','Review the information below carefully.',NULL,1,'Contact the Development Department if you need to make any changes to your registration.','Fundraising Dept.','development@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!','<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',1,'I will send payment by check','Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110',0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(2,'Summer Solstice Festival Day Concert','Festival Day is coming! Join us and help support your parks.','We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.',5,1,1,'2020-06-09 12:00:00','2020-06-09 17:00:00',1,'Register Now',NULL,NULL,50,'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.',1,2,NULL,NULL,1,'Festival Fee',1,2,1,'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.','','Confirm Your Registration Information','','',1,'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.','Event Dept.','events@example.org','',NULL,NULL,NULL,'Thanks for Your Joining In!','<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(3,'Rain-forest Cup Youth Soccer Tournament','Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.','This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).',3,1,1,'2021-01-10 07:00:00','2021-01-13 17:00:00',1,'Register Now',NULL,NULL,500,'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.',1,4,NULL,NULL,1,'Tournament Fees',1,3,1,'Complete the form below to register your team for this year\'s tournament.','<em>A Soccer Youth Event</em>','Review and Confirm Your Registration Information','','<em>A Soccer Youth Event</em>',1,'Contact our Tournament Director for eligibility details.','Tournament Director','tournament@example.org','',NULL,NULL,NULL,'Thanks for Your Support!','<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(4,NULL,NULL,NULL,4,1,1,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting without Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(5,NULL,NULL,NULL,4,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),(6,NULL,NULL,NULL,1,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,1,4,NULL,0,1,'Conference Fee',1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,1,NULL,'Event Template Dept.','event_templates@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Paid Conference with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0);
 /*!40000 ALTER TABLE `civicrm_event` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -524,7 +524,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_financial_item` WRITE;
 /*!40000 ALTER TABLE `civicrm_financial_item` DISABLE KEYS */;
-INSERT INTO `civicrm_financial_item` (`id`, `created_date`, `transaction_date`, `contact_id`, `description`, `amount`, `currency`, `financial_account_id`, `status_id`, `entity_table`, `entity_id`) VALUES (1,'2020-06-04 09:38:20','2010-04-11 00:00:00',2,'Contribution Amount',125.00,'USD',1,1,'civicrm_line_item',1),(2,'2020-06-04 09:38:20','2010-03-21 00:00:00',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',2),(3,'2020-06-04 09:38:20','2010-04-29 00:00:00',6,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',3),(4,'2020-06-04 09:38:20','2010-04-11 00:00:00',8,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',4),(5,'2020-06-04 09:38:20','2010-04-15 00:00:00',16,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',5),(6,'2020-06-04 09:38:20','2010-04-11 00:00:00',19,'Contribution Amount',175.00,'USD',1,1,'civicrm_line_item',6),(7,'2020-06-04 09:38:20','2010-03-27 00:00:00',82,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',7),(8,'2020-06-04 09:38:20','2010-03-08 00:00:00',92,'Contribution Amount',10.00,'USD',1,1,'civicrm_line_item',8),(9,'2020-06-04 09:38:20','2010-04-22 00:00:00',34,'Contribution Amount',250.00,'USD',1,1,'civicrm_line_item',9),(10,'2020-06-04 09:38:20','2009-07-01 11:53:50',71,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',10),(11,'2020-06-04 09:38:20','2009-07-01 12:55:41',43,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',11),(12,'2020-06-04 09:38:20','2009-10-01 11:53:50',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',12),(13,'2020-06-04 09:38:20','2009-12-01 12:55:41',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',13),(14,'2020-06-04 09:38:20','2020-06-04 10:38:20',181,'General',100.00,'USD',2,1,'civicrm_line_item',16),(15,'2020-06-04 09:38:20','2020-06-04 10:38:20',40,'General',100.00,'USD',2,1,'civicrm_line_item',17),(16,'2020-06-04 09:38:20','2020-06-04 10:38:20',168,'General',100.00,'USD',2,1,'civicrm_line_item',18),(17,'2020-06-04 09:38:20','2020-06-04 10:38:20',160,'General',100.00,'USD',2,1,'civicrm_line_item',19),(18,'2020-06-04 09:38:20','2020-06-04 10:38:20',59,'General',100.00,'USD',2,1,'civicrm_line_item',20),(19,'2020-06-04 09:38:20','2020-06-04 10:38:20',61,'General',100.00,'USD',2,1,'civicrm_line_item',21),(20,'2020-06-04 09:38:20','2020-06-04 10:38:20',125,'General',100.00,'USD',2,1,'civicrm_line_item',22),(21,'2020-06-04 09:38:20','2020-06-04 10:38:20',71,'General',100.00,'USD',2,1,'civicrm_line_item',23),(22,'2020-06-04 09:38:20','2020-06-04 10:38:20',3,'General',100.00,'USD',2,1,'civicrm_line_item',24),(23,'2020-06-04 09:38:20','2020-06-04 10:38:20',5,'General',100.00,'USD',2,1,'civicrm_line_item',25),(24,'2020-06-04 09:38:20','2020-06-04 10:38:20',135,'General',100.00,'USD',2,1,'civicrm_line_item',26),(25,'2020-06-04 09:38:20','2020-06-04 10:38:20',94,'General',100.00,'USD',2,1,'civicrm_line_item',27),(26,'2020-06-04 09:38:20','2020-06-04 10:38:20',64,'General',100.00,'USD',2,1,'civicrm_line_item',28),(27,'2020-06-04 09:38:20','2020-06-04 10:38:20',174,'General',100.00,'USD',2,1,'civicrm_line_item',29),(28,'2020-06-04 09:38:20','2020-06-04 10:38:20',188,'Student',50.00,'USD',2,1,'civicrm_line_item',30),(29,'2020-06-04 09:38:20','2020-06-04 10:38:20',126,'Student',50.00,'USD',2,1,'civicrm_line_item',31),(30,'2020-06-04 09:38:20','2020-06-04 10:38:20',81,'Student',50.00,'USD',2,1,'civicrm_line_item',32),(31,'2020-06-04 09:38:20','2020-06-04 10:38:20',21,'Student',50.00,'USD',2,1,'civicrm_line_item',33),(32,'2020-06-04 09:38:20','2020-06-04 10:38:20',12,'Student',50.00,'USD',2,1,'civicrm_line_item',34),(33,'2020-06-04 09:38:20','2020-06-04 10:38:20',151,'Student',50.00,'USD',2,1,'civicrm_line_item',35),(34,'2020-06-04 09:38:20','2020-06-04 10:38:20',90,'Student',50.00,'USD',2,1,'civicrm_line_item',36),(35,'2020-06-04 09:38:20','2020-06-04 10:38:20',184,'Student',50.00,'USD',2,1,'civicrm_line_item',37),(36,'2020-06-04 09:38:20','2020-06-04 10:38:20',175,'Student',50.00,'USD',2,1,'civicrm_line_item',38),(37,'2020-06-04 09:38:20','2020-06-04 10:38:20',157,'Student',50.00,'USD',2,1,'civicrm_line_item',39),(38,'2020-06-04 09:38:20','2020-06-04 10:38:20',195,'Student',50.00,'USD',2,1,'civicrm_line_item',40),(39,'2020-06-04 09:38:20','2020-06-04 10:38:20',129,'Student',50.00,'USD',2,1,'civicrm_line_item',41),(40,'2020-06-04 09:38:20','2020-06-04 10:38:20',118,'Student',50.00,'USD',2,1,'civicrm_line_item',42),(41,'2020-06-04 09:38:20','2020-06-04 10:38:20',68,'Student',50.00,'USD',2,1,'civicrm_line_item',43),(42,'2020-06-04 09:38:20','2020-06-04 10:38:20',111,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',44),(43,'2020-06-04 09:38:20','2020-06-04 10:38:20',77,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',45),(44,'2020-06-04 09:38:20','2020-06-04 10:38:20',49,'Soprano',50.00,'USD',2,1,'civicrm_line_item',81),(45,'2020-06-04 09:38:20','2020-06-04 10:38:20',183,'Soprano',50.00,'USD',2,1,'civicrm_line_item',82),(46,'2020-06-04 09:38:20','2020-06-04 10:38:20',84,'Soprano',50.00,'USD',2,1,'civicrm_line_item',83),(47,'2020-06-04 09:38:20','2020-06-04 10:38:20',169,'Soprano',50.00,'USD',2,1,'civicrm_line_item',84),(48,'2020-06-04 09:38:20','2020-06-04 10:38:20',154,'Soprano',50.00,'USD',2,1,'civicrm_line_item',85),(49,'2020-06-04 09:38:20','2020-06-04 10:38:20',15,'Soprano',50.00,'USD',2,1,'civicrm_line_item',86),(50,'2020-06-04 09:38:20','2020-06-04 10:38:20',108,'Soprano',50.00,'USD',2,1,'civicrm_line_item',87),(51,'2020-06-04 09:38:20','2020-06-04 10:38:20',34,'Soprano',50.00,'USD',2,1,'civicrm_line_item',88),(52,'2020-06-04 09:38:20','2020-06-04 10:38:20',110,'Soprano',50.00,'USD',2,1,'civicrm_line_item',89),(53,'2020-06-04 09:38:20','2020-06-04 10:38:20',66,'Soprano',50.00,'USD',2,1,'civicrm_line_item',90),(54,'2020-06-04 09:38:20','2020-06-04 10:38:20',18,'Soprano',50.00,'USD',2,1,'civicrm_line_item',91),(55,'2020-06-04 09:38:20','2020-06-04 10:38:20',164,'Soprano',50.00,'USD',2,1,'civicrm_line_item',92),(56,'2020-06-04 09:38:20','2020-06-04 10:38:20',70,'Soprano',50.00,'USD',2,1,'civicrm_line_item',93),(57,'2020-06-04 09:38:20','2020-06-04 10:38:20',104,'Soprano',50.00,'USD',2,1,'civicrm_line_item',94),(58,'2020-06-04 09:38:20','2020-06-04 10:38:20',59,'Soprano',50.00,'USD',2,1,'civicrm_line_item',95),(59,'2020-06-04 09:38:20','2020-06-04 10:38:20',39,'Soprano',50.00,'USD',2,1,'civicrm_line_item',96),(60,'2020-06-04 09:38:20','2020-06-04 10:38:20',55,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',47),(61,'2020-06-04 09:38:20','2020-06-04 10:38:20',41,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',48),(62,'2020-06-04 09:38:20','2020-06-04 10:38:20',43,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',49),(63,'2020-06-04 09:38:20','2020-06-04 10:38:20',188,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',50),(64,'2020-06-04 09:38:20','2020-06-04 10:38:20',97,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',51),(65,'2020-06-04 09:38:20','2020-06-04 10:38:20',119,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',52),(66,'2020-06-04 09:38:20','2020-06-04 10:38:20',79,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',53),(67,'2020-06-04 09:38:20','2020-06-04 10:38:20',139,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',54),(68,'2020-06-04 09:38:20','2020-06-04 10:38:20',27,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',55),(69,'2020-06-04 09:38:20','2020-06-04 10:38:20',132,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',56),(70,'2020-06-04 09:38:20','2020-06-04 10:38:20',125,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',57),(71,'2020-06-04 09:38:20','2020-06-04 10:38:20',32,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',58),(72,'2020-06-04 09:38:20','2020-06-04 10:38:20',101,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',59),(73,'2020-06-04 09:38:20','2020-06-04 10:38:20',141,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',60),(74,'2020-06-04 09:38:20','2020-06-04 10:38:20',177,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',61),(75,'2020-06-04 09:38:20','2020-06-04 10:38:20',121,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',62),(76,'2020-06-04 09:38:20','2020-06-04 10:38:20',150,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',63),(77,'2020-06-04 09:38:20','2020-06-04 10:38:20',7,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',64),(78,'2020-06-04 09:38:20','2020-06-04 10:38:20',189,'Single',50.00,'USD',4,1,'civicrm_line_item',65),(79,'2020-06-04 09:38:20','2020-06-04 10:38:20',124,'Single',50.00,'USD',4,1,'civicrm_line_item',66),(80,'2020-06-04 09:38:20','2020-06-04 10:38:20',20,'Single',50.00,'USD',4,1,'civicrm_line_item',67),(81,'2020-06-04 09:38:20','2020-06-04 10:38:20',60,'Single',50.00,'USD',4,1,'civicrm_line_item',68),(82,'2020-06-04 09:38:20','2020-06-04 10:38:20',96,'Single',50.00,'USD',4,1,'civicrm_line_item',69),(83,'2020-06-04 09:38:20','2020-06-04 10:38:20',145,'Single',50.00,'USD',4,1,'civicrm_line_item',70),(84,'2020-06-04 09:38:20','2020-06-04 10:38:20',129,'Single',50.00,'USD',4,1,'civicrm_line_item',71),(85,'2020-06-04 09:38:20','2020-06-04 10:38:20',137,'Single',50.00,'USD',4,1,'civicrm_line_item',72),(86,'2020-06-04 09:38:20','2020-06-04 10:38:20',133,'Single',50.00,'USD',4,1,'civicrm_line_item',73),(87,'2020-06-04 09:38:20','2020-06-04 10:38:20',198,'Single',50.00,'USD',4,1,'civicrm_line_item',74),(88,'2020-06-04 09:38:20','2020-06-04 10:38:20',63,'Single',50.00,'USD',4,1,'civicrm_line_item',75),(89,'2020-06-04 09:38:20','2020-06-04 10:38:20',82,'Single',50.00,'USD',4,1,'civicrm_line_item',76),(90,'2020-06-04 09:38:20','2020-06-04 10:38:20',76,'Single',50.00,'USD',4,1,'civicrm_line_item',77),(91,'2020-06-04 09:38:20','2020-06-04 10:38:20',98,'Single',50.00,'USD',4,1,'civicrm_line_item',78),(92,'2020-06-04 09:38:20','2020-06-04 10:38:20',52,'Single',50.00,'USD',4,1,'civicrm_line_item',79),(93,'2020-06-04 09:38:20','2020-06-04 10:38:20',88,'Single',50.00,'USD',4,1,'civicrm_line_item',80);
+INSERT INTO `civicrm_financial_item` (`id`, `created_date`, `transaction_date`, `contact_id`, `description`, `amount`, `currency`, `financial_account_id`, `status_id`, `entity_table`, `entity_id`) VALUES (1,'2020-06-10 02:45:52','2010-04-11 00:00:00',2,'Contribution Amount',125.00,'USD',1,1,'civicrm_line_item',1),(2,'2020-06-10 02:45:52','2010-03-21 00:00:00',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',2),(3,'2020-06-10 02:45:52','2010-04-29 00:00:00',6,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',3),(4,'2020-06-10 02:45:52','2010-04-11 00:00:00',8,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',4),(5,'2020-06-10 02:45:52','2010-04-15 00:00:00',16,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',5),(6,'2020-06-10 02:45:52','2010-04-11 00:00:00',19,'Contribution Amount',175.00,'USD',1,1,'civicrm_line_item',6),(7,'2020-06-10 02:45:52','2010-03-27 00:00:00',82,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',7),(8,'2020-06-10 02:45:52','2010-03-08 00:00:00',92,'Contribution Amount',10.00,'USD',1,1,'civicrm_line_item',8),(9,'2020-06-10 02:45:52','2010-04-22 00:00:00',34,'Contribution Amount',250.00,'USD',1,1,'civicrm_line_item',9),(10,'2020-06-10 02:45:52','2009-07-01 11:53:50',71,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',10),(11,'2020-06-10 02:45:52','2009-07-01 12:55:41',43,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',11),(12,'2020-06-10 02:45:52','2009-10-01 11:53:50',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',12),(13,'2020-06-10 02:45:52','2009-12-01 12:55:41',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',13),(14,'2020-06-10 02:45:53','2020-06-10 14:45:52',158,'General',100.00,'USD',2,1,'civicrm_line_item',16),(15,'2020-06-10 02:45:53','2020-06-10 14:45:52',9,'General',100.00,'USD',2,1,'civicrm_line_item',17),(16,'2020-06-10 02:45:53','2020-06-10 14:45:52',154,'General',100.00,'USD',2,1,'civicrm_line_item',18),(17,'2020-06-10 02:45:53','2020-06-10 14:45:52',59,'General',100.00,'USD',2,1,'civicrm_line_item',19),(18,'2020-06-10 02:45:53','2020-06-10 14:45:52',52,'General',100.00,'USD',2,1,'civicrm_line_item',20),(19,'2020-06-10 02:45:53','2020-06-10 14:45:52',185,'General',100.00,'USD',2,1,'civicrm_line_item',21),(20,'2020-06-10 02:45:53','2020-06-10 14:45:52',73,'General',100.00,'USD',2,1,'civicrm_line_item',22),(21,'2020-06-10 02:45:53','2020-06-10 14:45:52',12,'General',100.00,'USD',2,1,'civicrm_line_item',23),(22,'2020-06-10 02:45:53','2020-06-10 14:45:52',41,'General',100.00,'USD',2,1,'civicrm_line_item',24),(23,'2020-06-10 02:45:53','2020-06-10 14:45:52',18,'General',100.00,'USD',2,1,'civicrm_line_item',25),(24,'2020-06-10 02:45:53','2020-06-10 14:45:52',126,'General',100.00,'USD',2,1,'civicrm_line_item',26),(25,'2020-06-10 02:45:53','2020-06-10 14:45:52',4,'General',100.00,'USD',2,1,'civicrm_line_item',27),(26,'2020-06-10 02:45:53','2020-06-10 14:45:52',92,'General',100.00,'USD',2,1,'civicrm_line_item',28),(27,'2020-06-10 02:45:53','2020-06-10 14:45:52',62,'General',100.00,'USD',2,1,'civicrm_line_item',29),(28,'2020-06-10 02:45:53','2020-06-10 14:45:52',117,'General',100.00,'USD',2,1,'civicrm_line_item',30),(29,'2020-06-10 02:45:53','2020-06-10 14:45:52',164,'Student',50.00,'USD',2,1,'civicrm_line_item',31),(30,'2020-06-10 02:45:53','2020-06-10 14:45:52',174,'Student',50.00,'USD',2,1,'civicrm_line_item',32),(31,'2020-06-10 02:45:53','2020-06-10 14:45:52',173,'Student',50.00,'USD',2,1,'civicrm_line_item',33),(32,'2020-06-10 02:45:53','2020-06-10 14:45:52',109,'Student',50.00,'USD',2,1,'civicrm_line_item',34),(33,'2020-06-10 02:45:53','2020-06-10 14:45:52',10,'Student',50.00,'USD',2,1,'civicrm_line_item',35),(34,'2020-06-10 02:45:53','2020-06-10 14:45:52',190,'Student',50.00,'USD',2,1,'civicrm_line_item',36),(35,'2020-06-10 02:45:53','2020-06-10 14:45:52',110,'Student',50.00,'USD',2,1,'civicrm_line_item',37),(36,'2020-06-10 02:45:53','2020-06-10 14:45:52',81,'Student',50.00,'USD',2,1,'civicrm_line_item',38),(37,'2020-06-10 02:45:53','2020-06-10 14:45:52',112,'Student',50.00,'USD',2,1,'civicrm_line_item',39),(38,'2020-06-10 02:45:53','2020-06-10 14:45:52',15,'Student',50.00,'USD',2,1,'civicrm_line_item',40),(39,'2020-06-10 02:45:53','2020-06-10 14:45:52',134,'Student',50.00,'USD',2,1,'civicrm_line_item',41),(40,'2020-06-10 02:45:53','2020-06-10 14:45:52',32,'Student',50.00,'USD',2,1,'civicrm_line_item',42),(41,'2020-06-10 02:45:53','2020-06-10 14:45:52',107,'Student',50.00,'USD',2,1,'civicrm_line_item',43),(42,'2020-06-10 02:45:53','2020-06-10 14:45:52',147,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',44),(43,'2020-06-10 02:45:53','2020-06-10 14:45:52',98,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',45),(44,'2020-06-10 02:45:53','2020-06-10 14:45:52',57,'Soprano',50.00,'USD',2,1,'civicrm_line_item',81),(45,'2020-06-10 02:45:53','2020-06-10 14:45:52',113,'Soprano',50.00,'USD',2,1,'civicrm_line_item',82),(46,'2020-06-10 02:45:53','2020-06-10 14:45:52',171,'Soprano',50.00,'USD',2,1,'civicrm_line_item',83),(47,'2020-06-10 02:45:53','2020-06-10 14:45:52',1,'Soprano',50.00,'USD',2,1,'civicrm_line_item',84),(48,'2020-06-10 02:45:53','2020-06-10 14:45:52',198,'Soprano',50.00,'USD',2,1,'civicrm_line_item',85),(49,'2020-06-10 02:45:53','2020-06-10 14:45:52',159,'Soprano',50.00,'USD',2,1,'civicrm_line_item',86),(50,'2020-06-10 02:45:53','2020-06-10 14:45:52',180,'Soprano',50.00,'USD',2,1,'civicrm_line_item',87),(51,'2020-06-10 02:45:53','2020-06-10 14:45:52',51,'Soprano',50.00,'USD',2,1,'civicrm_line_item',88),(52,'2020-06-10 02:45:53','2020-06-10 14:45:52',52,'Soprano',50.00,'USD',2,1,'civicrm_line_item',89),(53,'2020-06-10 02:45:53','2020-06-10 14:45:52',27,'Soprano',50.00,'USD',2,1,'civicrm_line_item',90),(54,'2020-06-10 02:45:53','2020-06-10 14:45:52',83,'Soprano',50.00,'USD',2,1,'civicrm_line_item',91),(55,'2020-06-10 02:45:53','2020-06-10 14:45:52',75,'Soprano',50.00,'USD',2,1,'civicrm_line_item',92),(56,'2020-06-10 02:45:53','2020-06-10 14:45:52',121,'Soprano',50.00,'USD',2,1,'civicrm_line_item',93),(57,'2020-06-10 02:45:53','2020-06-10 14:45:52',68,'Soprano',50.00,'USD',2,1,'civicrm_line_item',94),(58,'2020-06-10 02:45:53','2020-06-10 14:45:52',11,'Soprano',50.00,'USD',2,1,'civicrm_line_item',95),(59,'2020-06-10 02:45:53','2020-06-10 14:45:52',164,'Soprano',50.00,'USD',2,1,'civicrm_line_item',96),(60,'2020-06-10 02:45:53','2020-06-10 14:45:52',59,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',47),(61,'2020-06-10 02:45:53','2020-06-10 14:45:52',177,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',48),(62,'2020-06-10 02:45:53','2020-06-10 14:45:52',152,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',49),(63,'2020-06-10 02:45:53','2020-06-10 14:45:52',23,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',50),(64,'2020-06-10 02:45:53','2020-06-10 14:45:52',20,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',51),(65,'2020-06-10 02:45:53','2020-06-10 14:45:52',110,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',52),(66,'2020-06-10 02:45:53','2020-06-10 14:45:52',161,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',53),(67,'2020-06-10 02:45:53','2020-06-10 14:45:52',146,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',54),(68,'2020-06-10 02:45:53','2020-06-10 14:45:52',74,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',55),(69,'2020-06-10 02:45:53','2020-06-10 14:45:52',4,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',56),(70,'2020-06-10 02:45:53','2020-06-10 14:45:52',118,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',57),(71,'2020-06-10 02:45:53','2020-06-10 14:45:52',151,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',58),(72,'2020-06-10 02:45:53','2020-06-10 14:45:52',61,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',59),(73,'2020-06-10 02:45:53','2020-06-10 14:45:52',18,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',60),(74,'2020-06-10 02:45:53','2020-06-10 14:45:52',7,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',61),(75,'2020-06-10 02:45:53','2020-06-10 14:45:52',199,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',62),(76,'2020-06-10 02:45:53','2020-06-10 14:45:52',142,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',63),(77,'2020-06-10 02:45:53','2020-06-10 14:45:52',33,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',64),(78,'2020-06-10 02:45:53','2020-06-10 14:45:52',134,'Single',50.00,'USD',4,1,'civicrm_line_item',65),(79,'2020-06-10 02:45:53','2020-06-10 14:45:52',76,'Single',50.00,'USD',4,1,'civicrm_line_item',66),(80,'2020-06-10 02:45:53','2020-06-10 14:45:52',70,'Single',50.00,'USD',4,1,'civicrm_line_item',67),(81,'2020-06-10 02:45:53','2020-06-10 14:45:52',124,'Single',50.00,'USD',4,1,'civicrm_line_item',68),(82,'2020-06-10 02:45:53','2020-06-10 14:45:52',139,'Single',50.00,'USD',4,1,'civicrm_line_item',69),(83,'2020-06-10 02:45:53','2020-06-10 14:45:52',119,'Single',50.00,'USD',4,1,'civicrm_line_item',70),(84,'2020-06-10 02:45:53','2020-06-10 14:45:52',154,'Single',50.00,'USD',4,1,'civicrm_line_item',71),(85,'2020-06-10 02:45:53','2020-06-10 14:45:52',183,'Single',50.00,'USD',4,1,'civicrm_line_item',72),(86,'2020-06-10 02:45:53','2020-06-10 14:45:52',30,'Single',50.00,'USD',4,1,'civicrm_line_item',73),(87,'2020-06-10 02:45:53','2020-06-10 14:45:52',173,'Single',50.00,'USD',4,1,'civicrm_line_item',74),(88,'2020-06-10 02:45:53','2020-06-10 14:45:52',3,'Single',50.00,'USD',4,1,'civicrm_line_item',75),(89,'2020-06-10 02:45:53','2020-06-10 14:45:52',188,'Single',50.00,'USD',4,1,'civicrm_line_item',76),(90,'2020-06-10 02:45:53','2020-06-10 14:45:52',197,'Single',50.00,'USD',4,1,'civicrm_line_item',77),(91,'2020-06-10 02:45:53','2020-06-10 14:45:52',162,'Single',50.00,'USD',4,1,'civicrm_line_item',78),(92,'2020-06-10 02:45:53','2020-06-10 14:45:52',12,'Single',50.00,'USD',4,1,'civicrm_line_item',79),(93,'2020-06-10 02:45:53','2020-06-10 14:45:52',141,'Single',50.00,'USD',4,1,'civicrm_line_item',80);
 /*!40000 ALTER TABLE `civicrm_financial_item` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -534,7 +534,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_financial_trxn` WRITE;
 /*!40000 ALTER TABLE `civicrm_financial_trxn` DISABLE KEYS */;
-INSERT INTO `civicrm_financial_trxn` (`id`, `from_financial_account_id`, `to_financial_account_id`, `trxn_date`, `total_amount`, `fee_amount`, `net_amount`, `currency`, `is_payment`, `trxn_id`, `trxn_result_code`, `status_id`, `payment_processor_id`, `payment_instrument_id`, `card_type_id`, `check_number`, `pan_truncation`, `order_reference`) VALUES (1,NULL,1,'2010-04-11 00:00:00',125.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'1041',NULL,NULL),(2,NULL,1,'2010-03-21 00:00:00',50.00,NULL,NULL,'USD',1,'P20901X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(3,NULL,1,'2010-04-29 00:00:00',25.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'2095',NULL,NULL),(4,NULL,1,'2010-04-11 00:00:00',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'10552',NULL,NULL),(5,NULL,1,'2010-04-15 00:00:00',500.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'509',NULL,NULL),(6,NULL,1,'2010-04-11 00:00:00',175.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'102',NULL,NULL),(7,NULL,1,'2010-03-27 00:00:00',50.00,NULL,NULL,'USD',1,'P20193L2',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(8,NULL,1,'2010-03-08 00:00:00',10.00,NULL,NULL,'USD',1,'P40232Y3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(9,NULL,1,'2010-04-22 00:00:00',250.00,NULL,NULL,'USD',1,'P20193L6',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(10,NULL,1,'2009-07-01 11:53:50',500.00,NULL,NULL,'USD',1,'PL71',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(11,NULL,1,'2009-07-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL43II',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(12,NULL,1,'2009-10-01 11:53:50',200.00,NULL,NULL,'USD',1,'PL32I',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(13,NULL,1,'2009-12-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL32II',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(14,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(15,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(16,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(17,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(18,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(19,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(20,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(21,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(22,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(23,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(24,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(25,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(26,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(27,NULL,1,'2020-06-04 10:38:20',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(28,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(29,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(30,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(31,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(32,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(33,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(34,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(35,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(36,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(37,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(38,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(39,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(40,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(41,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(42,NULL,1,'2020-06-04 10:38:20',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(43,NULL,1,'2020-06-04 10:38:20',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(44,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(45,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(46,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(47,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(48,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(49,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(50,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(51,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(52,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(53,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(54,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(55,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(56,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(57,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(58,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(59,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(60,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(61,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(62,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(63,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(64,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(65,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(66,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(67,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(68,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(69,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(70,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(71,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(72,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(73,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(74,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(75,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(76,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(77,NULL,1,'2020-06-04 10:38:20',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(78,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(79,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(80,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(81,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(82,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(83,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(84,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(85,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(86,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(87,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(88,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(89,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(90,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(91,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(92,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(93,NULL,1,'2020-06-04 10:38:20',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL);
+INSERT INTO `civicrm_financial_trxn` (`id`, `from_financial_account_id`, `to_financial_account_id`, `trxn_date`, `total_amount`, `fee_amount`, `net_amount`, `currency`, `is_payment`, `trxn_id`, `trxn_result_code`, `status_id`, `payment_processor_id`, `payment_instrument_id`, `card_type_id`, `check_number`, `pan_truncation`, `order_reference`) VALUES (1,NULL,1,'2010-04-11 00:00:00',125.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'1041',NULL,NULL),(2,NULL,1,'2010-03-21 00:00:00',50.00,NULL,NULL,'USD',1,'P20901X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(3,NULL,1,'2010-04-29 00:00:00',25.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'2095',NULL,NULL),(4,NULL,1,'2010-04-11 00:00:00',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'10552',NULL,NULL),(5,NULL,1,'2010-04-15 00:00:00',500.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'509',NULL,NULL),(6,NULL,1,'2010-04-11 00:00:00',175.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'102',NULL,NULL),(7,NULL,1,'2010-03-27 00:00:00',50.00,NULL,NULL,'USD',1,'P20193L2',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(8,NULL,1,'2010-03-08 00:00:00',10.00,NULL,NULL,'USD',1,'P40232Y3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(9,NULL,1,'2010-04-22 00:00:00',250.00,NULL,NULL,'USD',1,'P20193L6',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(10,NULL,1,'2009-07-01 11:53:50',500.00,NULL,NULL,'USD',1,'PL71',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(11,NULL,1,'2009-07-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL43II',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(12,NULL,1,'2009-10-01 11:53:50',200.00,NULL,NULL,'USD',1,'PL32I',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(13,NULL,1,'2009-12-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL32II',NULL,1,NULL,1,NULL,NULL,NULL,NULL),(14,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(15,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(16,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(17,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(18,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(19,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(20,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(21,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(22,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(23,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(24,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(25,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(26,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(27,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(28,NULL,1,'2020-06-10 14:45:52',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(29,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(30,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(31,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(32,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(33,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(34,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(35,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(36,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(37,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(38,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(39,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(40,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(41,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(42,NULL,1,'2020-06-10 14:45:52',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(43,NULL,1,'2020-06-10 14:45:52',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(44,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(45,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(46,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(47,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(48,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(49,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(50,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(51,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(52,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(53,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(54,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(55,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(56,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(57,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(58,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(59,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(60,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(61,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(62,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(63,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(64,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(65,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(66,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(67,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(68,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(69,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(70,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(71,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(72,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(73,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(74,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(75,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(76,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(77,NULL,1,'2020-06-10 14:45:52',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(78,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(79,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(80,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(81,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(82,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(83,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(84,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(85,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(86,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(87,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(88,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(89,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(90,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(91,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(92,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL),(93,NULL,1,'2020-06-10 14:45:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_financial_trxn` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -573,7 +573,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_group_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_group_contact` DISABLE KEYS */;
-INSERT INTO `civicrm_group_contact` (`id`, `group_id`, `contact_id`, `status`, `location_id`, `email_id`) VALUES (1,2,137,'Added',NULL,NULL),(2,2,93,'Added',NULL,NULL),(3,2,4,'Added',NULL,NULL),(4,2,54,'Added',NULL,NULL),(5,2,103,'Added',NULL,NULL),(6,2,195,'Added',NULL,NULL),(7,2,91,'Added',NULL,NULL),(8,2,171,'Added',NULL,NULL),(9,2,172,'Added',NULL,NULL),(10,2,147,'Added',NULL,NULL),(11,2,113,'Added',NULL,NULL),(12,2,63,'Added',NULL,NULL),(13,2,59,'Added',NULL,NULL),(14,2,117,'Added',NULL,NULL),(15,2,199,'Added',NULL,NULL),(16,2,125,'Added',NULL,NULL),(17,2,129,'Added',NULL,NULL),(18,2,135,'Added',NULL,NULL),(19,2,177,'Added',NULL,NULL),(20,2,198,'Added',NULL,NULL),(21,2,115,'Added',NULL,NULL),(22,2,80,'Added',NULL,NULL),(23,2,67,'Added',NULL,NULL),(24,2,179,'Added',NULL,NULL),(25,2,124,'Added',NULL,NULL),(26,2,7,'Added',NULL,NULL),(27,2,157,'Added',NULL,NULL),(28,2,72,'Added',NULL,NULL),(29,2,6,'Added',NULL,NULL),(30,2,168,'Added',NULL,NULL),(31,2,164,'Added',NULL,NULL),(32,2,48,'Added',NULL,NULL),(33,2,94,'Added',NULL,NULL),(34,2,131,'Added',NULL,NULL),(35,2,149,'Added',NULL,NULL),(36,2,68,'Added',NULL,NULL),(37,2,37,'Added',NULL,NULL),(38,2,57,'Added',NULL,NULL),(39,2,112,'Added',NULL,NULL),(40,2,132,'Added',NULL,NULL),(41,2,139,'Added',NULL,NULL),(42,2,53,'Added',NULL,NULL),(43,2,66,'Added',NULL,NULL),(44,2,58,'Added',NULL,NULL),(45,2,18,'Added',NULL,NULL),(46,2,161,'Added',NULL,NULL),(47,2,98,'Added',NULL,NULL),(48,2,140,'Added',NULL,NULL),(49,2,188,'Added',NULL,NULL),(50,2,47,'Added',NULL,NULL),(51,2,65,'Added',NULL,NULL),(52,2,44,'Added',NULL,NULL),(53,2,185,'Added',NULL,NULL),(54,2,43,'Added',NULL,NULL),(55,2,28,'Added',NULL,NULL),(56,2,70,'Added',NULL,NULL),(57,2,119,'Added',NULL,NULL),(58,2,123,'Added',NULL,NULL),(59,2,163,'Added',NULL,NULL),(60,2,8,'Added',NULL,NULL),(61,3,38,'Added',NULL,NULL),(62,3,84,'Added',NULL,NULL),(63,3,51,'Added',NULL,NULL),(64,3,76,'Added',NULL,NULL),(65,3,153,'Added',NULL,NULL),(66,3,15,'Added',NULL,NULL),(67,3,126,'Added',NULL,NULL),(68,3,32,'Added',NULL,NULL),(69,3,155,'Added',NULL,NULL),(70,3,55,'Added',NULL,NULL),(71,3,196,'Added',NULL,NULL),(72,3,191,'Added',NULL,NULL),(73,3,146,'Added',NULL,NULL),(74,3,5,'Added',NULL,NULL),(75,3,118,'Added',NULL,NULL),(76,4,137,'Added',NULL,NULL),(77,4,171,'Added',NULL,NULL),(78,4,199,'Added',NULL,NULL),(79,4,80,'Added',NULL,NULL),(80,4,6,'Added',NULL,NULL),(81,4,68,'Added',NULL,NULL),(82,4,66,'Added',NULL,NULL),(83,4,47,'Added',NULL,NULL);
+INSERT INTO `civicrm_group_contact` (`id`, `group_id`, `contact_id`, `status`, `location_id`, `email_id`) VALUES (1,2,50,'Added',NULL,NULL),(2,2,43,'Added',NULL,NULL),(3,2,71,'Added',NULL,NULL),(4,2,177,'Added',NULL,NULL),(5,2,110,'Added',NULL,NULL),(6,2,97,'Added',NULL,NULL),(7,2,56,'Added',NULL,NULL),(8,2,75,'Added',NULL,NULL),(9,2,91,'Added',NULL,NULL),(10,2,172,'Added',NULL,NULL),(11,2,37,'Added',NULL,NULL),(12,2,175,'Added',NULL,NULL),(13,2,15,'Added',NULL,NULL),(14,2,106,'Added',NULL,NULL),(15,2,115,'Added',NULL,NULL),(16,2,147,'Added',NULL,NULL),(17,2,198,'Added',NULL,NULL),(18,2,53,'Added',NULL,NULL),(19,2,99,'Added',NULL,NULL),(20,2,146,'Added',NULL,NULL),(21,2,22,'Added',NULL,NULL),(22,2,18,'Added',NULL,NULL),(23,2,108,'Added',NULL,NULL),(24,2,27,'Added',NULL,NULL),(25,2,26,'Added',NULL,NULL),(26,2,92,'Added',NULL,NULL),(27,2,44,'Added',NULL,NULL),(28,2,121,'Added',NULL,NULL),(29,2,47,'Added',NULL,NULL),(30,2,138,'Added',NULL,NULL),(31,2,34,'Added',NULL,NULL),(32,2,85,'Added',NULL,NULL),(33,2,66,'Added',NULL,NULL),(34,2,157,'Added',NULL,NULL),(35,2,119,'Added',NULL,NULL),(36,2,10,'Added',NULL,NULL),(37,2,159,'Added',NULL,NULL),(38,2,194,'Added',NULL,NULL),(39,2,142,'Added',NULL,NULL),(40,2,61,'Added',NULL,NULL),(41,2,164,'Added',NULL,NULL),(42,2,134,'Added',NULL,NULL),(43,2,41,'Added',NULL,NULL),(44,2,116,'Added',NULL,NULL),(45,2,188,'Added',NULL,NULL),(46,2,120,'Added',NULL,NULL),(47,2,16,'Added',NULL,NULL),(48,2,29,'Added',NULL,NULL),(49,2,128,'Added',NULL,NULL),(50,2,118,'Added',NULL,NULL),(51,2,103,'Added',NULL,NULL),(52,2,143,'Added',NULL,NULL),(53,2,149,'Added',NULL,NULL),(54,2,136,'Added',NULL,NULL),(55,2,24,'Added',NULL,NULL),(56,2,36,'Added',NULL,NULL),(57,2,7,'Added',NULL,NULL),(58,2,167,'Added',NULL,NULL),(59,2,28,'Added',NULL,NULL),(60,2,145,'Added',NULL,NULL),(61,3,158,'Added',NULL,NULL),(62,3,20,'Added',NULL,NULL),(63,3,199,'Added',NULL,NULL),(64,3,112,'Added',NULL,NULL),(65,3,93,'Added',NULL,NULL),(66,3,69,'Added',NULL,NULL),(67,3,21,'Added',NULL,NULL),(68,3,137,'Added',NULL,NULL),(69,3,152,'Added',NULL,NULL),(70,3,12,'Added',NULL,NULL),(71,3,129,'Added',NULL,NULL),(72,3,81,'Added',NULL,NULL),(73,3,185,'Added',NULL,NULL),(74,3,30,'Added',NULL,NULL),(75,3,62,'Added',NULL,NULL),(76,4,50,'Added',NULL,NULL),(77,4,75,'Added',NULL,NULL),(78,4,115,'Added',NULL,NULL),(79,4,18,'Added',NULL,NULL),(80,4,47,'Added',NULL,NULL),(81,4,10,'Added',NULL,NULL),(82,4,41,'Added',NULL,NULL),(83,4,118,'Added',NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_group_contact` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -638,7 +638,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_line_item` WRITE;
 /*!40000 ALTER TABLE `civicrm_line_item` DISABLE KEYS */;
-INSERT INTO `civicrm_line_item` (`id`, `entity_table`, `entity_id`, `contribution_id`, `price_field_id`, `label`, `qty`, `unit_price`, `line_total`, `participant_count`, `price_field_value_id`, `financial_type_id`, `non_deductible_amount`, `tax_amount`) VALUES (1,'civicrm_contribution',1,1,1,'Contribution Amount',1.00,125.00,125.00,0,1,1,0.00,NULL),(2,'civicrm_contribution',2,2,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(3,'civicrm_contribution',3,3,1,'Contribution Amount',1.00,25.00,25.00,0,1,1,0.00,NULL),(4,'civicrm_contribution',4,4,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(5,'civicrm_contribution',5,5,1,'Contribution Amount',1.00,500.00,500.00,0,1,1,0.00,NULL),(6,'civicrm_contribution',6,6,1,'Contribution Amount',1.00,175.00,175.00,0,1,1,0.00,NULL),(7,'civicrm_contribution',7,7,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(8,'civicrm_contribution',8,8,1,'Contribution Amount',1.00,10.00,10.00,0,1,1,0.00,NULL),(9,'civicrm_contribution',9,9,1,'Contribution Amount',1.00,250.00,250.00,0,1,1,0.00,NULL),(10,'civicrm_contribution',10,10,1,'Contribution Amount',1.00,500.00,500.00,0,1,1,0.00,NULL),(11,'civicrm_contribution',11,11,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(12,'civicrm_contribution',12,12,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(13,'civicrm_contribution',13,13,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(16,'civicrm_membership',1,14,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(17,'civicrm_membership',3,15,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(18,'civicrm_membership',7,16,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(19,'civicrm_membership',9,17,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(20,'civicrm_membership',13,18,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(21,'civicrm_membership',15,19,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(22,'civicrm_membership',17,20,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(23,'civicrm_membership',19,21,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(24,'civicrm_membership',20,22,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(25,'civicrm_membership',21,23,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(26,'civicrm_membership',23,24,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(27,'civicrm_membership',27,25,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(28,'civicrm_membership',29,26,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(29,'civicrm_membership',30,27,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(30,'civicrm_membership',2,28,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(31,'civicrm_membership',4,29,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(32,'civicrm_membership',5,30,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(33,'civicrm_membership',6,31,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(34,'civicrm_membership',8,32,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(35,'civicrm_membership',10,33,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(36,'civicrm_membership',12,34,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(37,'civicrm_membership',14,35,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(38,'civicrm_membership',16,36,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(39,'civicrm_membership',18,37,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(40,'civicrm_membership',24,38,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(41,'civicrm_membership',25,39,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(42,'civicrm_membership',26,40,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(43,'civicrm_membership',28,41,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(44,'civicrm_membership',11,42,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL),(45,'civicrm_membership',22,43,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL),(47,'civicrm_participant',3,57,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(48,'civicrm_participant',6,53,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(49,'civicrm_participant',9,54,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(50,'civicrm_participant',12,92,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(51,'civicrm_participant',15,69,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(52,'civicrm_participant',18,75,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(53,'civicrm_participant',21,64,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(54,'civicrm_participant',24,83,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(55,'civicrm_participant',25,49,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(56,'civicrm_participant',28,80,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(57,'civicrm_participant',31,78,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(58,'civicrm_participant',34,50,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(59,'civicrm_participant',37,71,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(60,'civicrm_participant',40,84,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(61,'civicrm_participant',43,90,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(62,'civicrm_participant',46,76,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(63,'civicrm_participant',49,86,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(64,'civicrm_participant',50,45,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(65,'civicrm_participant',1,93,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(66,'civicrm_participant',4,77,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(67,'civicrm_participant',7,48,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(68,'civicrm_participant',10,59,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(69,'civicrm_participant',13,68,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(70,'civicrm_participant',16,85,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(71,'civicrm_participant',19,79,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(72,'civicrm_participant',22,82,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(73,'civicrm_participant',26,81,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(74,'civicrm_participant',29,94,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(75,'civicrm_participant',32,60,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(76,'civicrm_participant',35,65,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(77,'civicrm_participant',38,63,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(78,'civicrm_participant',41,70,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(79,'civicrm_participant',44,56,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(80,'civicrm_participant',47,67,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(81,'civicrm_participant',2,55,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(82,'civicrm_participant',5,91,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(83,'civicrm_participant',8,66,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(84,'civicrm_participant',11,89,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(85,'civicrm_participant',14,87,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(86,'civicrm_participant',17,46,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(87,'civicrm_participant',20,73,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(88,'civicrm_participant',23,51,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(89,'civicrm_participant',27,74,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(90,'civicrm_participant',30,61,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(91,'civicrm_participant',33,47,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(92,'civicrm_participant',36,88,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(93,'civicrm_participant',39,62,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(94,'civicrm_participant',42,72,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(95,'civicrm_participant',45,58,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(96,'civicrm_participant',48,52,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL);
+INSERT INTO `civicrm_line_item` (`id`, `entity_table`, `entity_id`, `contribution_id`, `price_field_id`, `label`, `qty`, `unit_price`, `line_total`, `participant_count`, `price_field_value_id`, `financial_type_id`, `non_deductible_amount`, `tax_amount`) VALUES (1,'civicrm_contribution',1,1,1,'Contribution Amount',1.00,125.00,125.00,0,1,1,0.00,NULL),(2,'civicrm_contribution',2,2,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(3,'civicrm_contribution',3,3,1,'Contribution Amount',1.00,25.00,25.00,0,1,1,0.00,NULL),(4,'civicrm_contribution',4,4,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(5,'civicrm_contribution',5,5,1,'Contribution Amount',1.00,500.00,500.00,0,1,1,0.00,NULL),(6,'civicrm_contribution',6,6,1,'Contribution Amount',1.00,175.00,175.00,0,1,1,0.00,NULL),(7,'civicrm_contribution',7,7,1,'Contribution Amount',1.00,50.00,50.00,0,1,1,0.00,NULL),(8,'civicrm_contribution',8,8,1,'Contribution Amount',1.00,10.00,10.00,0,1,1,0.00,NULL),(9,'civicrm_contribution',9,9,1,'Contribution Amount',1.00,250.00,250.00,0,1,1,0.00,NULL),(10,'civicrm_contribution',10,10,1,'Contribution Amount',1.00,500.00,500.00,0,1,1,0.00,NULL),(11,'civicrm_contribution',11,11,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(12,'civicrm_contribution',12,12,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(13,'civicrm_contribution',13,13,1,'Contribution Amount',1.00,200.00,200.00,0,1,1,0.00,NULL),(16,'civicrm_membership',1,14,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(17,'civicrm_membership',3,15,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(18,'civicrm_membership',5,16,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(19,'civicrm_membership',7,17,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(20,'civicrm_membership',9,18,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(21,'civicrm_membership',10,19,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(22,'civicrm_membership',13,20,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(23,'civicrm_membership',15,21,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(24,'civicrm_membership',17,22,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(25,'civicrm_membership',19,23,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(26,'civicrm_membership',21,24,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(27,'civicrm_membership',23,25,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(28,'civicrm_membership',25,26,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(29,'civicrm_membership',27,27,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(30,'civicrm_membership',29,28,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(31,'civicrm_membership',2,29,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(32,'civicrm_membership',4,30,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(33,'civicrm_membership',6,31,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(34,'civicrm_membership',8,32,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(35,'civicrm_membership',12,33,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(36,'civicrm_membership',14,34,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(37,'civicrm_membership',16,35,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(38,'civicrm_membership',18,36,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(39,'civicrm_membership',20,37,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(40,'civicrm_membership',24,38,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(41,'civicrm_membership',26,39,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(42,'civicrm_membership',28,40,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(43,'civicrm_membership',30,41,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(44,'civicrm_membership',11,42,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL),(45,'civicrm_membership',22,43,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL),(47,'civicrm_participant',3,60,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(48,'civicrm_participant',6,88,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(49,'civicrm_participant',9,80,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(50,'civicrm_participant',12,53,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(51,'civicrm_participant',15,52,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(52,'civicrm_participant',18,68,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(53,'civicrm_participant',21,83,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(54,'civicrm_participant',24,78,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(55,'civicrm_participant',25,64,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(56,'civicrm_participant',28,47,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(57,'civicrm_participant',31,70,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(58,'civicrm_participant',34,79,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(59,'civicrm_participant',37,61,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(60,'civicrm_participant',40,51,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(61,'civicrm_participant',43,48,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(62,'civicrm_participant',46,94,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(63,'civicrm_participant',49,77,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(64,'civicrm_participant',50,56,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(65,'civicrm_participant',1,74,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(66,'civicrm_participant',4,66,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(67,'civicrm_participant',7,63,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(68,'civicrm_participant',10,73,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(69,'civicrm_participant',13,75,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(70,'civicrm_participant',16,71,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(71,'civicrm_participant',19,81,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(72,'civicrm_participant',22,90,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(73,'civicrm_participant',26,55,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(74,'civicrm_participant',29,87,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(75,'civicrm_participant',32,46,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(76,'civicrm_participant',35,91,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(77,'civicrm_participant',38,92,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(78,'civicrm_participant',41,84,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(79,'civicrm_participant',44,50,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(80,'civicrm_participant',47,76,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(81,'civicrm_participant',2,59,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(82,'civicrm_participant',5,69,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(83,'civicrm_participant',8,86,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(84,'civicrm_participant',11,45,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(85,'civicrm_participant',14,93,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(86,'civicrm_participant',17,82,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(87,'civicrm_participant',20,89,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(88,'civicrm_participant',23,57,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(89,'civicrm_participant',27,58,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(90,'civicrm_participant',30,54,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(91,'civicrm_participant',33,67,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(92,'civicrm_participant',36,65,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(93,'civicrm_participant',39,72,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(94,'civicrm_participant',42,62,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(95,'civicrm_participant',45,49,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(96,'civicrm_participant',48,85,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL);
 /*!40000 ALTER TABLE `civicrm_line_item` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -648,7 +648,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_loc_block` WRITE;
 /*!40000 ALTER TABLE `civicrm_loc_block` DISABLE KEYS */;
-INSERT INTO `civicrm_loc_block` (`id`, `address_id`, `email_id`, `phone_id`, `im_id`, `address_2_id`, `email_2_id`, `phone_2_id`, `im_2_id`) VALUES (1,177,181,157,NULL,NULL,NULL,NULL,NULL),(2,178,182,158,NULL,NULL,NULL,NULL,NULL),(3,179,183,159,NULL,NULL,NULL,NULL,NULL);
+INSERT INTO `civicrm_loc_block` (`id`, `address_id`, `email_id`, `phone_id`, `im_id`, `address_2_id`, `email_2_id`, `phone_2_id`, `im_2_id`) VALUES (1,174,190,158,NULL,NULL,NULL,NULL,NULL),(2,175,191,159,NULL,NULL,NULL,NULL,NULL),(3,176,192,160,NULL,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_loc_block` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -897,7 +897,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_membership` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership` DISABLE KEYS */;
-INSERT INTO `civicrm_membership` (`id`, `contact_id`, `membership_type_id`, `join_date`, `start_date`, `end_date`, `source`, `status_id`, `is_override`, `status_override_end_date`, `owner_membership_id`, `max_related`, `is_test`, `is_pay_later`, `contribution_recur_id`, `campaign_id`) VALUES (1,181,1,'2020-06-04','2020-06-04','2022-06-03','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(2,188,2,'2020-06-03','2020-06-03','2021-06-02','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(3,40,1,'2020-06-02','2020-06-02','2022-06-01','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(4,126,2,'2020-06-01','2020-06-01','2021-05-31','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(5,81,2,'2019-05-31','2019-05-31','2020-05-30','Payment',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(6,21,2,'2020-05-30','2020-05-30','2021-05-29','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(7,168,1,'2020-05-29','2020-05-29','2022-05-28','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(8,12,2,'2020-05-28','2020-05-28','2021-05-27','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(9,160,1,'2020-05-27','2020-05-27','2022-05-26','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(10,151,2,'2019-05-26','2019-05-26','2020-05-25','Check',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(11,111,3,'2020-05-25','2020-05-25',NULL,'Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(12,90,2,'2020-05-24','2020-05-24','2021-05-23','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(13,59,1,'2020-05-23','2020-05-23','2022-05-22','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(14,184,2,'2020-05-22','2020-05-22','2021-05-21','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(15,61,1,'2018-02-12','2018-02-12','2020-02-11','Donation',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(16,175,2,'2020-05-20','2020-05-20','2021-05-19','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(17,125,1,'2020-05-19','2020-05-19','2022-05-18','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(18,157,2,'2020-05-18','2020-05-18','2021-05-17','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(19,71,1,'2020-05-17','2020-05-17','2022-05-16','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(20,3,1,'2018-01-03','2018-01-03','2020-01-02','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(21,5,1,'2020-05-15','2020-05-15','2022-05-14','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(22,77,3,'2020-05-14','2020-05-14',NULL,'Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(23,135,1,'2020-05-13','2020-05-13','2022-05-12','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(24,195,2,'2020-05-12','2020-05-12','2021-05-11','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(25,129,2,'2019-05-11','2019-05-11','2020-05-10','Payment',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(26,118,2,'2020-05-10','2020-05-10','2021-05-09','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(27,94,1,'2020-05-09','2020-05-09','2022-05-08','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(28,68,2,'2020-05-08','2020-05-08','2021-05-07','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(29,64,1,'2020-05-07','2020-05-07','2022-05-06','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(30,174,1,'2017-10-15','2017-10-15','2019-10-14','Payment',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL);
+INSERT INTO `civicrm_membership` (`id`, `contact_id`, `membership_type_id`, `join_date`, `start_date`, `end_date`, `source`, `status_id`, `is_override`, `status_override_end_date`, `owner_membership_id`, `max_related`, `is_test`, `is_pay_later`, `contribution_recur_id`, `campaign_id`) VALUES (1,158,1,'2020-06-10','2020-06-10','2022-06-09','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(2,164,2,'2020-06-09','2020-06-09','2021-06-08','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(3,9,1,'2020-06-08','2020-06-08','2022-06-07','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(4,174,2,'2020-06-07','2020-06-07','2021-06-06','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(5,154,1,'2018-05-09','2018-05-09','2020-05-08','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(6,173,2,'2020-06-05','2020-06-05','2021-06-04','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(7,59,1,'2020-06-04','2020-06-04','2022-06-03','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(8,109,2,'2020-06-03','2020-06-03','2021-06-02','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(9,52,1,'2020-06-02','2020-06-02','2022-06-01','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(10,185,1,'2018-03-30','2018-03-30','2020-03-29','Payment',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(11,147,3,'2020-05-31','2020-05-31',NULL,'Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(12,10,2,'2020-05-30','2020-05-30','2021-05-29','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(13,73,1,'2020-05-29','2020-05-29','2022-05-28','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(14,190,2,'2020-05-28','2020-05-28','2021-05-27','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(15,12,1,'2018-02-18','2018-02-18','2020-02-17','Donation',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(16,110,2,'2020-05-26','2020-05-26','2021-05-25','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(17,41,1,'2020-05-25','2020-05-25','2022-05-24','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(18,81,2,'2020-05-24','2020-05-24','2021-05-23','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(19,18,1,'2020-05-23','2020-05-23','2022-05-22','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(20,112,2,'2019-05-22','2019-05-22','2020-05-21','Payment',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(21,126,1,'2020-05-21','2020-05-21','2022-05-20','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(22,98,3,'2020-05-20','2020-05-20',NULL,'Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(23,4,1,'2020-05-19','2020-05-19','2022-05-18','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(24,15,2,'2020-05-18','2020-05-18','2021-05-17','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(25,92,1,'2017-11-30','2017-11-30','2019-11-29','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(26,134,2,'2020-05-16','2020-05-16','2021-05-15','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(27,62,1,'2020-05-15','2020-05-15','2022-05-14','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(28,32,2,'2020-05-14','2020-05-14','2021-05-13','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(29,117,1,'2020-05-13','2020-05-13','2022-05-12','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(30,107,2,'2019-05-12','2019-05-12','2020-05-11','Payment',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_membership` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -917,7 +917,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_membership_log` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership_log` DISABLE KEYS */;
-INSERT INTO `civicrm_membership_log` (`id`, `membership_id`, `status_id`, `start_date`, `end_date`, `modified_id`, `modified_date`, `membership_type_id`, `max_related`) VALUES (1,20,3,'2018-01-03','2020-01-02',3,'2020-06-04',1,NULL),(2,21,1,'2020-05-15','2022-05-14',5,'2020-06-04',1,NULL),(3,8,1,'2020-05-28','2021-05-27',12,'2020-06-04',2,NULL),(4,6,1,'2020-05-30','2021-05-29',21,'2020-06-04',2,NULL),(5,3,1,'2020-06-02','2022-06-01',40,'2020-06-04',1,NULL),(6,13,1,'2020-05-23','2022-05-22',59,'2020-06-04',1,NULL),(7,15,3,'2018-02-12','2020-02-11',61,'2020-06-04',1,NULL),(8,29,1,'2020-05-07','2022-05-06',64,'2020-06-04',1,NULL),(9,28,1,'2020-05-08','2021-05-07',68,'2020-06-04',2,NULL),(10,19,1,'2020-05-17','2022-05-16',71,'2020-06-04',1,NULL),(11,22,1,'2020-05-14',NULL,77,'2020-06-04',3,NULL),(12,5,4,'2019-05-31','2020-05-30',81,'2020-06-04',2,NULL),(13,12,1,'2020-05-24','2021-05-23',90,'2020-06-04',2,NULL),(14,27,1,'2020-05-09','2022-05-08',94,'2020-06-04',1,NULL),(15,11,1,'2020-05-25',NULL,111,'2020-06-04',3,NULL),(16,26,1,'2020-05-10','2021-05-09',118,'2020-06-04',2,NULL),(17,17,1,'2020-05-19','2022-05-18',125,'2020-06-04',1,NULL),(18,4,1,'2020-06-01','2021-05-31',126,'2020-06-04',2,NULL),(19,25,4,'2019-05-11','2020-05-10',129,'2020-06-04',2,NULL),(20,23,1,'2020-05-13','2022-05-12',135,'2020-06-04',1,NULL),(21,10,4,'2019-05-26','2020-05-25',151,'2020-06-04',2,NULL),(22,18,1,'2020-05-18','2021-05-17',157,'2020-06-04',2,NULL),(23,9,1,'2020-05-27','2022-05-26',160,'2020-06-04',1,NULL),(24,7,1,'2020-05-29','2022-05-28',168,'2020-06-04',1,NULL),(25,30,3,'2017-10-15','2019-10-14',174,'2020-06-04',1,NULL),(26,16,1,'2020-05-20','2021-05-19',175,'2020-06-04',2,NULL),(27,1,1,'2020-06-04','2022-06-03',181,'2020-06-04',1,NULL),(28,14,1,'2020-05-22','2021-05-21',184,'2020-06-04',2,NULL),(29,2,1,'2020-06-03','2021-06-02',188,'2020-06-04',2,NULL),(30,24,1,'2020-05-12','2021-05-11',195,'2020-06-04',2,NULL);
+INSERT INTO `civicrm_membership_log` (`id`, `membership_id`, `status_id`, `start_date`, `end_date`, `modified_id`, `modified_date`, `membership_type_id`, `max_related`) VALUES (1,23,1,'2020-05-19','2022-05-18',4,'2020-06-10',1,NULL),(2,3,1,'2020-06-08','2022-06-07',9,'2020-06-10',1,NULL),(3,12,1,'2020-05-30','2021-05-29',10,'2020-06-10',2,NULL),(4,15,3,'2018-02-18','2020-02-17',12,'2020-06-10',1,NULL),(5,24,1,'2020-05-18','2021-05-17',15,'2020-06-10',2,NULL),(6,19,1,'2020-05-23','2022-05-22',18,'2020-06-10',1,NULL),(7,28,1,'2020-05-14','2021-05-13',32,'2020-06-10',2,NULL),(8,17,1,'2020-05-25','2022-05-24',41,'2020-06-10',1,NULL),(9,9,1,'2020-06-02','2022-06-01',52,'2020-06-10',1,NULL),(10,7,1,'2020-06-04','2022-06-03',59,'2020-06-10',1,NULL),(11,27,1,'2020-05-15','2022-05-14',62,'2020-06-10',1,NULL),(12,13,1,'2020-05-29','2022-05-28',73,'2020-06-10',1,NULL),(13,18,1,'2020-05-24','2021-05-23',81,'2020-06-10',2,NULL),(14,25,3,'2017-11-30','2019-11-29',92,'2020-06-10',1,NULL),(15,22,1,'2020-05-20',NULL,98,'2020-06-10',3,NULL),(16,30,4,'2019-05-12','2020-05-11',107,'2020-06-10',2,NULL),(17,8,1,'2020-06-03','2021-06-02',109,'2020-06-10',2,NULL),(18,16,1,'2020-05-26','2021-05-25',110,'2020-06-10',2,NULL),(19,20,4,'2019-05-22','2020-05-21',112,'2020-06-10',2,NULL),(20,29,1,'2020-05-13','2022-05-12',117,'2020-06-10',1,NULL),(21,21,1,'2020-05-21','2022-05-20',126,'2020-06-10',1,NULL),(22,26,1,'2020-05-16','2021-05-15',134,'2020-06-10',2,NULL),(23,11,1,'2020-05-31',NULL,147,'2020-06-10',3,NULL),(24,5,3,'2018-05-09','2020-05-08',154,'2020-06-10',1,NULL),(25,1,1,'2020-06-10','2022-06-09',158,'2020-06-10',1,NULL),(26,2,1,'2020-06-09','2021-06-08',164,'2020-06-10',2,NULL),(27,6,1,'2020-06-05','2021-06-04',173,'2020-06-10',2,NULL),(28,4,1,'2020-06-07','2021-06-06',174,'2020-06-10',2,NULL),(29,10,3,'2018-03-30','2020-03-29',185,'2020-06-10',1,NULL),(30,14,1,'2020-05-28','2021-05-27',190,'2020-06-10',2,NULL);
 /*!40000 ALTER TABLE `civicrm_membership_log` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -927,7 +927,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_membership_payment` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership_payment` DISABLE KEYS */;
-INSERT INTO `civicrm_membership_payment` (`id`, `membership_id`, `contribution_id`) VALUES (1,1,14),(2,3,15),(3,7,16),(4,9,17),(5,13,18),(6,15,19),(7,17,20),(8,19,21),(9,20,22),(10,21,23),(11,23,24),(12,27,25),(13,29,26),(14,30,27),(15,2,28),(16,4,29),(17,5,30),(18,6,31),(19,8,32),(20,10,33),(21,12,34),(22,14,35),(23,16,36),(24,18,37),(25,24,38),(26,25,39),(27,26,40),(28,28,41),(29,11,42),(30,22,43);
+INSERT INTO `civicrm_membership_payment` (`id`, `membership_id`, `contribution_id`) VALUES (1,1,14),(2,3,15),(3,5,16),(4,7,17),(5,9,18),(6,10,19),(7,13,20),(8,15,21),(9,17,22),(10,19,23),(11,21,24),(12,23,25),(13,25,26),(14,27,27),(15,29,28),(16,2,29),(17,4,30),(18,6,31),(19,8,32),(20,12,33),(21,14,34),(22,16,35),(23,18,36),(24,20,37),(25,24,38),(26,26,39),(27,28,40),(28,30,41),(29,11,42),(30,22,43);
 /*!40000 ALTER TABLE `civicrm_membership_payment` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -957,7 +957,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_menu` WRITE;
 /*!40000 ALTER TABLE `civicrm_menu` DISABLE KEYS */;
-INSERT INTO `civicrm_menu` (`id`, `domain_id`, `path`, `path_arguments`, `title`, `access_callback`, `access_arguments`, `page_callback`, `page_arguments`, `breadcrumb`, `return_url`, `return_url_args`, `component_id`, `is_active`, `is_public`, `is_exposed`, `is_ssl`, `weight`, `type`, `page_type`, `skipBreadcrumb`, `module_data`) VALUES (1,1,'civicrm/ajax/api4',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','s:18:\"CRM_Api4_Page_AJAX\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(2,1,'civicrm/api4',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Api4_Page_Api4Explorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(3,1,'civicrm/import',NULL,'Import','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,400,1,1,NULL,'a:0:{}'),(4,1,'civicrm/import/contact',NULL,'Import Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:31:\"/civicrm/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,410,1,1,NULL,'a:0:{}'),(5,1,'civicrm/import/activity',NULL,'Import Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:31:\"/civicrm/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),(6,1,'civicrm/import/custom','id=%%id%%','Import Multi-value Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Custom_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:31:\"/civicrm/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),(7,1,'civicrm/ajax/status',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Contact_Import_Page_AJAX\";i:1;s:6:\"status\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(8,1,'civicrm/custom/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Custom_Form_CustomData\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(9,1,'civicrm/ajax/optionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:13:\"getOptionList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(10,1,'civicrm/ajax/reorder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:11:\"fixOrdering\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(11,1,'civicrm/ajax/multirecordfieldlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:23:\"getMultiRecordFieldList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(12,1,'civicrm/group',NULL,'Manage Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Group_Page_Group\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,30,1,1,NULL,'a:0:{}'),(13,1,'civicrm/group/search',NULL,'Group Members','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:30:\"/civicrm/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:7:\"comment\";s:164:\"Note: group search already respect ACL, so a strict permission at url level is not required. A simple/basic permission like \'access CiviCRM\' could be used. CRM-5417\";}'),(14,1,'civicrm/group/add',NULL,'New Group','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:11:\"edit groups\";}i:1;s:3:\"and\";}','s:20:\"CRM_Group_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:30:\"/civicrm/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(15,1,'civicrm/ajax/grouplist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Group_Page_AJAX\";i:1;s:12:\"getGroupList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(16,1,'civicrm/tag',NULL,'Tags (Categories)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:16:\"CRM_Tag_Page_Tag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,25,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(17,1,'civicrm/tag/edit','action=add','New Tag','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:17:\"CRM_Tag_Form_Edit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:17:\"Tags (Categories)\";s:3:\"url\";s:28:\"/civicrm/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(18,1,'civicrm/tag/merge',NULL,'Merge Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:18:\"CRM_Tag_Form_Merge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:17:\"Tags (Categories)\";s:3:\"url\";s:28:\"/civicrm/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(19,1,'civicrm/ajax/tagTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:10:\"getTagTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(20,1,'civicrm/payment/form',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Financial_Form_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:47:\"/civicrm/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(21,1,'civicrm/payment/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Financial_Form_PaymentEdit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:47:\"/civicrm/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(22,1,'civicrm',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:0:{}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(23,1,'civicrm/dashboard',NULL,'CiviCRM Home','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,1,NULL,'a:0:{}'),(24,1,'civicrm/dashlet',NULL,'CiviCRM Dashlets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Page_Dashlet\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,1,NULL,'a:0:{}'),(25,1,'civicrm/contact/search',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),(26,1,'civicrm/contact/image',NULL,'Process Uploaded Images','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"CRM_Contact_BAO_Contact\";i:1;s:12:\"processImage\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(27,1,'civicrm/contact/imagefile',NULL,'Get Image File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_ImageFile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(28,1,'civicrm/contact/search/basic',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:39:\"/civicrm/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(29,1,'civicrm/contact/search/advanced',NULL,'Advanced Search','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=512\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:39:\"/civicrm/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,12,1,1,NULL,'a:0:{}'),(30,1,'civicrm/contact/search/builder',NULL,'Search Builder','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:9:\"mode=8192\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:39:\"/civicrm/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,14,1,1,NULL,'a:0:{}'),(31,1,'civicrm/contact/search/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:39:\"/civicrm/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(32,1,'civicrm/contact/search/custom/list',NULL,'Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Page_CustomSearch\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:39:\"/civicrm/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,16,1,1,NULL,'a:0:{}'),(33,1,'civicrm/contact/add',NULL,'New Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(34,1,'civicrm/contact/add/individual','ct=Individual','New Individual','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:36:\"/civicrm/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(35,1,'civicrm/contact/add/household','ct=Household','New Household','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:36:\"/civicrm/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(36,1,'civicrm/contact/add/organization','ct=Organization','New Organization','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:36:\"/civicrm/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(37,1,'civicrm/contact/relatedcontact',NULL,'Edit Related Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_RelatedContact\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(38,1,'civicrm/contact/merge',NULL,'Merge Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:22:\"CRM_Contact_Form_Merge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(39,1,'civicrm/contact/email',NULL,'Email a Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(40,1,'civicrm/contact/map',NULL,'Map Location(s)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_Map\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(41,1,'civicrm/contact/map/event',NULL,'Map Event Location','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_Task_Map_Event\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Map Location(s)\";s:3:\"url\";s:36:\"/civicrm/civicrm/contact/map?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(42,1,'civicrm/contact/view','cid=%%cid%%','Contact Summary','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Summary\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(43,1,'civicrm/contact/view/delete',NULL,'Delete Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(44,1,'civicrm/contact/view/activity','show=1,cid=%%cid%%','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:21:\"CRM_Activity_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(45,1,'civicrm/activity/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:71:\"/civicrm/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(46,1,'civicrm/activity/email/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:71:\"/civicrm/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(47,1,'civicrm/activity/pdf/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:71:\"/civicrm/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(48,1,'civicrm/contact/view/rel','cid=%%cid%%','Relationships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_Relationship\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(49,1,'civicrm/contact/view/group','cid=%%cid%%','Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_GroupContact\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(50,1,'civicrm/contact/view/smartgroup','cid=%%cid%%','Smart Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:39:\"CRM_Contact_Page_View_ContactSmartGroup\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(51,1,'civicrm/contact/view/note','cid=%%cid%%','Notes','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:26:\"CRM_Contact_Page_View_Note\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(52,1,'civicrm/contact/view/tag','cid=%%cid%%','Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Tag\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(53,1,'civicrm/contact/view/cd',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:32:\"CRM_Contact_Page_View_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(54,1,'civicrm/contact/view/cd/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Form_CustomData\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(55,1,'civicrm/contact/view/vcard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Vcard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(56,1,'civicrm/contact/view/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Print\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(57,1,'civicrm/contact/view/log',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Log\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(58,1,'civicrm/user',NULL,'Contact Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Page_View_UserDashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(59,1,'civicrm/dashlet/activity',NULL,'Activity Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:32:\"/civicrm/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(60,1,'civicrm/dashlet/blog',NULL,'CiviCRM Blog','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Dashlet_Page_Blog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:32:\"/civicrm/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(61,1,'civicrm/dashlet/getting-started',NULL,'CiviCRM Resources','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Dashlet_Page_GettingStarted\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:32:\"/civicrm/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(62,1,'civicrm/ajax/relation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"relationship\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(63,1,'civicrm/ajax/groupTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"groupTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(64,1,'civicrm/ajax/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:11:\"customField\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(65,1,'civicrm/ajax/customvalue',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:17:\"deleteCustomValue\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(66,1,'civicrm/ajax/cmsuser',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"checkUserName\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(67,1,'civicrm/ajax/checkemail',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactEmail\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(68,1,'civicrm/ajax/checkphone',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactPhone\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(69,1,'civicrm/ajax/subtype',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"buildSubTypes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(70,1,'civicrm/ajax/dashboard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"dashboard\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(71,1,'civicrm/ajax/signature',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"getSignature\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(72,1,'civicrm/ajax/pdfFormat',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"pdfFormat\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(73,1,'civicrm/ajax/paperSize',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"paperSize\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(74,1,'civicrm/ajax/contactref',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:31:\"access contact reference fields\";i:1;s:15:\" access CiviCRM\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"contactReference\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(75,1,'civicrm/dashlet/myCases',NULL,'Case Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Dashlet_Page_MyCases\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:32:\"/civicrm/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(76,1,'civicrm/dashlet/allCases',NULL,'All Cases Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_AllCases\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:32:\"/civicrm/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(77,1,'civicrm/dashlet/casedashboard',NULL,'Case Dashboard Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Dashlet_Page_CaseDashboard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:32:\"/civicrm/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(78,1,'civicrm/contact/deduperules',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer dedupe rules\";i:1;s:24:\"merge duplicate contacts\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Page_DedupeRules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,105,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),(79,1,'civicrm/contact/dedupefind',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Page_DedupeFind\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(80,1,'civicrm/ajax/dedupefind',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:10:\"getDedupes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(81,1,'civicrm/contact/dedupemerge',NULL,'Batch Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Page_DedupeMerge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(82,1,'civicrm/dedupe/exception',NULL,'Dedupe Exceptions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Page_DedupeException\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,110,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:6:\"Manage\";}'),(83,1,'civicrm/ajax/dedupeRules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"buildDedupeRules\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(84,1,'civicrm/contact/view/useradd','cid=%%cid%%','Add User','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Useradd\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(85,1,'civicrm/ajax/markSelection',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:22:\"selectUnselectContacts\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(86,1,'civicrm/ajax/toggleDedupeSelect',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:18:\"toggleDedupeSelect\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(87,1,'civicrm/ajax/flipDupePairs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"flipDupePairs\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(88,1,'civicrm/activity/sms/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_SMS\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:71:\"/civicrm/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(89,1,'civicrm/ajax/contactrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"view my contact\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:23:\"getContactRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(90,1,'civicrm/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(91,1,'civicrm/pcp/campaign',NULL,'Setup a Personal Campaign Page - Account Information','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(92,1,'civicrm/pcp/info',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_PCP_Page_PCPInfo\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(93,1,'civicrm/admin/pcp','context=contribute','Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Page_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,362,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(94,1,'civicrm/activity','action=add&context=standalone','New Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(95,1,'civicrm/activity/view',NULL,'View Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Form_ActivityView\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:71:\"/civicrm/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(96,1,'civicrm/ajax/activity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:15:\"getCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(97,1,'civicrm/ajax/globalrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseGlobalRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(98,1,'civicrm/ajax/clientrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseClientRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(99,1,'civicrm/ajax/caseroles',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:12:\"getCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(100,1,'civicrm/ajax/contactactivity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:18:\"getContactActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(101,1,'civicrm/ajax/activity/convert',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:21:\"convertToCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(102,1,'civicrm/activity/search',NULL,'Find Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Controller_Search\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:71:\"/civicrm/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(103,1,'civicrm/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Custom_Form_CustomDataByType\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(104,1,'civicrm/profile',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(105,1,'civicrm/profile/create',NULL,'CiviCRM Profile Create','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(106,1,'civicrm/profile/view',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Profile_Page_View\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(107,1,'civicrm/ajax/jqState',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:7:\"jqState\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(108,1,'civicrm/ajax/jqCounty',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:8:\"jqCounty\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(109,1,'civicrm/admin/custom/group',NULL,'Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(110,1,'civicrm/admin/custom/group/field',NULL,'Custom Data Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,11,1,0,0,'a:0:{}'),(111,1,'civicrm/admin/custom/group/field/option',NULL,'Custom Field - Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Custom_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(112,1,'civicrm/admin/custom/group/field/add',NULL,'Custom Field - Add','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(113,1,'civicrm/admin/custom/group/field/update',NULL,'Custom Field - Edit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(114,1,'civicrm/admin/custom/group/field/move',NULL,'Custom Field - Move','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Custom_Form_MoveField\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(115,1,'civicrm/admin/custom/group/field/changetype',NULL,'Custom Field - Change Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Custom_Form_ChangeFieldType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(116,1,'civicrm/admin/uf/group',NULL,'Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(117,1,'civicrm/admin/uf/group/field',NULL,'CiviCRM Profile Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:39:\"/civicrm/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,21,1,0,0,'a:0:{}'),(118,1,'civicrm/admin/uf/group/field/add',NULL,'Add Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:39:\"/civicrm/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,22,1,0,NULL,'a:0:{}'),(119,1,'civicrm/admin/uf/group/field/update',NULL,'Edit Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:39:\"/civicrm/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,23,1,0,NULL,'a:0:{}'),(120,1,'civicrm/admin/uf/group/add',NULL,'New CiviCRM Profile','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:39:\"/civicrm/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,24,1,0,NULL,'a:0:{}'),(121,1,'civicrm/admin/uf/group/update',NULL,'Profile Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:39:\"/civicrm/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,25,1,0,NULL,'a:0:{}'),(122,1,'civicrm/admin/uf/group/setting',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_UF_Form_AdvanceSetting\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:39:\"/civicrm/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,0,1,0,NULL,'a:0:{}'),(123,1,'civicrm/admin/options/activity_type',NULL,'Activity Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(124,1,'civicrm/admin/reltype',NULL,'Relationship Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_RelationshipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,35,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(125,1,'civicrm/admin/options/subtype',NULL,'Contact Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_ContactType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(126,1,'civicrm/admin/options/gender',NULL,'Gender Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,45,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(127,1,'civicrm/admin/options/individual_prefix',NULL,'Individual Prefixes (Ms, Mr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(128,1,'civicrm/admin/options/individual_suffix',NULL,'Individual Suffixes (Jr, Sr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,55,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(129,1,'civicrm/admin/locationType',NULL,'Location Types (Home, Work...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LocationType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(130,1,'civicrm/admin/options/website_type',NULL,'Website Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,65,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(131,1,'civicrm/admin/options/instant_messenger_service',NULL,'Instant Messenger Services','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(132,1,'civicrm/admin/options/mobile_provider',NULL,'Mobile Phone Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(133,1,'civicrm/admin/options/phone_type',NULL,'Phone Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(134,1,'civicrm/admin/setting/preferences/display',NULL,'Display Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Display\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(135,1,'civicrm/admin/setting/search',NULL,'Search Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Form_Setting_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,95,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(136,1,'civicrm/admin/setting/preferences/date',NULL,'View Date Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Page_PreferencesDate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(137,1,'civicrm/admin/menu',NULL,'Navigation Menu','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Navigation\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(138,1,'civicrm/admin/options/wordreplacements',NULL,'Word Replacements','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Form_WordReplacements\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:18:\"Word Replacements.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(139,1,'civicrm/admin/options/custom_search',NULL,'Manage Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(140,1,'civicrm/admin/domain','action=update','Organization Address and Contact Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contact_Form_Domain\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(141,1,'civicrm/admin/options/from_email_address',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(142,1,'civicrm/admin/messageTemplates',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Page_MessageTemplates\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(143,1,'civicrm/admin/messageTemplates/add',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Form_MessageTemplates\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Message Templates\";s:3:\"url\";s:47:\"/civicrm/civicrm/admin/messageTemplates?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,262,1,0,NULL,'a:1:{s:4:\"desc\";s:26:\"Add/Edit Message Templates\";}'),(144,1,'civicrm/admin/scheduleReminders',NULL,'Schedule Reminders','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:15:\"edit all events\";}i:1;s:2:\"or\";}','s:32:\"CRM_Admin_Page_ScheduleReminders\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:19:\"Schedule Reminders.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(145,1,'civicrm/admin/weight',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_Weight\";i:1;s:8:\"fixOrder\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(146,1,'civicrm/admin/options/preferred_communication_method',NULL,'Preferred Communication Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(147,1,'civicrm/admin/labelFormats',NULL,'Label Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LabelFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(148,1,'civicrm/admin/pdfFormats',NULL,'Print Page (PDF) Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_PdfFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(149,1,'civicrm/admin/options/communication_style',NULL,'Communication Style Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(150,1,'civicrm/admin/options/email_greeting',NULL,'Email Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(151,1,'civicrm/admin/options/postal_greeting',NULL,'Postal Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:2:{s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(152,1,'civicrm/admin/options/addressee',NULL,'Addressee Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(153,1,'civicrm/admin/setting/localization',NULL,'Languages, Currency, Locations','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Form_Setting_Localization\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),(154,1,'civicrm/admin/setting/preferences/address',NULL,'Address Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Address\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),(155,1,'civicrm/admin/setting/date',NULL,'Date Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Date\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),(156,1,'civicrm/admin/options/languages',NULL,'Preferred Languages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:30:\"Options for contact languages.\";s:10:\"adminGroup\";s:12:\"Localization\";}'),(157,1,'civicrm/admin/access',NULL,'Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_Access\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),(158,1,'civicrm/admin/access/wp-permissions',NULL,'WordPress Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_ACL_Form_WordPress_Permissions\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Access Control\";s:3:\"url\";s:37:\"/civicrm/civicrm/admin/access?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:4:\"desc\";s:65:\"Grant access to CiviCRM components and other CiviCRM permissions.\";}'),(159,1,'civicrm/admin/synchUser',NULL,'Synchronize Users to Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_CMSUser\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),(160,1,'civicrm/admin/configtask',NULL,'Configuration Checklist','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_ConfigTaskList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}','civicrm/admin/configtask',NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(161,1,'civicrm/admin/setting/component',NULL,'Enable CiviCRM Components','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(162,1,'civicrm/admin/extensions',NULL,'Manage Extensions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Extensions\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:2:{s:4:\"desc\";s:0:\"\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(163,1,'civicrm/admin/extensions/upgrade',NULL,'Database Upgrades','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Page_ExtensionsUpgrade\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Manage Extensions\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/extensions?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(164,1,'civicrm/admin/setting/smtp',NULL,'Outbound Email Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Smtp\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(165,1,'civicrm/admin/paymentProcessor',NULL,'Settings - Payment Processor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:29:\"administer payment processors\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_PaymentProcessor\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(166,1,'civicrm/admin/setting/mapping',NULL,'Mapping and Geocoding','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Form_Setting_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(167,1,'civicrm/admin/setting/misc',NULL,'Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Form_Setting_Miscellaneous\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:91:\"Enable undelete/move to trash feature, detailed change logging, ReCAPTCHA to protect forms.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(168,1,'civicrm/admin/setting/path',NULL,'Directories','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Path\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(169,1,'civicrm/admin/setting/url',NULL,'Resource URLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Form_Setting_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(170,1,'civicrm/admin/setting/updateConfigBackend',NULL,'Cleanup Caches and Update Paths','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Admin_Form_Setting_UpdateConfigBackend\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(171,1,'civicrm/admin/setting/uf',NULL,'CMS Database Integration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Form_Setting_UF\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(172,1,'civicrm/admin/options/safe_file_extension',NULL,'Safe File Extension Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(173,1,'civicrm/admin/options',NULL,'Option Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(174,1,'civicrm/admin/mapping',NULL,'Import/Export Mappings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(175,1,'civicrm/admin/setting/debug',NULL,'Debugging','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Debugging\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(176,1,'civicrm/admin/setting/preferences/multisite',NULL,'Multi Site Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,130,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(177,1,'civicrm/admin/setting/preferences/campaign',NULL,'CiviCampaign Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(178,1,'civicrm/admin/setting/preferences/event',NULL,'CiviEvent Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(179,1,'civicrm/admin/setting/preferences/mailing',NULL,'CiviMail Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Mailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:2:{s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(180,1,'civicrm/admin/setting/preferences/member',NULL,'CiviMember Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Admin_Form_Preferences_Member\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),(181,1,'civicrm/admin/runjobs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:20:\"executeScheduledJobs\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:36:\"URL used for running scheduled jobs.\";}'),(182,1,'civicrm/admin/job',NULL,'Scheduled Jobs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Admin_Page_Job\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1370,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(183,1,'civicrm/admin/joblog',NULL,'Scheduled Jobs Log','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_JobLog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1380,1,0,NULL,'a:2:{s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),(184,1,'civicrm/admin/options/grant_type',NULL,'Grant Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:10:\"adminGroup\";s:12:\"Option Lists\";}'),(185,1,'civicrm/admin/paymentProcessorType',NULL,'Payment Processor Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Page_PaymentProcessorType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:1:{s:4:\"desc\";s:34:\"Payment Processor type information\";}'),(186,1,'civicrm/admin',NULL,'Administer CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Admin_Page_Admin\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,9000,1,1,NULL,'a:0:{}'),(187,1,'civicrm/ajax/navmenu',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:7:\"navMenu\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(188,1,'civicrm/ajax/menutree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:8:\"menuTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(189,1,'civicrm/ajax/statusmsg',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:12:\"getStatusMsg\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(190,1,'civicrm/admin/price',NULL,'Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:10:\"adminGroup\";s:9:\"Customize\";}'),(191,1,'civicrm/admin/price/add','action=add','New Price Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:36:\"/civicrm/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";}'),(192,1,'civicrm/admin/price/field',NULL,'Price Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:20:\"CRM_Price_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:36:\"/civicrm/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,0,'a:0:{}'),(193,1,'civicrm/admin/price/field/option',NULL,'Price Field Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Price_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:36:\"/civicrm/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(194,1,'civicrm/ajax/mapping',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:11:\"mappingList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(195,1,'civicrm/ajax/recipientListing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:16:\"recipientListing\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(196,1,'civicrm/admin/sms/provider',NULL,'Sms Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Provider\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,500,1,0,NULL,'a:2:{s:4:\"desc\";s:27:\"To configure a sms provider\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(197,1,'civicrm/sms/send',NULL,'New Mass SMS','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:23:\"CRM_SMS_Controller_Send\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),(198,1,'civicrm/sms/callback',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Callback\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(199,1,'civicrm/admin/badgelayout','action=browse','Event Name Badge Layouts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Page_Layout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,399,1,0,NULL,'a:2:{s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(200,1,'civicrm/admin/badgelayout/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Form_Layout\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:3:\"url\";s:60:\"/civicrm/civicrm/admin/badgelayout?reset=1&amp;action=browse\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(201,1,'civicrm/admin/ckeditor',NULL,'Configure CKEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_CKEditorConfig\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(202,1,'civicrm/upgrade',NULL,'Upgrade CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Upgrade_Page_Upgrade\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(203,1,'civicrm/export',NULL,'Download Errors','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(204,1,'civicrm/export/contact',NULL,'Export Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:31:\"/civicrm/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(205,1,'civicrm/export/standalone',NULL,'Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Export_Controller_Standalone\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:31:\"/civicrm/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(206,1,'civicrm/admin/options/acl_role',NULL,'ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(207,1,'civicrm/acl',NULL,'Manage ACLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_ACL_Page_ACL\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(208,1,'civicrm/acl/entityrole',NULL,'Assign Users to ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_ACL_Page_EntityRole\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:28:\"/civicrm/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(209,1,'civicrm/acl/basic',NULL,'ACL','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_ACL_Page_ACLBasic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:28:\"/civicrm/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(210,1,'civicrm/file',NULL,'Browse Uploaded files','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_Page_File\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(211,1,'civicrm/file/delete',NULL,'Delete File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:17:\"CRM_Core_BAO_File\";i:1;s:16:\"deleteAttachment\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:21:\"Browse Uploaded files\";s:3:\"url\";s:29:\"/civicrm/civicrm/file?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(212,1,'civicrm/friend',NULL,'Tell a Friend','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:15:\"CRM_Friend_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(213,1,'civicrm/logout',NULL,'Log out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:6:\"logout\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,9999,1,1,NULL,'a:0:{}'),(214,1,'civicrm/i18n',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"translate CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_I18n_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(215,1,'civicrm/ajax/attachment',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:29:\"CRM_Core_Page_AJAX_Attachment\";i:1;s:10:\"attachFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(216,1,'civicrm/api',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(217,1,'civicrm/api3',NULL,'CiviCRM API v3','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_APIExplorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(218,1,'civicrm/ajax/apiexample',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:14:\"getExampleFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(219,1,'civicrm/ajax/apidoc',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:6:\"getDoc\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(220,1,'civicrm/ajax/rest',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:4:\"ajax\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(221,1,'civicrm/api/json',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:8:\"ajaxJson\";}','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(222,1,'civicrm/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:12:\"loadTemplate\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(223,1,'civicrm/ajax/chart',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(224,1,'civicrm/asset/builder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"\\Civi\\Core\\AssetBuilder\";i:1;s:7:\"pageRun\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(225,1,'civicrm/contribute/ajax/tableview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(226,1,'civicrm/payment/ipn',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Core_Payment\";i:1;s:9:\"handleIPN\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:47:\"/civicrm/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(227,1,'civicrm/batch',NULL,'Batch Data Entry','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(228,1,'civicrm/batch/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Batch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:30:\"/civicrm/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(229,1,'civicrm/batch/entry',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Entry\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:30:\"/civicrm/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(230,1,'civicrm/ajax/batch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:9:\"batchSave\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(231,1,'civicrm/ajax/batchlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:12:\"getBatchList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(232,1,'civicrm/ajax/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Page_AJAX\";i:1;s:3:\"run\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(233,1,'civicrm/dev/qunit',NULL,'QUnit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:19:\"CRM_Core_Page_QUnit\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(234,1,'civicrm/profile-editor/schema',NULL,'ProfileEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:25:\"CRM_UF_Page_ProfileEditor\";i:1;s:13:\"getSchemaJSON\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(235,1,'civicrm/a',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"\\Civi\\Angular\\Page\\Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(236,1,'civicrm/ajax/angular-modules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"\\Civi\\Angular\\Page\\Modules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(237,1,'civicrm/ajax/recurringentity/update-mode',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:34:\"CRM_Core_Page_AJAX_RecurringEntity\";i:1;s:10:\"updateMode\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(238,1,'civicrm/recurringentity/preview',NULL,'Confirm dates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Core_Page_RecurringEntityPreview\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(239,1,'civicrm/ajax/l10n-js',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Resources\";i:1;s:20:\"outputLocalizationJS\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(240,1,'civicrm/shortcode',NULL,'Insert CiviCRM Content','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Core_Form_ShortCode\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(241,1,'civicrm/task/add-to-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Form_Task_AddToGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(242,1,'civicrm/task/remove-from-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contact_Form_Task_RemoveFromGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(243,1,'civicrm/task/add-to-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contact_Form_Task_AddToTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(244,1,'civicrm/task/remove-from-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Form_Task_RemoveFromTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(245,1,'civicrm/task/send-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(246,1,'civicrm/task/make-mailing-label',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Label\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(247,1,'civicrm/task/pick-profile',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contact_Form_Task_PickProfile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(248,1,'civicrm/task/print-document',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(249,1,'civicrm/task/unhold-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Unhold\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(250,1,'civicrm/task/alter-contact-preference',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contact_Form_Task_AlterPreferences\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(251,1,'civicrm/task/delete-contact',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(252,1,'civicrm/event',NULL,'CiviEvent Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,800,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),(253,1,'civicrm/participant/add','action=add','Register New Participant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),(254,1,'civicrm/event/info',NULL,'Event Information','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(255,1,'civicrm/event/register',NULL,'Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Controller_Registration\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(256,1,'civicrm/event/confirm',NULL,'Confirm Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:46:\"CRM_Event_Form_Registration_ParticipantConfirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(257,1,'civicrm/event/ical',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_ICalendar\";i:1;s:3:\"run\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(258,1,'civicrm/event/list',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','s:19:\"CRM_Event_Page_List\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(259,1,'civicrm/event/participant',NULL,'Event Participants List','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"view event participants\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Page_ParticipantListing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(260,1,'civicrm/admin/event',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(261,1,'civicrm/admin/eventTemplate',NULL,'Event Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Admin_Page_EventTemplate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,375,1,0,NULL,'a:2:{s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(262,1,'civicrm/admin/options/event_type',NULL,'Event Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(263,1,'civicrm/admin/participant_status',NULL,'Participant Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Page_ParticipantStatusType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(264,1,'civicrm/admin/options/participant_role',NULL,'Participant Role','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(265,1,'civicrm/admin/options/participant_listing',NULL,'Participant Listing Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,398,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(266,1,'civicrm/admin/options/conference_slot',NULL,'Conference Slot Labels','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(267,1,'civicrm/event/search',NULL,'Find Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,810,1,1,NULL,'a:0:{}'),(268,1,'civicrm/event/manage',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,820,1,1,NULL,'a:0:{}'),(269,1,'civicrm/event/badge',NULL,'Print Event Name Badge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:25:\"CRM_Event_Form_Task_Badge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(270,1,'civicrm/event/manage/settings',NULL,'Event Info and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:37:\"/civicrm/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,910,1,0,NULL,'a:0:{}'),(271,1,'civicrm/event/manage/location',NULL,'Event Location','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:35:\"CRM_Event_Form_ManageEvent_Location\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:37:\"/civicrm/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),(272,1,'civicrm/event/manage/fee',NULL,'Event Fees','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_ManageEvent_Fee\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:37:\"/civicrm/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,920,1,0,NULL,'a:0:{}'),(273,1,'civicrm/event/manage/registration',NULL,'Event Online Registration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:39:\"CRM_Event_Form_ManageEvent_Registration\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:37:\"/civicrm/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),(274,1,'civicrm/event/manage/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Friend_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:37:\"/civicrm/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,940,1,0,NULL,'a:0:{}'),(275,1,'civicrm/event/manage/reminder',NULL,'Schedule Reminders','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:44:\"CRM_Event_Form_ManageEvent_ScheduleReminders\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:37:\"/civicrm/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),(276,1,'civicrm/event/manage/repeat',NULL,'Repeat Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Form_ManageEvent_Repeat\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:37:\"/civicrm/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,960,1,0,NULL,'a:0:{}'),(277,1,'civicrm/event/manage/conference',NULL,'Conference Slots','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:37:\"CRM_Event_Form_ManageEvent_Conference\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:37:\"/civicrm/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),(278,1,'civicrm/event/add','action=add','New Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,830,1,0,NULL,'a:0:{}'),(279,1,'civicrm/event/import',NULL,'Import Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:23:\"edit event participants\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,840,1,1,NULL,'a:0:{}'),(280,1,'civicrm/event/price',NULL,'Manage Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,850,1,1,NULL,'a:0:{}'),(281,1,'civicrm/event/selfsvcupdate',NULL,'Self-service Registration Update','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Form_SelfSvcUpdate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,880,1,1,NULL,'a:0:{}'),(282,1,'civicrm/event/selfsvctransfer',NULL,'Self-service Registration Transfer','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_SelfSvcTransfer\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,890,1,1,NULL,'a:0:{}'),(283,1,'civicrm/contact/view/participant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,4,1,0,NULL,'a:0:{}'),(284,1,'civicrm/ajax/eventFee',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_Page_AJAX\";i:1;s:8:\"eventFee\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(285,1,'civicrm/ajax/locBlock',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:11:\"getLocBlock\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(286,1,'civicrm/ajax/event/add_participant_to_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:23:\"add_participant_to_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(287,1,'civicrm/ajax/event/remove_participant_from_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:28:\"remove_participant_from_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(288,1,'civicrm/event/add_to_cart',NULL,'Add Event To Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:29:\"CRM_Event_Cart_Page_AddToCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(289,1,'civicrm/event/cart_checkout',NULL,'Cart Checkout','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Controller_Checkout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(290,1,'civicrm/event/remove_from_cart',NULL,'Remove From Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Page_RemoveFromCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(291,1,'civicrm/event/view_cart',NULL,'View Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Cart_Page_ViewCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(292,1,'civicrm/event/participant/feeselection',NULL,'Change Registration Selections','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:38:\"CRM_Event_Form_ParticipantFeeSelection\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:23:\"Event Participants List\";s:3:\"url\";s:42:\"/civicrm/civicrm/event/participant?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(293,1,'civicrm/event/manage/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_PCP_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:37:\"/civicrm/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,540,1,1,NULL,'a:0:{}'),(294,1,'civicrm/event/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(295,1,'civicrm/event/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(296,1,'civicrm/contribute',NULL,'CiviContribute Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,500,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(297,1,'civicrm/contribute/add','action=add','New Contribution','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(298,1,'civicrm/contribute/chart',NULL,'Contribution Summary - Chart View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(299,1,'civicrm/contribute/transact',NULL,'CiviContribute','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Controller_Contribution\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,1,0,1,0,NULL,'a:0:{}'),(300,1,'civicrm/admin/contribute',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,360,1,0,NULL,'a:2:{s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(301,1,'civicrm/admin/contribute/settings',NULL,'Title and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_Settings\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:0:{}'),(302,1,'civicrm/admin/contribute/amount',NULL,'Contribution Amounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Amount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:0:{}'),(303,1,'civicrm/admin/contribute/membership',NULL,'Membership Section','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Member_Form_MembershipBlock\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:0:{}'),(304,1,'civicrm/admin/contribute/custom',NULL,'Include Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Custom\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),(305,1,'civicrm/admin/contribute/thankyou',NULL,'Thank-you and Receipting','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_ThankYou\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),(306,1,'civicrm/admin/contribute/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Friend_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,440,1,0,NULL,'a:0:{}'),(307,1,'civicrm/admin/contribute/widget',NULL,'Configure Widget','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Widget\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,460,1,0,NULL,'a:0:{}'),(308,1,'civicrm/admin/contribute/premium',NULL,'Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:44:\"CRM_Contribute_Form_ContributionPage_Premium\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,470,1,0,NULL,'a:0:{}'),(309,1,'civicrm/admin/contribute/addProductToPage',NULL,'Add Products to This Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:47:\"CRM_Contribute_Form_ContributionPage_AddProduct\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,480,1,0,NULL,'a:0:{}'),(310,1,'civicrm/admin/contribute/add','action=add','New Contribution Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Contribute_Controller_ContributionPage\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(311,1,'civicrm/admin/contribute/managePremiums',NULL,'Manage Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Page_ManagePremiums\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,365,1,0,NULL,'a:2:{s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(312,1,'civicrm/admin/financial/financialType',NULL,'Financial Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Financial_Page_FinancialType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,580,1,0,NULL,'a:2:{s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(313,1,'civicrm/payment','action=add','New Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Form_AdditionalPayment\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(314,1,'civicrm/admin/financial/financialAccount',NULL,'Financial Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_FinancialAccount\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(315,1,'civicrm/admin/options/payment_instrument',NULL,'Payment Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(316,1,'civicrm/admin/options/accept_creditcard',NULL,'Accepted Credit Cards','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(317,1,'civicrm/admin/options/soft_credit_type',NULL,'Soft Credit Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(318,1,'civicrm/contact/view/contribution',NULL,'Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(319,1,'civicrm/contact/view/contributionrecur',NULL,'Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:37:\"CRM_Contribute_Page_ContributionRecur\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(320,1,'civicrm/contact/view/contribution/additionalinfo',NULL,'Additional Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:13:\"Contributions\";s:3:\"url\";s:50:\"/civicrm/civicrm/contact/view/contribution?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(321,1,'civicrm/contribute/search',NULL,'Find Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,510,1,1,NULL,'a:0:{}'),(322,1,'civicrm/contribute/searchBatch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Controller_SearchBatch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,588,1,1,NULL,'a:0:{}'),(323,1,'civicrm/contribute/import',NULL,'Import Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"edit contributions\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,520,1,1,NULL,'a:0:{}'),(324,1,'civicrm/contribute/manage',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,530,1,1,NULL,'a:0:{}'),(325,1,'civicrm/contribute/additionalinfo',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(326,1,'civicrm/ajax/permlocation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:23:\"getPermissionedLocation\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(327,1,'civicrm/contribute/unsubscribe',NULL,'Cancel Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_CancelSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(328,1,'civicrm/contribute/onbehalf',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_Contribution_OnBehalfOf\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(329,1,'civicrm/contribute/updatebilling',NULL,'Update Billing Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contribute_Form_UpdateBilling\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(330,1,'civicrm/contribute/updaterecur',NULL,'Update Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_UpdateSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(331,1,'civicrm/contribute/subscriptionstatus',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Page_SubscriptionStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(332,1,'civicrm/admin/financial/financialType/accounts',NULL,'Financial Type Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:39:\"CRM_Financial_Page_FinancialTypeAccount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:15:\"Financial Types\";s:3:\"url\";s:54:\"/civicrm/civicrm/admin/financial/financialType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,581,1,0,NULL,'a:0:{}'),(333,1,'civicrm/financial/batch',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:33:\"CRM_Financial_Page_FinancialBatch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,585,1,0,NULL,'a:0:{}'),(334,1,'civicrm/financial/financialbatches',NULL,'Accounting Batches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Financial_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,586,1,0,NULL,'a:0:{}'),(335,1,'civicrm/batchtransaction',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_BatchTransaction\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,600,1,0,NULL,'a:0:{}'),(336,1,'civicrm/financial/batch/export',NULL,'Accounting Batch Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:25:\"CRM_Financial_Form_Export\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Accounting Batch\";s:3:\"url\";s:40:\"/civicrm/civicrm/financial/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,0,NULL,'a:0:{}'),(337,1,'civicrm/payment/view','action=view','View Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contribute_Page_PaymentInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:47:\"/civicrm/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(338,1,'civicrm/admin/setting/preferences/contribute',NULL,'CiviContribute Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Admin_Form_Preferences_Contribute\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(339,1,'civicrm/contribute/invoice',NULL,'PDF Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Contribute_Form_Task_Invoice\";i:1;s:11:\"getPrintPDF\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,620,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(340,1,'civicrm/contribute/invoice/email',NULL,'Email Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Form_Task_Invoice\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"PDF Invoice\";s:3:\"url\";s:43:\"/civicrm/civicrm/contribute/invoice?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,630,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(341,1,'civicrm/ajax/softcontributionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:24:\"CRM_Contribute_Page_AJAX\";i:1;s:23:\"getSoftContributionRows\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(342,1,'civicrm/contribute/contributionrecur-payments',NULL,'Recurring Contribution\'s Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Page_ContributionRecurPayments\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(343,1,'civicrm/membership/recurring-contributions',NULL,'Membership Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Member_Page_RecurringContributions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(344,1,'civicrm/admin/contribute/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_PCP_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,450,1,0,NULL,'a:0:{}'),(345,1,'civicrm/contribute/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:35:\"/civicrm/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(346,1,'civicrm/member',NULL,'CiviMember Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:25:\"CRM_Member_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,700,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),(347,1,'civicrm/member/add','action=add','New Membership','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:31:\"/civicrm/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),(348,1,'civicrm/admin/member/membershipType',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Page_MembershipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),(349,1,'civicrm/admin/member/membershipStatus',NULL,'Membership Status Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Member_Page_MembershipStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),(350,1,'civicrm/contact/view/membership','force=1,cid=%%cid%%','Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,2,1,0,NULL,'a:0:{}'),(351,1,'civicrm/membership/view',NULL,'Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipView\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,390,1,0,NULL,'a:0:{}'),(352,1,'civicrm/member/search',NULL,'Find Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:31:\"/civicrm/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,710,1,1,NULL,'a:0:{}'),(353,1,'civicrm/member/import',NULL,'Import Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:16:\"edit memberships\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:31:\"/civicrm/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,720,1,1,NULL,'a:0:{}'),(354,1,'civicrm/ajax/memType',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Member_Page_AJAX\";i:1;s:21:\"getMemberTypeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(355,1,'civicrm/admin/member/membershipType/add',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:16:\"Membership Types\";s:3:\"url\";s:52:\"/civicrm/civicrm/admin/member/membershipType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(356,1,'civicrm/mailing',NULL,'CiviMail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,600,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviMail\";}'),(357,1,'civicrm/admin/mail',NULL,'Mailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Mail\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(358,1,'civicrm/admin/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(359,1,'civicrm/admin/options/from_email_address/civimail',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:4:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}i:3;a:2:{s:5:\"title\";s:20:\"From Email Addresses\";s:3:\"url\";s:57:\"/civicrm/civicrm/admin/options/from_email_address?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(360,1,'civicrm/admin/mailSettings',NULL,'Mail Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_MailSettings\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:32:\"Configure email account setting.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(361,1,'civicrm/mailing/send',NULL,'New Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:27:\"CRM_Mailing_Controller_Send\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),(362,1,'civicrm/mailing/browse/scheduled','scheduled=true','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:5:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";i:4;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),(363,1,'civicrm/mailing/browse/unscheduled','scheduled=false','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),(364,1,'civicrm/mailing/browse/archived',NULL,'Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,625,1,1,NULL,'a:0:{}'),(365,1,'civicrm/mailing/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,630,1,1,NULL,'a:0:{}'),(366,1,'civicrm/mailing/unsubscribe',NULL,'Unsubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Form_Unsubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,640,1,0,NULL,'a:0:{}'),(367,1,'civicrm/mailing/resubscribe',NULL,'Resubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Page_Resubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,645,1,0,NULL,'a:0:{}'),(368,1,'civicrm/mailing/optout',NULL,'Opt-out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Form_Optout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,650,1,0,NULL,'a:0:{}'),(369,1,'civicrm/mailing/confirm',NULL,'Confirm','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:24:\"CRM_Mailing_Page_Confirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),(370,1,'civicrm/mailing/subscribe',NULL,'Subscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Form_Subscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),(371,1,'civicrm/mailing/preview',NULL,'Preview Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Page_Preview\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,670,1,0,NULL,'a:0:{}'),(372,1,'civicrm/mailing/report','mid=%%mid%%','Mailing Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,680,1,0,NULL,'a:0:{}'),(373,1,'civicrm/mailing/forward',NULL,'Forward Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:31:\"CRM_Mailing_Form_ForwardMailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,685,1,0,NULL,'a:0:{}'),(374,1,'civicrm/mailing/queue',NULL,'Sending Mail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,690,1,0,NULL,'a:0:{}'),(375,1,'civicrm/mailing/report/event',NULL,'Mailing Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:22:\"CRM_Mailing_Page_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Mailing Report\";s:3:\"url\";s:55:\"/civicrm/civicrm/mailing/report?reset=1&amp;mid=%%mid%%\";}}',NULL,NULL,4,NULL,NULL,NULL,0,695,1,0,NULL,'a:0:{}'),(376,1,'civicrm/ajax/template',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:8:\"template\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(377,1,'civicrm/mailing/view',NULL,'View Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:28:\"view public CiviMail content\";i:1;s:15:\"access CiviMail\";i:2;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:21:\"CRM_Mailing_Page_View\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,800,1,0,NULL,'a:0:{}'),(378,1,'civicrm/mailing/approve',NULL,'Approve Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Form_Approve\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,850,1,0,NULL,'a:0:{}'),(379,1,'civicrm/contact/view/mailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:20:\"CRM_Mailing_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(380,1,'civicrm/ajax/contactmailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:18:\"getContactMailings\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(381,1,'civicrm/mailing/url',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:20:\"CRM_Mailing_Page_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(382,1,'civicrm/mailing/open',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:21:\"CRM_Mailing_Page_Open\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:32:\"/civicrm/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(383,1,'civicrm/grant',NULL,'CiviGrant Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1000,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),(384,1,'civicrm/grant/info',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(385,1,'civicrm/grant/search',NULL,'Find Grants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:27:\"CRM_Grant_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1010,1,1,NULL,'a:0:{}'),(386,1,'civicrm/grant/add','action=add','New Grant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:30:\"/civicrm/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),(387,1,'civicrm/contact/view/grant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(388,1,'civicrm/pledge',NULL,'CiviPledge Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:25:\"CRM_Pledge_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,550,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),(389,1,'civicrm/pledge/search',NULL,'Find Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:28:\"CRM_Pledge_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:31:\"/civicrm/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,560,1,1,NULL,'a:0:{}'),(390,1,'civicrm/contact/view/pledge','force=1,cid=%%cid%%','Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,570,1,0,NULL,'a:0:{}'),(391,1,'civicrm/pledge/add','action=add','New Pledge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:31:\"/civicrm/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),(392,1,'civicrm/pledge/payment',NULL,'Pledge Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:23:\"CRM_Pledge_Page_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:31:\"/civicrm/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,580,1,0,NULL,'a:0:{}'),(393,1,'civicrm/ajax/pledgeAmount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviPledge\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Pledge_Page_AJAX\";i:1;s:17:\"getPledgeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(394,1,'civicrm/case',NULL,'CiviCase Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Case_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,900,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),(395,1,'civicrm/case/add',NULL,'Open Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Case_Form_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),(396,1,'civicrm/case/search',NULL,'Find Cases','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,910,1,1,NULL,'a:0:{}'),(397,1,'civicrm/case/activity',NULL,'Case Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Case_Form_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(398,1,'civicrm/case/report',NULL,'Case Activity Audit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:20:\"CRM_Case_Form_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(399,1,'civicrm/case/cd/edit',NULL,'Case Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(400,1,'civicrm/contact/view/case',NULL,'Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:17:\"CRM_Case_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(401,1,'civicrm/case/activity/view',NULL,'Activity View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Form_ActivityView\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Case Activity\";s:3:\"url\";s:38:\"/civicrm/civicrm/case/activity?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(402,1,'civicrm/contact/view/case/editClient',NULL,'Assign to Another Client','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Case_Form_EditClient\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:53:\"/civicrm/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:4:\"Case\";s:3:\"url\";s:42:\"/civicrm/civicrm/contact/view/case?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(403,1,'civicrm/case/addToCase',NULL,'File on Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Case_Form_ActivityToCase\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(404,1,'civicrm/case/details',NULL,'Case Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Case_Page_CaseDetails\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(405,1,'civicrm/admin/setting/case',NULL,'CiviCase Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:8:\"CiviCase\";}'),(406,1,'civicrm/admin/options/case_type',NULL,'Case Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:24:\"url=civicrm/a/#/caseType\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),(407,1,'civicrm/admin/options/redaction_rule',NULL,'Redaction Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),(408,1,'civicrm/admin/options/case_status',NULL,'Case Statuses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),(409,1,'civicrm/admin/options/encounter_medium',NULL,'Encounter Mediums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:26:\"List of encounter mediums.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),(410,1,'civicrm/case/report/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Case_XMLProcessor_Report\";i:1;s:15:\"printCaseReport\";}',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:19:\"Case Activity Audit\";s:3:\"url\";s:36:\"/civicrm/civicrm/case/report?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(411,1,'civicrm/case/ajax/addclient',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:9:\"addClient\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(412,1,'civicrm/case/ajax/processtags',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"processCaseTags\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(413,1,'civicrm/case/ajax/details',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:11:\"CaseDetails\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:29:\"/civicrm/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(414,1,'civicrm/ajax/delcaserole',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"deleteCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(415,1,'civicrm/ajax/get-cases',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:8:\"getCases\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(416,1,'civicrm/report',NULL,'CiviReport','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:22:\"CRM_Report_Page_Report\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1200,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviReport\";}'),(417,1,'civicrm/report/list',NULL,'CiviCRM Reports','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:31:\"/civicrm/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(418,1,'civicrm/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:31:\"/civicrm/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1220,1,1,NULL,'a:0:{}'),(419,1,'civicrm/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:31:\"/civicrm/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1241,1,1,NULL,'a:0:{}'),(420,1,'civicrm/admin/report/register',NULL,'Register Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Form_Register\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:30:\"Register the Report templates.\";}'),(421,1,'civicrm/report/instance',NULL,'Report','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Page_Instance\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:31:\"/civicrm/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(422,1,'civicrm/admin/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),(423,1,'civicrm/admin/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),(424,1,'civicrm/admin/report/list',NULL,'Reports Listing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),(425,1,'civicrm/campaign',NULL,'Campaign Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:27:\"CRM_Campaign_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(426,1,'civicrm/campaign/add',NULL,'New Campaign','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Campaign\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:33:\"/civicrm/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(427,1,'civicrm/survey/add',NULL,'New Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(428,1,'civicrm/campaign/vote',NULL,'Conduct Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"reserve campaign contacts\";i:3;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Page_Vote\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:33:\"/civicrm/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(429,1,'civicrm/admin/campaign/surveyType',NULL,'Survey Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCampaign\";}i:1;s:3:\"and\";}','s:28:\"CRM_Campaign_Page_SurveyType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(430,1,'civicrm/admin/options/campaign_type',NULL,'Campaign Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,2,1,0,NULL,'a:3:{s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(431,1,'civicrm/admin/options/campaign_status',NULL,'Campaign Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,3,1,0,NULL,'a:3:{s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(432,1,'civicrm/admin/options/engagement_index',NULL,'Engagement Index','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:30:\"/civicrm/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,4,1,0,NULL,'a:3:{s:4:\"desc\";s:18:\"Engagement levels.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(433,1,'civicrm/survey/search','op=interview','Record Respondents Interview','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:30:\"CRM_Campaign_Controller_Search\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(434,1,'civicrm/campaign/gotv',NULL,'GOTV (Track Voters)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"release campaign contacts\";i:3;s:22:\"gotv campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Form_Gotv\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:33:\"/civicrm/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(435,1,'civicrm/petition/add',NULL,'New Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(436,1,'civicrm/petition/sign',NULL,'Sign Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:36:\"CRM_Campaign_Form_Petition_Signature\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(437,1,'civicrm/petition/browse',NULL,'View Petition Signatures','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Campaign_Page_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(438,1,'civicrm/petition/confirm',NULL,'Email address verified','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:34:\"CRM_Campaign_Page_Petition_Confirm\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(439,1,'civicrm/petition/thankyou',NULL,'Thank You','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:35:\"CRM_Campaign_Page_Petition_ThankYou\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(440,1,'civicrm/campaign/registerInterview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','a:2:{i:0;s:22:\"CRM_Campaign_Page_AJAX\";i:1;s:17:\"registerInterview\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:33:\"/civicrm/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(441,1,'civicrm/survey/configure/main',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(442,1,'civicrm/survey/configure/questions',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:34:\"CRM_Campaign_Form_Survey_Questions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(443,1,'civicrm/survey/configure/results',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:32:\"CRM_Campaign_Form_Survey_Results\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(444,1,'civicrm/survey/delete',NULL,'Delete Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:31:\"CRM_Campaign_Form_Survey_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:24:\"/civicrm/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(445,1,'admin',NULL,NULL,NULL,NULL,NULL,NULL,'a:15:{s:26:\"Customize Data and Screens\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:26:\"{weight}.Tags (Categories)\";a:6:{s:5:\"title\";s:17:\"Tags (Categories)\";s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:2:\"id\";s:15:\"Tags_Categories\";s:3:\"url\";s:28:\"/civicrm/civicrm/tag?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Custom Data\";a:6:{s:5:\"title\";s:11:\"Custom Data\";s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:2:\"id\";s:10:\"CustomData\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/custom/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:17:\"{weight}.Profiles\";a:6:{s:5:\"title\";s:8:\"Profiles\";s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:2:\"id\";s:8:\"Profiles\";s:3:\"url\";s:39:\"/civicrm/civicrm/admin/uf/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Activity Types\";a:6:{s:5:\"title\";s:14:\"Activity Types\";s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:2:\"id\";s:13:\"ActivityTypes\";s:3:\"url\";s:52:\"/civicrm/civicrm/admin/options/activity_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Relationship Types\";a:6:{s:5:\"title\";s:18:\"Relationship Types\";s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:2:\"id\";s:17:\"RelationshipTypes\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/reltype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Contact Types\";a:6:{s:5:\"title\";s:13:\"Contact Types\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ContactTypes\";s:3:\"url\";s:46:\"/civicrm/civicrm/admin/options/subtype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Gender Options\";a:6:{s:5:\"title\";s:14:\"Gender Options\";s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:2:\"id\";s:13:\"GenderOptions\";s:3:\"url\";s:45:\"/civicrm/civicrm/admin/options/gender?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Prefixes (Ms, Mr...)\";a:6:{s:5:\"title\";s:31:\"Individual Prefixes (Ms, Mr...)\";s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:2:\"id\";s:27:\"IndividualPrefixes_Ms_Mr...\";s:3:\"url\";s:56:\"/civicrm/civicrm/admin/options/individual_prefix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Suffixes (Jr, Sr...)\";a:6:{s:5:\"title\";s:31:\"Individual Suffixes (Jr, Sr...)\";s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:2:\"id\";s:27:\"IndividualSuffixes_Jr_Sr...\";s:3:\"url\";s:56:\"/civicrm/civicrm/admin/options/individual_suffix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:39:\"{weight}.Location Types (Home, Work...)\";a:6:{s:5:\"title\";s:30:\"Location Types (Home, Work...)\";s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:2:\"id\";s:26:\"LocationTypes_Home_Work...\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/locationType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Website Types\";a:6:{s:5:\"title\";s:13:\"Website Types\";s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:2:\"id\";s:12:\"WebsiteTypes\";s:3:\"url\";s:51:\"/civicrm/civicrm/admin/options/website_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:35:\"{weight}.Instant Messenger Services\";a:6:{s:5:\"title\";s:26:\"Instant Messenger Services\";s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:2:\"id\";s:24:\"InstantMessengerServices\";s:3:\"url\";s:64:\"/civicrm/civicrm/admin/options/instant_messenger_service?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Mobile Phone Providers\";a:6:{s:5:\"title\";s:22:\"Mobile Phone Providers\";s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:2:\"id\";s:20:\"MobilePhoneProviders\";s:3:\"url\";s:54:\"/civicrm/civicrm/admin/options/mobile_provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Phone Type\";a:6:{s:5:\"title\";s:10:\"Phone Type\";s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:2:\"id\";s:9:\"PhoneType\";s:3:\"url\";s:49:\"/civicrm/civicrm/admin/options/phone_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Display Preferences\";a:6:{s:5:\"title\";s:19:\"Display Preferences\";s:4:\"desc\";N;s:2:\"id\";s:18:\"DisplayPreferences\";s:3:\"url\";s:58:\"/civicrm/civicrm/admin/setting/preferences/display?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Search Preferences\";a:6:{s:5:\"title\";s:18:\"Search Preferences\";s:4:\"desc\";N;s:2:\"id\";s:17:\"SearchPreferences\";s:3:\"url\";s:45:\"/civicrm/civicrm/admin/setting/search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Navigation Menu\";a:6:{s:5:\"title\";s:15:\"Navigation Menu\";s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:2:\"id\";s:14:\"NavigationMenu\";s:3:\"url\";s:35:\"/civicrm/civicrm/admin/menu?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Word Replacements\";a:6:{s:5:\"title\";s:17:\"Word Replacements\";s:4:\"desc\";s:18:\"Word Replacements.\";s:2:\"id\";s:16:\"WordReplacements\";s:3:\"url\";s:55:\"/civicrm/civicrm/admin/options/wordreplacements?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Manage Custom Searches\";a:6:{s:5:\"title\";s:22:\"Manage Custom Searches\";s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:2:\"id\";s:20:\"ManageCustomSearches\";s:3:\"url\";s:52:\"/civicrm/civicrm/admin/options/custom_search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:6:\"Manage\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:42:\"{weight}.Find and Merge Duplicate Contacts\";a:6:{s:5:\"title\";s:33:\"Find and Merge Duplicate Contacts\";s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:2:\"id\";s:29:\"FindandMergeDuplicateContacts\";s:3:\"url\";s:44:\"/civicrm/civicrm/contact/deduperules?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Dedupe Exceptions\";a:6:{s:5:\"title\";s:17:\"Dedupe Exceptions\";s:4:\"desc\";N;s:2:\"id\";s:16:\"DedupeExceptions\";s:3:\"url\";s:41:\"/civicrm/civicrm/dedupe/exception?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Scheduled Jobs Log\";a:6:{s:5:\"title\";s:18:\"Scheduled Jobs Log\";s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:2:\"id\";s:16:\"ScheduledJobsLog\";s:3:\"url\";s:37:\"/civicrm/civicrm/admin/joblog?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"CiviContribute\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:32:\"{weight}.Personal Campaign Pages\";a:6:{s:5:\"title\";s:23:\"Personal Campaign Pages\";s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:2:\"id\";s:21:\"PersonalCampaignPages\";s:3:\"url\";s:57:\"/civicrm/civicrm/admin/pcp?context=contribute&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Manage Contribution Pages\";a:6:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:2:\"id\";s:23:\"ManageContributionPages\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Manage Premiums\";a:6:{s:5:\"title\";s:15:\"Manage Premiums\";s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:2:\"id\";s:14:\"ManagePremiums\";s:3:\"url\";s:56:\"/civicrm/civicrm/admin/contribute/managePremiums?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Financial Types\";a:6:{s:5:\"title\";s:15:\"Financial Types\";s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:2:\"id\";s:14:\"FinancialTypes\";s:3:\"url\";s:54:\"/civicrm/civicrm/admin/financial/financialType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Financial Accounts\";a:6:{s:5:\"title\";s:18:\"Financial Accounts\";s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:2:\"id\";s:17:\"FinancialAccounts\";s:3:\"url\";s:57:\"/civicrm/civicrm/admin/financial/financialAccount?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Payment Methods\";a:6:{s:5:\"title\";s:15:\"Payment Methods\";s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:2:\"id\";s:14:\"PaymentMethods\";s:3:\"url\";s:57:\"/civicrm/civicrm/admin/options/payment_instrument?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Accepted Credit Cards\";a:6:{s:5:\"title\";s:21:\"Accepted Credit Cards\";s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:2:\"id\";s:19:\"AcceptedCreditCards\";s:3:\"url\";s:56:\"/civicrm/civicrm/admin/options/accept_creditcard?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Soft Credit Types\";a:6:{s:5:\"title\";s:17:\"Soft Credit Types\";s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:2:\"id\";s:15:\"SoftCreditTypes\";s:3:\"url\";s:55:\"/civicrm/civicrm/admin/options/soft_credit_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:42:\"{weight}.CiviContribute Component Settings\";a:6:{s:5:\"title\";s:33:\"CiviContribute Component Settings\";s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:2:\"id\";s:31:\"CiviContributeComponentSettings\";s:3:\"url\";s:61:\"/civicrm/civicrm/admin/setting/preferences/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"Communications\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:11:{s:46:\"{weight}.Organization Address and Contact Info\";a:6:{s:5:\"title\";s:37:\"Organization Address and Contact Info\";s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:2:\"id\";s:33:\"OrganizationAddressandContactInfo\";s:3:\"url\";s:55:\"/civicrm/civicrm/admin/domain?action=update&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:57:\"/civicrm/civicrm/admin/options/from_email_address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Message Templates\";a:6:{s:5:\"title\";s:17:\"Message Templates\";s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:2:\"id\";s:16:\"MessageTemplates\";s:3:\"url\";s:47:\"/civicrm/civicrm/admin/messageTemplates?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Schedule Reminders\";a:6:{s:5:\"title\";s:18:\"Schedule Reminders\";s:4:\"desc\";s:19:\"Schedule Reminders.\";s:2:\"id\";s:17:\"ScheduleReminders\";s:3:\"url\";s:48:\"/civicrm/civicrm/admin/scheduleReminders?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Preferred Communication Methods\";a:6:{s:5:\"title\";s:31:\"Preferred Communication Methods\";s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:2:\"id\";s:29:\"PreferredCommunicationMethods\";s:3:\"url\";s:69:\"/civicrm/civicrm/admin/options/preferred_communication_method?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Label Formats\";a:6:{s:5:\"title\";s:13:\"Label Formats\";s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:2:\"id\";s:12:\"LabelFormats\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/labelFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Print Page (PDF) Formats\";a:6:{s:5:\"title\";s:24:\"Print Page (PDF) Formats\";s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:2:\"id\";s:20:\"PrintPage_PDFFormats\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/pdfFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Communication Style Options\";a:6:{s:5:\"title\";s:27:\"Communication Style Options\";s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:2:\"id\";s:25:\"CommunicationStyleOptions\";s:3:\"url\";s:58:\"/civicrm/civicrm/admin/options/communication_style?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Email Greeting Formats\";a:6:{s:5:\"title\";s:22:\"Email Greeting Formats\";s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:2:\"id\";s:20:\"EmailGreetingFormats\";s:3:\"url\";s:53:\"/civicrm/civicrm/admin/options/email_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Postal Greeting Formats\";a:6:{s:5:\"title\";s:23:\"Postal Greeting Formats\";s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:2:\"id\";s:21:\"PostalGreetingFormats\";s:3:\"url\";s:54:\"/civicrm/civicrm/admin/options/postal_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Addressee Formats\";a:6:{s:5:\"title\";s:17:\"Addressee Formats\";s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:2:\"id\";s:16:\"AddresseeFormats\";s:3:\"url\";s:48:\"/civicrm/civicrm/admin/options/addressee?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Localization\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:4:{s:39:\"{weight}.Languages, Currency, Locations\";a:6:{s:5:\"title\";s:30:\"Languages, Currency, Locations\";s:4:\"desc\";N;s:2:\"id\";s:28:\"Languages_Currency_Locations\";s:3:\"url\";s:51:\"/civicrm/civicrm/admin/setting/localization?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Address Settings\";a:6:{s:5:\"title\";s:16:\"Address Settings\";s:4:\"desc\";N;s:2:\"id\";s:15:\"AddressSettings\";s:3:\"url\";s:58:\"/civicrm/civicrm/admin/setting/preferences/address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Date Formats\";a:6:{s:5:\"title\";s:12:\"Date Formats\";s:4:\"desc\";N;s:2:\"id\";s:11:\"DateFormats\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/setting/date?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Preferred Languages\";a:6:{s:5:\"title\";s:19:\"Preferred Languages\";s:4:\"desc\";s:30:\"Options for contact languages.\";s:2:\"id\";s:18:\"PreferredLanguages\";s:3:\"url\";s:48:\"/civicrm/civicrm/admin/options/languages?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:21:\"Users and Permissions\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:2:{s:23:\"{weight}.Access Control\";a:6:{s:5:\"title\";s:14:\"Access Control\";s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:2:\"id\";s:13:\"AccessControl\";s:3:\"url\";s:37:\"/civicrm/civicrm/admin/access?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Synchronize Users to Contacts\";a:6:{s:5:\"title\";s:29:\"Synchronize Users to Contacts\";s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:2:\"id\";s:26:\"SynchronizeUserstoContacts\";s:3:\"url\";s:40:\"/civicrm/civicrm/admin/synchUser?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:15:\"System Settings\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:18:{s:32:\"{weight}.Configuration Checklist\";a:6:{s:5:\"title\";s:23:\"Configuration Checklist\";s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:2:\"id\";s:22:\"ConfigurationChecklist\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/configtask?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Enable CiviCRM Components\";a:6:{s:5:\"title\";s:25:\"Enable CiviCRM Components\";s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:2:\"id\";s:23:\"EnableCiviCRMComponents\";s:3:\"url\";s:48:\"/civicrm/civicrm/admin/setting/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Manage Extensions\";a:6:{s:5:\"title\";s:17:\"Manage Extensions\";s:4:\"desc\";s:0:\"\";s:2:\"id\";s:16:\"ManageExtensions\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/extensions?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Outbound Email Settings\";a:6:{s:5:\"title\";s:23:\"Outbound Email Settings\";s:4:\"desc\";N;s:2:\"id\";s:21:\"OutboundEmailSettings\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/setting/smtp?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:37:\"{weight}.Settings - Payment Processor\";a:6:{s:5:\"title\";s:28:\"Settings - Payment Processor\";s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:2:\"id\";s:25:\"Settings-PaymentProcessor\";s:3:\"url\";s:47:\"/civicrm/civicrm/admin/paymentProcessor?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Mapping and Geocoding\";a:6:{s:5:\"title\";s:21:\"Mapping and Geocoding\";s:4:\"desc\";N;s:2:\"id\";s:19:\"MappingandGeocoding\";s:3:\"url\";s:46:\"/civicrm/civicrm/admin/setting/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:62:\"{weight}.Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)\";a:6:{s:5:\"title\";s:53:\"Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)\";s:4:\"desc\";s:91:\"Enable undelete/move to trash feature, detailed change logging, ReCAPTCHA to protect forms.\";s:2:\"id\";s:46:\"Misc_Undelete_PDFs_Limits_Logging_Captcha_etc.\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/setting/misc?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Directories\";a:6:{s:5:\"title\";s:11:\"Directories\";s:4:\"desc\";N;s:2:\"id\";s:11:\"Directories\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/setting/path?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Resource URLs\";a:6:{s:5:\"title\";s:13:\"Resource URLs\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ResourceURLs\";s:3:\"url\";s:42:\"/civicrm/civicrm/admin/setting/url?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Cleanup Caches and Update Paths\";a:6:{s:5:\"title\";s:31:\"Cleanup Caches and Update Paths\";s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:2:\"id\";s:27:\"CleanupCachesandUpdatePaths\";s:3:\"url\";s:58:\"/civicrm/civicrm/admin/setting/updateConfigBackend?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.CMS Database Integration\";a:6:{s:5:\"title\";s:24:\"CMS Database Integration\";s:4:\"desc\";N;s:2:\"id\";s:22:\"CMSDatabaseIntegration\";s:3:\"url\";s:41:\"/civicrm/civicrm/admin/setting/uf?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Safe File Extension Options\";a:6:{s:5:\"title\";s:27:\"Safe File Extension Options\";s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:2:\"id\";s:24:\"SafeFileExtensionOptions\";s:3:\"url\";s:58:\"/civicrm/civicrm/admin/options/safe_file_extension?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Option Groups\";a:6:{s:5:\"title\";s:13:\"Option Groups\";s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:2:\"id\";s:12:\"OptionGroups\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/options?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Import/Export Mappings\";a:6:{s:5:\"title\";s:22:\"Import/Export Mappings\";s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:2:\"id\";s:21:\"Import_ExportMappings\";s:3:\"url\";s:38:\"/civicrm/civicrm/admin/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:18:\"{weight}.Debugging\";a:6:{s:5:\"title\";s:9:\"Debugging\";s:4:\"desc\";N;s:2:\"id\";s:9:\"Debugging\";s:3:\"url\";s:44:\"/civicrm/civicrm/admin/setting/debug?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Multi Site Settings\";a:6:{s:5:\"title\";s:19:\"Multi Site Settings\";s:4:\"desc\";N;s:2:\"id\";s:17:\"MultiSiteSettings\";s:3:\"url\";s:60:\"/civicrm/civicrm/admin/setting/preferences/multisite?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Scheduled Jobs\";a:6:{s:5:\"title\";s:14:\"Scheduled Jobs\";s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:2:\"id\";s:13:\"ScheduledJobs\";s:3:\"url\";s:34:\"/civicrm/civicrm/admin/job?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Sms Providers\";a:6:{s:5:\"title\";s:13:\"Sms Providers\";s:4:\"desc\";s:27:\"To configure a sms provider\";s:2:\"id\";s:12:\"SmsProviders\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/sms/provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"CiviCampaign\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:40:\"{weight}.CiviCampaign Component Settings\";a:6:{s:5:\"title\";s:31:\"CiviCampaign Component Settings\";s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:2:\"id\";s:29:\"CiviCampaignComponentSettings\";s:3:\"url\";s:59:\"/civicrm/civicrm/admin/setting/preferences/campaign?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Survey Types\";a:6:{s:5:\"title\";s:12:\"Survey Types\";s:4:\"desc\";N;s:2:\"id\";s:11:\"SurveyTypes\";s:3:\"url\";s:50:\"/civicrm/civicrm/admin/campaign/surveyType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Campaign Types\";a:6:{s:5:\"title\";s:14:\"Campaign Types\";s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:2:\"id\";s:13:\"CampaignTypes\";s:3:\"url\";s:52:\"/civicrm/civicrm/admin/options/campaign_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Campaign Status\";a:6:{s:5:\"title\";s:15:\"Campaign Status\";s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:2:\"id\";s:14:\"CampaignStatus\";s:3:\"url\";s:54:\"/civicrm/civicrm/admin/options/campaign_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Engagement Index\";a:6:{s:5:\"title\";s:16:\"Engagement Index\";s:4:\"desc\";s:18:\"Engagement levels.\";s:2:\"id\";s:15:\"EngagementIndex\";s:3:\"url\";s:55:\"/civicrm/civicrm/admin/options/engagement_index?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"CiviEvent\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:37:\"{weight}.CiviEvent Component Settings\";a:6:{s:5:\"title\";s:28:\"CiviEvent Component Settings\";s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:2:\"id\";s:26:\"CiviEventComponentSettings\";s:3:\"url\";s:56:\"/civicrm/civicrm/admin/setting/preferences/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Event Name Badge Layouts\";a:6:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:2:\"id\";s:21:\"EventNameBadgeLayouts\";s:3:\"url\";s:60:\"/civicrm/civicrm/admin/badgelayout?action=browse&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Manage Events\";a:6:{s:5:\"title\";s:13:\"Manage Events\";s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:2:\"id\";s:12:\"ManageEvents\";s:3:\"url\";s:36:\"/civicrm/civicrm/admin/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Event Templates\";a:6:{s:5:\"title\";s:15:\"Event Templates\";s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:2:\"id\";s:14:\"EventTemplates\";s:3:\"url\";s:44:\"/civicrm/civicrm/admin/eventTemplate?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Event Types\";a:6:{s:5:\"title\";s:11:\"Event Types\";s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:2:\"id\";s:10:\"EventTypes\";s:3:\"url\";s:49:\"/civicrm/civicrm/admin/options/event_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Participant Status\";a:6:{s:5:\"title\";s:18:\"Participant Status\";s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:2:\"id\";s:17:\"ParticipantStatus\";s:3:\"url\";s:49:\"/civicrm/civicrm/admin/participant_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Participant Role\";a:6:{s:5:\"title\";s:16:\"Participant Role\";s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:2:\"id\";s:15:\"ParticipantRole\";s:3:\"url\";s:55:\"/civicrm/civicrm/admin/options/participant_role?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Participant Listing Templates\";a:6:{s:5:\"title\";s:29:\"Participant Listing Templates\";s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:2:\"id\";s:27:\"ParticipantListingTemplates\";s:3:\"url\";s:58:\"/civicrm/civicrm/admin/options/participant_listing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Conference Slot Labels\";a:6:{s:5:\"title\";s:22:\"Conference Slot Labels\";s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:2:\"id\";s:20:\"ConferenceSlotLabels\";s:3:\"url\";s:54:\"/civicrm/civicrm/admin/options/conference_slot?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviMail\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:36:\"{weight}.CiviMail Component Settings\";a:6:{s:5:\"title\";s:27:\"CiviMail Component Settings\";s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:2:\"id\";s:25:\"CiviMailComponentSettings\";s:3:\"url\";s:58:\"/civicrm/civicrm/admin/setting/preferences/mailing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Mailer Settings\";a:6:{s:5:\"title\";s:15:\"Mailer Settings\";s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:2:\"id\";s:14:\"MailerSettings\";s:3:\"url\";s:35:\"/civicrm/civicrm/admin/mail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:49:\"{weight}.Headers, Footers, and Automated Messages\";a:6:{s:5:\"title\";s:40:\"Headers, Footers, and Automated Messages\";s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:2:\"id\";s:36:\"Headers_Footers_andAutomatedMessages\";s:3:\"url\";s:40:\"/civicrm/civicrm/admin/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:66:\"/civicrm/civicrm/admin/options/from_email_address/civimail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Mail Accounts\";a:6:{s:5:\"title\";s:13:\"Mail Accounts\";s:4:\"desc\";s:32:\"Configure email account setting.\";s:2:\"id\";s:12:\"MailAccounts\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/mailSettings?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:10:\"CiviMember\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:38:\"{weight}.CiviMember Component Settings\";a:6:{s:5:\"title\";s:29:\"CiviMember Component Settings\";s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:2:\"id\";s:27:\"CiviMemberComponentSettings\";s:3:\"url\";s:57:\"/civicrm/civicrm/admin/setting/preferences/member?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Membership Types\";a:6:{s:5:\"title\";s:16:\"Membership Types\";s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:2:\"id\";s:15:\"MembershipTypes\";s:3:\"url\";s:52:\"/civicrm/civicrm/admin/member/membershipType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Membership Status Rules\";a:6:{s:5:\"title\";s:23:\"Membership Status Rules\";s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:2:\"id\";s:21:\"MembershipStatusRules\";s:3:\"url\";s:54:\"/civicrm/civicrm/admin/member/membershipStatus?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Option Lists\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:20:\"{weight}.Grant Types\";a:6:{s:5:\"title\";s:11:\"Grant Types\";s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:2:\"id\";s:10:\"GrantTypes\";s:3:\"url\";s:49:\"/civicrm/civicrm/admin/options/grant_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"Customize\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:19:\"{weight}.Price Sets\";a:6:{s:5:\"title\";s:10:\"Price Sets\";s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:2:\"id\";s:9:\"PriceSets\";s:3:\"url\";s:36:\"/civicrm/civicrm/admin/price?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviCase\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:26:\"{weight}.CiviCase Settings\";a:6:{s:5:\"title\";s:17:\"CiviCase Settings\";s:4:\"desc\";N;s:2:\"id\";s:16:\"CiviCaseSettings\";s:3:\"url\";s:43:\"/civicrm/civicrm/admin/setting/case?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Case Types\";a:6:{s:5:\"title\";s:10:\"Case Types\";s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:2:\"id\";s:9:\"CaseTypes\";s:3:\"url\";s:48:\"/civicrm/civicrm/admin/options/case_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Redaction Rules\";a:6:{s:5:\"title\";s:15:\"Redaction Rules\";s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:2:\"id\";s:14:\"RedactionRules\";s:3:\"url\";s:53:\"/civicrm/civicrm/admin/options/redaction_rule?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Case Statuses\";a:6:{s:5:\"title\";s:13:\"Case Statuses\";s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:2:\"id\";s:12:\"CaseStatuses\";s:3:\"url\";s:50:\"/civicrm/civicrm/admin/options/case_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Encounter Mediums\";a:6:{s:5:\"title\";s:17:\"Encounter Mediums\";s:4:\"desc\";s:26:\"List of encounter mediums.\";s:2:\"id\";s:16:\"EncounterMediums\";s:3:\"url\";s:55:\"/civicrm/civicrm/admin/options/encounter_medium?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:10:\"CiviReport\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:40:\"{weight}.Create New Report from Template\";a:6:{s:5:\"title\";s:31:\"Create New Report from Template\";s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:2:\"id\";s:27:\"CreateNewReportfromTemplate\";s:3:\"url\";s:51:\"/civicrm/civicrm/admin/report/template/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Manage Templates\";a:6:{s:5:\"title\";s:16:\"Manage Templates\";s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:2:\"id\";s:15:\"ManageTemplates\";s:3:\"url\";s:61:\"/civicrm/civicrm/admin/report/options/report_template?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Reports Listing\";a:6:{s:5:\"title\";s:15:\"Reports Listing\";s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:2:\"id\";s:14:\"ReportsListing\";s:3:\"url\";s:42:\"/civicrm/civicrm/admin/report/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}}',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,NULL,'a:0:{}');
+INSERT INTO `civicrm_menu` (`id`, `domain_id`, `path`, `path_arguments`, `title`, `access_callback`, `access_arguments`, `page_callback`, `page_arguments`, `breadcrumb`, `return_url`, `return_url_args`, `component_id`, `is_active`, `is_public`, `is_exposed`, `is_ssl`, `weight`, `type`, `page_type`, `skipBreadcrumb`, `module_data`) VALUES (1,1,'civicrm/ajax/api4',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','s:18:\"CRM_Api4_Page_AJAX\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(2,1,'civicrm/api4',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Api4_Page_Api4Explorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(3,1,'civicrm/import',NULL,'Import','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,400,1,1,NULL,'a:0:{}'),(4,1,'civicrm/import/contact',NULL,'Import Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,410,1,1,NULL,'a:0:{}'),(5,1,'civicrm/import/activity',NULL,'Import Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),(6,1,'civicrm/import/custom','id=%%id%%','Import Multi-value Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Custom_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),(7,1,'civicrm/ajax/status',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Contact_Import_Page_AJAX\";i:1;s:6:\"status\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(8,1,'civicrm/custom/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Custom_Form_CustomData\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(9,1,'civicrm/ajax/optionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:13:\"getOptionList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(10,1,'civicrm/ajax/reorder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:11:\"fixOrdering\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(11,1,'civicrm/ajax/multirecordfieldlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:23:\"getMultiRecordFieldList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(12,1,'civicrm/group',NULL,'Manage Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Group_Page_Group\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,30,1,1,NULL,'a:0:{}'),(13,1,'civicrm/group/search',NULL,'Group Members','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:22:\"/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:7:\"comment\";s:164:\"Note: group search already respect ACL, so a strict permission at url level is not required. A simple/basic permission like \'access CiviCRM\' could be used. CRM-5417\";}'),(14,1,'civicrm/group/add',NULL,'New Group','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:11:\"edit groups\";}i:1;s:3:\"and\";}','s:20:\"CRM_Group_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:22:\"/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(15,1,'civicrm/ajax/grouplist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Group_Page_AJAX\";i:1;s:12:\"getGroupList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(16,1,'civicrm/tag',NULL,'Tags (Categories)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:16:\"CRM_Tag_Page_Tag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,25,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(17,1,'civicrm/tag/edit','action=add','New Tag','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:17:\"CRM_Tag_Form_Edit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:17:\"Tags (Categories)\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(18,1,'civicrm/tag/merge',NULL,'Merge Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:18:\"CRM_Tag_Form_Merge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:17:\"Tags (Categories)\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(19,1,'civicrm/ajax/tagTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:10:\"getTagTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(20,1,'civicrm/payment/form',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Financial_Form_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(21,1,'civicrm/payment/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Financial_Form_PaymentEdit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(22,1,'civicrm',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:0:{}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(23,1,'civicrm/dashboard',NULL,'CiviCRM Home','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,1,NULL,'a:0:{}'),(24,1,'civicrm/dashlet',NULL,'CiviCRM Dashlets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Page_Dashlet\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,1,NULL,'a:0:{}'),(25,1,'civicrm/contact/search',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),(26,1,'civicrm/contact/image',NULL,'Process Uploaded Images','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"CRM_Contact_BAO_Contact\";i:1;s:12:\"processImage\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(27,1,'civicrm/contact/imagefile',NULL,'Get Image File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_ImageFile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(28,1,'civicrm/contact/search/basic',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(29,1,'civicrm/contact/search/advanced',NULL,'Advanced Search','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=512\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,12,1,1,NULL,'a:0:{}'),(30,1,'civicrm/contact/search/builder',NULL,'Search Builder','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:9:\"mode=8192\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,14,1,1,NULL,'a:0:{}'),(31,1,'civicrm/contact/search/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(32,1,'civicrm/contact/search/custom/list',NULL,'Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Page_CustomSearch\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,16,1,1,NULL,'a:0:{}'),(33,1,'civicrm/contact/add',NULL,'New Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(34,1,'civicrm/contact/add/individual','ct=Individual','New Individual','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(35,1,'civicrm/contact/add/household','ct=Household','New Household','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(36,1,'civicrm/contact/add/organization','ct=Organization','New Organization','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(37,1,'civicrm/contact/relatedcontact',NULL,'Edit Related Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_RelatedContact\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(38,1,'civicrm/contact/merge',NULL,'Merge Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:22:\"CRM_Contact_Form_Merge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(39,1,'civicrm/contact/email',NULL,'Email a Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(40,1,'civicrm/contact/map',NULL,'Map Location(s)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_Map\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(41,1,'civicrm/contact/map/event',NULL,'Map Event Location','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_Task_Map_Event\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Map Location(s)\";s:3:\"url\";s:28:\"/civicrm/contact/map?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(42,1,'civicrm/contact/view','cid=%%cid%%','Contact Summary','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Summary\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(43,1,'civicrm/contact/view/delete',NULL,'Delete Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(44,1,'civicrm/contact/view/activity','show=1,cid=%%cid%%','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:21:\"CRM_Activity_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(45,1,'civicrm/activity/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(46,1,'civicrm/activity/email/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(47,1,'civicrm/activity/pdf/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(48,1,'civicrm/contact/view/rel','cid=%%cid%%','Relationships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_Relationship\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(49,1,'civicrm/contact/view/group','cid=%%cid%%','Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_GroupContact\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(50,1,'civicrm/contact/view/smartgroup','cid=%%cid%%','Smart Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:39:\"CRM_Contact_Page_View_ContactSmartGroup\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(51,1,'civicrm/contact/view/note','cid=%%cid%%','Notes','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:26:\"CRM_Contact_Page_View_Note\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(52,1,'civicrm/contact/view/tag','cid=%%cid%%','Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Tag\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(53,1,'civicrm/contact/view/cd',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:32:\"CRM_Contact_Page_View_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(54,1,'civicrm/contact/view/cd/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Form_CustomData\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(55,1,'civicrm/contact/view/vcard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Vcard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(56,1,'civicrm/contact/view/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Print\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(57,1,'civicrm/contact/view/log',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Log\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(58,1,'civicrm/user',NULL,'Contact Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Page_View_UserDashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(59,1,'civicrm/dashlet/activity',NULL,'Activity Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(60,1,'civicrm/dashlet/blog',NULL,'CiviCRM Blog','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Dashlet_Page_Blog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(61,1,'civicrm/dashlet/getting-started',NULL,'CiviCRM Resources','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Dashlet_Page_GettingStarted\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(62,1,'civicrm/ajax/relation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"relationship\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(63,1,'civicrm/ajax/groupTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"groupTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(64,1,'civicrm/ajax/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:11:\"customField\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(65,1,'civicrm/ajax/customvalue',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:17:\"deleteCustomValue\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(66,1,'civicrm/ajax/cmsuser',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"checkUserName\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(67,1,'civicrm/ajax/checkemail',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactEmail\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(68,1,'civicrm/ajax/checkphone',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactPhone\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(69,1,'civicrm/ajax/subtype',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"buildSubTypes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(70,1,'civicrm/ajax/dashboard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"dashboard\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(71,1,'civicrm/ajax/signature',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"getSignature\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(72,1,'civicrm/ajax/pdfFormat',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"pdfFormat\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(73,1,'civicrm/ajax/paperSize',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"paperSize\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(74,1,'civicrm/ajax/contactref',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:31:\"access contact reference fields\";i:1;s:15:\" access CiviCRM\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"contactReference\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(75,1,'civicrm/dashlet/myCases',NULL,'Case Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Dashlet_Page_MyCases\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(76,1,'civicrm/dashlet/allCases',NULL,'All Cases Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_AllCases\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(77,1,'civicrm/dashlet/casedashboard',NULL,'Case Dashboard Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Dashlet_Page_CaseDashboard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"CiviCRM Dashlets\";s:3:\"url\";s:24:\"/civicrm/dashlet?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(78,1,'civicrm/contact/deduperules',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer dedupe rules\";i:1;s:24:\"merge duplicate contacts\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Page_DedupeRules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,105,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),(79,1,'civicrm/contact/dedupefind',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Page_DedupeFind\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(80,1,'civicrm/ajax/dedupefind',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:10:\"getDedupes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(81,1,'civicrm/contact/dedupemerge',NULL,'Batch Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Page_DedupeMerge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(82,1,'civicrm/dedupe/exception',NULL,'Dedupe Exceptions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Page_DedupeException\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,110,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:6:\"Manage\";}'),(83,1,'civicrm/ajax/dedupeRules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"buildDedupeRules\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(84,1,'civicrm/contact/view/useradd','cid=%%cid%%','Add User','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Useradd\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(85,1,'civicrm/ajax/markSelection',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:22:\"selectUnselectContacts\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(86,1,'civicrm/ajax/toggleDedupeSelect',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:18:\"toggleDedupeSelect\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(87,1,'civicrm/ajax/flipDupePairs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"flipDupePairs\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(88,1,'civicrm/activity/sms/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_SMS\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(89,1,'civicrm/ajax/contactrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"view my contact\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:23:\"getContactRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(90,1,'civicrm/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(91,1,'civicrm/pcp/campaign',NULL,'Setup a Personal Campaign Page - Account Information','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(92,1,'civicrm/pcp/info',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_PCP_Page_PCPInfo\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(93,1,'civicrm/admin/pcp','context=contribute','Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Page_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,362,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(94,1,'civicrm/activity','action=add&context=standalone','New Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(95,1,'civicrm/activity/view',NULL,'View Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Form_ActivityView\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(96,1,'civicrm/ajax/activity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:15:\"getCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(97,1,'civicrm/ajax/globalrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseGlobalRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(98,1,'civicrm/ajax/clientrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseClientRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(99,1,'civicrm/ajax/caseroles',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:12:\"getCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(100,1,'civicrm/ajax/contactactivity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:18:\"getContactActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(101,1,'civicrm/ajax/activity/convert',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:21:\"convertToCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(102,1,'civicrm/activity/search',NULL,'Find Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Controller_Search\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(103,1,'civicrm/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Custom_Form_CustomDataByType\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(104,1,'civicrm/profile',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(105,1,'civicrm/profile/create',NULL,'CiviCRM Profile Create','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(106,1,'civicrm/profile/view',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Profile_Page_View\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(107,1,'civicrm/ajax/jqState',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:7:\"jqState\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(108,1,'civicrm/ajax/jqCounty',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:8:\"jqCounty\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(109,1,'civicrm/admin/custom/group',NULL,'Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(110,1,'civicrm/admin/custom/group/field',NULL,'Custom Data Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,11,1,0,0,'a:0:{}'),(111,1,'civicrm/admin/custom/group/field/option',NULL,'Custom Field - Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Custom_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(112,1,'civicrm/admin/custom/group/field/add',NULL,'Custom Field - Add','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(113,1,'civicrm/admin/custom/group/field/update',NULL,'Custom Field - Edit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(114,1,'civicrm/admin/custom/group/field/move',NULL,'Custom Field - Move','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Custom_Form_MoveField\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(115,1,'civicrm/admin/custom/group/field/changetype',NULL,'Custom Field - Change Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Custom_Form_ChangeFieldType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(116,1,'civicrm/admin/uf/group',NULL,'Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(117,1,'civicrm/admin/uf/group/field',NULL,'CiviCRM Profile Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,21,1,0,0,'a:0:{}'),(118,1,'civicrm/admin/uf/group/field/add',NULL,'Add Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,22,1,0,NULL,'a:0:{}'),(119,1,'civicrm/admin/uf/group/field/update',NULL,'Edit Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,23,1,0,NULL,'a:0:{}'),(120,1,'civicrm/admin/uf/group/add',NULL,'New CiviCRM Profile','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,24,1,0,NULL,'a:0:{}'),(121,1,'civicrm/admin/uf/group/update',NULL,'Profile Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,25,1,0,NULL,'a:0:{}'),(122,1,'civicrm/admin/uf/group/setting',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_UF_Form_AdvanceSetting\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,0,1,0,NULL,'a:0:{}'),(123,1,'civicrm/admin/options/activity_type',NULL,'Activity Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(124,1,'civicrm/admin/reltype',NULL,'Relationship Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_RelationshipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,35,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(125,1,'civicrm/admin/options/subtype',NULL,'Contact Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_ContactType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(126,1,'civicrm/admin/options/gender',NULL,'Gender Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,45,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(127,1,'civicrm/admin/options/individual_prefix',NULL,'Individual Prefixes (Ms, Mr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(128,1,'civicrm/admin/options/individual_suffix',NULL,'Individual Suffixes (Jr, Sr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,55,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(129,1,'civicrm/admin/locationType',NULL,'Location Types (Home, Work...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LocationType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(130,1,'civicrm/admin/options/website_type',NULL,'Website Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,65,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(131,1,'civicrm/admin/options/instant_messenger_service',NULL,'Instant Messenger Services','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(132,1,'civicrm/admin/options/mobile_provider',NULL,'Mobile Phone Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(133,1,'civicrm/admin/options/phone_type',NULL,'Phone Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(134,1,'civicrm/admin/setting/preferences/display',NULL,'Display Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Display\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(135,1,'civicrm/admin/setting/search',NULL,'Search Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Form_Setting_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,95,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(136,1,'civicrm/admin/setting/preferences/date',NULL,'View Date Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Page_PreferencesDate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(137,1,'civicrm/admin/menu',NULL,'Navigation Menu','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Navigation\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(138,1,'civicrm/admin/options/wordreplacements',NULL,'Word Replacements','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Form_WordReplacements\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:18:\"Word Replacements.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(139,1,'civicrm/admin/options/custom_search',NULL,'Manage Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),(140,1,'civicrm/admin/domain','action=update','Organization Address and Contact Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contact_Form_Domain\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(141,1,'civicrm/admin/options/from_email_address',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(142,1,'civicrm/admin/messageTemplates',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Page_MessageTemplates\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(143,1,'civicrm/admin/messageTemplates/add',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Form_MessageTemplates\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Message Templates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,262,1,0,NULL,'a:1:{s:4:\"desc\";s:26:\"Add/Edit Message Templates\";}'),(144,1,'civicrm/admin/scheduleReminders',NULL,'Schedule Reminders','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:15:\"edit all events\";}i:1;s:2:\"or\";}','s:32:\"CRM_Admin_Page_ScheduleReminders\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:19:\"Schedule Reminders.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(145,1,'civicrm/admin/weight',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_Weight\";i:1;s:8:\"fixOrder\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(146,1,'civicrm/admin/options/preferred_communication_method',NULL,'Preferred Communication Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(147,1,'civicrm/admin/labelFormats',NULL,'Label Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LabelFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(148,1,'civicrm/admin/pdfFormats',NULL,'Print Page (PDF) Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_PdfFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(149,1,'civicrm/admin/options/communication_style',NULL,'Communication Style Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(150,1,'civicrm/admin/options/email_greeting',NULL,'Email Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(151,1,'civicrm/admin/options/postal_greeting',NULL,'Postal Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:2:{s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(152,1,'civicrm/admin/options/addressee',NULL,'Addressee Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),(153,1,'civicrm/admin/setting/localization',NULL,'Languages, Currency, Locations','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Form_Setting_Localization\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),(154,1,'civicrm/admin/setting/preferences/address',NULL,'Address Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Address\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),(155,1,'civicrm/admin/setting/date',NULL,'Date Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Date\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),(156,1,'civicrm/admin/options/languages',NULL,'Preferred Languages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:30:\"Options for contact languages.\";s:10:\"adminGroup\";s:12:\"Localization\";}'),(157,1,'civicrm/admin/access',NULL,'Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_Access\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),(158,1,'civicrm/admin/access/wp-permissions',NULL,'WordPress Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_ACL_Form_WordPress_Permissions\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Access Control\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:4:\"desc\";s:65:\"Grant access to CiviCRM components and other CiviCRM permissions.\";}'),(159,1,'civicrm/admin/synchUser',NULL,'Synchronize Users to Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_CMSUser\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),(160,1,'civicrm/admin/configtask',NULL,'Configuration Checklist','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_ConfigTaskList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}','civicrm/admin/configtask',NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(161,1,'civicrm/admin/setting/component',NULL,'Enable CiviCRM Components','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(162,1,'civicrm/admin/extensions',NULL,'Manage Extensions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Extensions\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:2:{s:4:\"desc\";s:0:\"\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(163,1,'civicrm/admin/extensions/upgrade',NULL,'Database Upgrades','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Page_ExtensionsUpgrade\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Manage Extensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(164,1,'civicrm/admin/setting/smtp',NULL,'Outbound Email Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Smtp\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(165,1,'civicrm/admin/paymentProcessor',NULL,'Settings - Payment Processor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:29:\"administer payment processors\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_PaymentProcessor\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(166,1,'civicrm/admin/setting/mapping',NULL,'Mapping and Geocoding','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Form_Setting_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(167,1,'civicrm/admin/setting/misc',NULL,'Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Form_Setting_Miscellaneous\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:91:\"Enable undelete/move to trash feature, detailed change logging, ReCAPTCHA to protect forms.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(168,1,'civicrm/admin/setting/path',NULL,'Directories','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Path\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(169,1,'civicrm/admin/setting/url',NULL,'Resource URLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Form_Setting_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(170,1,'civicrm/admin/setting/updateConfigBackend',NULL,'Cleanup Caches and Update Paths','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Admin_Form_Setting_UpdateConfigBackend\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(171,1,'civicrm/admin/setting/uf',NULL,'CMS Database Integration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Form_Setting_UF\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(172,1,'civicrm/admin/options/safe_file_extension',NULL,'Safe File Extension Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(173,1,'civicrm/admin/options',NULL,'Option Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(174,1,'civicrm/admin/mapping',NULL,'Import/Export Mappings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(175,1,'civicrm/admin/setting/debug',NULL,'Debugging','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Debugging\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(176,1,'civicrm/admin/setting/preferences/multisite',NULL,'Multi Site Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,130,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),(177,1,'civicrm/admin/setting/preferences/campaign',NULL,'CiviCampaign Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(178,1,'civicrm/admin/setting/preferences/event',NULL,'CiviEvent Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(179,1,'civicrm/admin/setting/preferences/mailing',NULL,'CiviMail Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Mailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:2:{s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(180,1,'civicrm/admin/setting/preferences/member',NULL,'CiviMember Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Admin_Form_Preferences_Member\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),(181,1,'civicrm/admin/runjobs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:20:\"executeScheduledJobs\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:36:\"URL used for running scheduled jobs.\";}'),(182,1,'civicrm/admin/job',NULL,'Scheduled Jobs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Admin_Page_Job\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1370,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(183,1,'civicrm/admin/joblog',NULL,'Scheduled Jobs Log','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_JobLog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1380,1,0,NULL,'a:2:{s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),(184,1,'civicrm/admin/options/grant_type',NULL,'Grant Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:10:\"adminGroup\";s:12:\"Option Lists\";}'),(185,1,'civicrm/admin/paymentProcessorType',NULL,'Payment Processor Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Page_PaymentProcessorType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:1:{s:4:\"desc\";s:34:\"Payment Processor type information\";}'),(186,1,'civicrm/admin',NULL,'Administer CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Admin_Page_Admin\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,9000,1,1,NULL,'a:0:{}'),(187,1,'civicrm/ajax/navmenu',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:7:\"navMenu\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(188,1,'civicrm/ajax/menutree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:8:\"menuTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(189,1,'civicrm/ajax/statusmsg',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:12:\"getStatusMsg\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(190,1,'civicrm/admin/price',NULL,'Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:10:\"adminGroup\";s:9:\"Customize\";}'),(191,1,'civicrm/admin/price/add','action=add','New Price Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";}'),(192,1,'civicrm/admin/price/field',NULL,'Price Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:20:\"CRM_Price_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,0,'a:0:{}'),(193,1,'civicrm/admin/price/field/option',NULL,'Price Field Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Price_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(194,1,'civicrm/ajax/mapping',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:11:\"mappingList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(195,1,'civicrm/ajax/recipientListing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:16:\"recipientListing\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(196,1,'civicrm/admin/sms/provider',NULL,'Sms Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Provider\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,500,1,0,NULL,'a:2:{s:4:\"desc\";s:27:\"To configure a sms provider\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),(197,1,'civicrm/sms/send',NULL,'New Mass SMS','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:23:\"CRM_SMS_Controller_Send\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),(198,1,'civicrm/sms/callback',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Callback\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(199,1,'civicrm/admin/badgelayout','action=browse','Event Name Badge Layouts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Page_Layout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,399,1,0,NULL,'a:2:{s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(200,1,'civicrm/admin/badgelayout/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Form_Layout\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?reset=1&amp;action=browse\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(201,1,'civicrm/admin/ckeditor',NULL,'Configure CKEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_CKEditorConfig\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(202,1,'civicrm/upgrade',NULL,'Upgrade CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Upgrade_Page_Upgrade\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(203,1,'civicrm/export',NULL,'Download Errors','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(204,1,'civicrm/export/contact',NULL,'Export Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(205,1,'civicrm/export/standalone',NULL,'Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Export_Controller_Standalone\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(206,1,'civicrm/admin/options/acl_role',NULL,'ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(207,1,'civicrm/acl',NULL,'Manage ACLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_ACL_Page_ACL\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(208,1,'civicrm/acl/entityrole',NULL,'Assign Users to ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_ACL_Page_EntityRole\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(209,1,'civicrm/acl/basic',NULL,'ACL','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_ACL_Page_ACLBasic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(210,1,'civicrm/file',NULL,'Browse Uploaded files','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_Page_File\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(211,1,'civicrm/file/delete',NULL,'Delete File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:17:\"CRM_Core_BAO_File\";i:1;s:16:\"deleteAttachment\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:21:\"Browse Uploaded files\";s:3:\"url\";s:21:\"/civicrm/file?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(212,1,'civicrm/friend',NULL,'Tell a Friend','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:15:\"CRM_Friend_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(213,1,'civicrm/logout',NULL,'Log out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:6:\"logout\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,9999,1,1,NULL,'a:0:{}'),(214,1,'civicrm/i18n',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"translate CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_I18n_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(215,1,'civicrm/ajax/attachment',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:29:\"CRM_Core_Page_AJAX_Attachment\";i:1;s:10:\"attachFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(216,1,'civicrm/api',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(217,1,'civicrm/api3',NULL,'CiviCRM API v3','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_APIExplorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(218,1,'civicrm/ajax/apiexample',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:14:\"getExampleFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(219,1,'civicrm/ajax/apidoc',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:6:\"getDoc\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(220,1,'civicrm/ajax/rest',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:4:\"ajax\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(221,1,'civicrm/api/json',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:8:\"ajaxJson\";}','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(222,1,'civicrm/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:12:\"loadTemplate\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(223,1,'civicrm/ajax/chart',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(224,1,'civicrm/asset/builder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"\\Civi\\Core\\AssetBuilder\";i:1;s:7:\"pageRun\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(225,1,'civicrm/contribute/ajax/tableview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(226,1,'civicrm/payment/ipn',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Core_Payment\";i:1;s:9:\"handleIPN\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(227,1,'civicrm/batch',NULL,'Batch Data Entry','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(228,1,'civicrm/batch/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Batch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(229,1,'civicrm/batch/entry',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Entry\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(230,1,'civicrm/ajax/batch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:9:\"batchSave\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(231,1,'civicrm/ajax/batchlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:12:\"getBatchList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(232,1,'civicrm/ajax/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Page_AJAX\";i:1;s:3:\"run\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(233,1,'civicrm/dev/qunit',NULL,'QUnit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:19:\"CRM_Core_Page_QUnit\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(234,1,'civicrm/profile-editor/schema',NULL,'ProfileEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:25:\"CRM_UF_Page_ProfileEditor\";i:1;s:13:\"getSchemaJSON\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(235,1,'civicrm/a',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"\\Civi\\Angular\\Page\\Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(236,1,'civicrm/ajax/angular-modules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"\\Civi\\Angular\\Page\\Modules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(237,1,'civicrm/ajax/recurringentity/update-mode',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:34:\"CRM_Core_Page_AJAX_RecurringEntity\";i:1;s:10:\"updateMode\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(238,1,'civicrm/recurringentity/preview',NULL,'Confirm dates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Core_Page_RecurringEntityPreview\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(239,1,'civicrm/ajax/l10n-js',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Resources\";i:1;s:20:\"outputLocalizationJS\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(240,1,'civicrm/shortcode',NULL,'Insert CiviCRM Content','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Core_Form_ShortCode\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(241,1,'civicrm/task/add-to-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Form_Task_AddToGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(242,1,'civicrm/task/remove-from-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contact_Form_Task_RemoveFromGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(243,1,'civicrm/task/add-to-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contact_Form_Task_AddToTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(244,1,'civicrm/task/remove-from-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Form_Task_RemoveFromTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(245,1,'civicrm/task/send-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(246,1,'civicrm/task/make-mailing-label',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Label\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(247,1,'civicrm/task/pick-profile',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contact_Form_Task_PickProfile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(248,1,'civicrm/task/print-document',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(249,1,'civicrm/task/unhold-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Unhold\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(250,1,'civicrm/task/alter-contact-preference',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contact_Form_Task_AlterPreferences\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(251,1,'civicrm/task/delete-contact',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(252,1,'civicrm/event',NULL,'CiviEvent Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,800,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),(253,1,'civicrm/participant/add','action=add','Register New Participant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),(254,1,'civicrm/event/info',NULL,'Event Information','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(255,1,'civicrm/event/register',NULL,'Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Controller_Registration\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(256,1,'civicrm/event/confirm',NULL,'Confirm Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:46:\"CRM_Event_Form_Registration_ParticipantConfirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(257,1,'civicrm/event/ical',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_ICalendar\";i:1;s:3:\"run\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(258,1,'civicrm/event/list',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','s:19:\"CRM_Event_Page_List\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(259,1,'civicrm/event/participant',NULL,'Event Participants List','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"view event participants\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Page_ParticipantListing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(260,1,'civicrm/admin/event',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(261,1,'civicrm/admin/eventTemplate',NULL,'Event Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Admin_Page_EventTemplate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,375,1,0,NULL,'a:2:{s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(262,1,'civicrm/admin/options/event_type',NULL,'Event Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(263,1,'civicrm/admin/participant_status',NULL,'Participant Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Page_ParticipantStatusType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(264,1,'civicrm/admin/options/participant_role',NULL,'Participant Role','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(265,1,'civicrm/admin/options/participant_listing',NULL,'Participant Listing Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,398,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(266,1,'civicrm/admin/options/conference_slot',NULL,'Conference Slot Labels','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(267,1,'civicrm/event/search',NULL,'Find Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,810,1,1,NULL,'a:0:{}'),(268,1,'civicrm/event/manage',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,820,1,1,NULL,'a:0:{}'),(269,1,'civicrm/event/badge',NULL,'Print Event Name Badge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:25:\"CRM_Event_Form_Task_Badge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(270,1,'civicrm/event/manage/settings',NULL,'Event Info and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,910,1,0,NULL,'a:0:{}'),(271,1,'civicrm/event/manage/location',NULL,'Event Location','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:35:\"CRM_Event_Form_ManageEvent_Location\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),(272,1,'civicrm/event/manage/fee',NULL,'Event Fees','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_ManageEvent_Fee\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,920,1,0,NULL,'a:0:{}'),(273,1,'civicrm/event/manage/registration',NULL,'Event Online Registration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:39:\"CRM_Event_Form_ManageEvent_Registration\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),(274,1,'civicrm/event/manage/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Friend_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,940,1,0,NULL,'a:0:{}'),(275,1,'civicrm/event/manage/reminder',NULL,'Schedule Reminders','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:44:\"CRM_Event_Form_ManageEvent_ScheduleReminders\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),(276,1,'civicrm/event/manage/repeat',NULL,'Repeat Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Form_ManageEvent_Repeat\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,960,1,0,NULL,'a:0:{}'),(277,1,'civicrm/event/manage/conference',NULL,'Conference Slots','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:37:\"CRM_Event_Form_ManageEvent_Conference\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),(278,1,'civicrm/event/add','action=add','New Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,830,1,0,NULL,'a:0:{}'),(279,1,'civicrm/event/import',NULL,'Import Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:23:\"edit event participants\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,840,1,1,NULL,'a:0:{}'),(280,1,'civicrm/event/price',NULL,'Manage Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,850,1,1,NULL,'a:0:{}'),(281,1,'civicrm/event/selfsvcupdate',NULL,'Self-service Registration Update','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Form_SelfSvcUpdate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,880,1,1,NULL,'a:0:{}'),(282,1,'civicrm/event/selfsvctransfer',NULL,'Self-service Registration Transfer','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_SelfSvcTransfer\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,890,1,1,NULL,'a:0:{}'),(283,1,'civicrm/contact/view/participant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,4,1,0,NULL,'a:0:{}'),(284,1,'civicrm/ajax/eventFee',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_Page_AJAX\";i:1;s:8:\"eventFee\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(285,1,'civicrm/ajax/locBlock',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:11:\"getLocBlock\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(286,1,'civicrm/ajax/event/add_participant_to_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:23:\"add_participant_to_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(287,1,'civicrm/ajax/event/remove_participant_from_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:28:\"remove_participant_from_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(288,1,'civicrm/event/add_to_cart',NULL,'Add Event To Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:29:\"CRM_Event_Cart_Page_AddToCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(289,1,'civicrm/event/cart_checkout',NULL,'Cart Checkout','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Controller_Checkout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),(290,1,'civicrm/event/remove_from_cart',NULL,'Remove From Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Page_RemoveFromCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(291,1,'civicrm/event/view_cart',NULL,'View Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Cart_Page_ViewCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(292,1,'civicrm/event/participant/feeselection',NULL,'Change Registration Selections','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:38:\"CRM_Event_Form_ParticipantFeeSelection\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:23:\"Event Participants List\";s:3:\"url\";s:34:\"/civicrm/event/participant?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(293,1,'civicrm/event/manage/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_PCP_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,540,1,1,NULL,'a:0:{}'),(294,1,'civicrm/event/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(295,1,'civicrm/event/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(296,1,'civicrm/contribute',NULL,'CiviContribute Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,500,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(297,1,'civicrm/contribute/add','action=add','New Contribution','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(298,1,'civicrm/contribute/chart',NULL,'Contribution Summary - Chart View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(299,1,'civicrm/contribute/transact',NULL,'CiviContribute','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Controller_Contribution\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,1,0,1,0,NULL,'a:0:{}'),(300,1,'civicrm/admin/contribute',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,360,1,0,NULL,'a:2:{s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(301,1,'civicrm/admin/contribute/settings',NULL,'Title and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_Settings\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:0:{}'),(302,1,'civicrm/admin/contribute/amount',NULL,'Contribution Amounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Amount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:0:{}'),(303,1,'civicrm/admin/contribute/membership',NULL,'Membership Section','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Member_Form_MembershipBlock\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:0:{}'),(304,1,'civicrm/admin/contribute/custom',NULL,'Include Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Custom\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),(305,1,'civicrm/admin/contribute/thankyou',NULL,'Thank-you and Receipting','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_ThankYou\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),(306,1,'civicrm/admin/contribute/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Friend_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,440,1,0,NULL,'a:0:{}'),(307,1,'civicrm/admin/contribute/widget',NULL,'Configure Widget','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Widget\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,460,1,0,NULL,'a:0:{}'),(308,1,'civicrm/admin/contribute/premium',NULL,'Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:44:\"CRM_Contribute_Form_ContributionPage_Premium\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,470,1,0,NULL,'a:0:{}'),(309,1,'civicrm/admin/contribute/addProductToPage',NULL,'Add Products to This Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:47:\"CRM_Contribute_Form_ContributionPage_AddProduct\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,480,1,0,NULL,'a:0:{}'),(310,1,'civicrm/admin/contribute/add','action=add','New Contribution Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Contribute_Controller_ContributionPage\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(311,1,'civicrm/admin/contribute/managePremiums',NULL,'Manage Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Page_ManagePremiums\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,365,1,0,NULL,'a:2:{s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(312,1,'civicrm/admin/financial/financialType',NULL,'Financial Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Financial_Page_FinancialType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,580,1,0,NULL,'a:2:{s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(313,1,'civicrm/payment','action=add','New Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Form_AdditionalPayment\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(314,1,'civicrm/admin/financial/financialAccount',NULL,'Financial Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_FinancialAccount\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(315,1,'civicrm/admin/options/payment_instrument',NULL,'Payment Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(316,1,'civicrm/admin/options/accept_creditcard',NULL,'Accepted Credit Cards','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(317,1,'civicrm/admin/options/soft_credit_type',NULL,'Soft Credit Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(318,1,'civicrm/contact/view/contribution',NULL,'Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(319,1,'civicrm/contact/view/contributionrecur',NULL,'Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:37:\"CRM_Contribute_Page_ContributionRecur\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(320,1,'civicrm/contact/view/contribution/additionalinfo',NULL,'Additional Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:13:\"Contributions\";s:3:\"url\";s:42:\"/civicrm/contact/view/contribution?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(321,1,'civicrm/contribute/search',NULL,'Find Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,510,1,1,NULL,'a:0:{}'),(322,1,'civicrm/contribute/searchBatch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Controller_SearchBatch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,588,1,1,NULL,'a:0:{}'),(323,1,'civicrm/contribute/import',NULL,'Import Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"edit contributions\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,520,1,1,NULL,'a:0:{}'),(324,1,'civicrm/contribute/manage',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,530,1,1,NULL,'a:0:{}'),(325,1,'civicrm/contribute/additionalinfo',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(326,1,'civicrm/ajax/permlocation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:23:\"getPermissionedLocation\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(327,1,'civicrm/contribute/unsubscribe',NULL,'Cancel Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_CancelSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(328,1,'civicrm/contribute/onbehalf',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_Contribution_OnBehalfOf\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(329,1,'civicrm/contribute/updatebilling',NULL,'Update Billing Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contribute_Form_UpdateBilling\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(330,1,'civicrm/contribute/updaterecur',NULL,'Update Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_UpdateSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(331,1,'civicrm/contribute/subscriptionstatus',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Page_SubscriptionStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(332,1,'civicrm/admin/financial/financialType/accounts',NULL,'Financial Type Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:39:\"CRM_Financial_Page_FinancialTypeAccount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:15:\"Financial Types\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,581,1,0,NULL,'a:0:{}'),(333,1,'civicrm/financial/batch',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:33:\"CRM_Financial_Page_FinancialBatch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,585,1,0,NULL,'a:0:{}'),(334,1,'civicrm/financial/financialbatches',NULL,'Accounting Batches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Financial_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,586,1,0,NULL,'a:0:{}'),(335,1,'civicrm/batchtransaction',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_BatchTransaction\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,600,1,0,NULL,'a:0:{}'),(336,1,'civicrm/financial/batch/export',NULL,'Accounting Batch Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:25:\"CRM_Financial_Form_Export\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Accounting Batch\";s:3:\"url\";s:32:\"/civicrm/financial/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,0,NULL,'a:0:{}'),(337,1,'civicrm/payment/view','action=view','View Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contribute_Page_PaymentInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(338,1,'civicrm/admin/setting/preferences/contribute',NULL,'CiviContribute Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Admin_Form_Preferences_Contribute\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),(339,1,'civicrm/contribute/invoice',NULL,'PDF Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Contribute_Form_Task_Invoice\";i:1;s:11:\"getPrintPDF\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,620,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(340,1,'civicrm/contribute/invoice/email',NULL,'Email Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Form_Task_Invoice\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"PDF Invoice\";s:3:\"url\";s:35:\"/civicrm/contribute/invoice?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,630,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(341,1,'civicrm/ajax/softcontributionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:24:\"CRM_Contribute_Page_AJAX\";i:1;s:23:\"getSoftContributionRows\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(342,1,'civicrm/contribute/contributionrecur-payments',NULL,'Recurring Contribution\'s Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Page_ContributionRecurPayments\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(343,1,'civicrm/membership/recurring-contributions',NULL,'Membership Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Member_Page_RecurringContributions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(344,1,'civicrm/admin/contribute/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_PCP_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,450,1,0,NULL,'a:0:{}'),(345,1,'civicrm/contribute/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(346,1,'civicrm/member',NULL,'CiviMember Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:25:\"CRM_Member_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,700,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),(347,1,'civicrm/member/add','action=add','New Membership','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),(348,1,'civicrm/admin/member/membershipType',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Page_MembershipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),(349,1,'civicrm/admin/member/membershipStatus',NULL,'Membership Status Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Member_Page_MembershipStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),(350,1,'civicrm/contact/view/membership','force=1,cid=%%cid%%','Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,2,1,0,NULL,'a:0:{}'),(351,1,'civicrm/membership/view',NULL,'Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipView\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,390,1,0,NULL,'a:0:{}'),(352,1,'civicrm/member/search',NULL,'Find Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,710,1,1,NULL,'a:0:{}'),(353,1,'civicrm/member/import',NULL,'Import Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:16:\"edit memberships\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,720,1,1,NULL,'a:0:{}'),(354,1,'civicrm/ajax/memType',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Member_Page_AJAX\";i:1;s:21:\"getMemberTypeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(355,1,'civicrm/admin/member/membershipType/add',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:16:\"Membership Types\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(356,1,'civicrm/mailing',NULL,'CiviMail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,600,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviMail\";}'),(357,1,'civicrm/admin/mail',NULL,'Mailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Mail\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(358,1,'civicrm/admin/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(359,1,'civicrm/admin/options/from_email_address/civimail',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:4:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}i:3;a:2:{s:5:\"title\";s:20:\"From Email Addresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(360,1,'civicrm/admin/mailSettings',NULL,'Mail Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_MailSettings\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:32:\"Configure email account setting.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),(361,1,'civicrm/mailing/send',NULL,'New Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:27:\"CRM_Mailing_Controller_Send\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),(362,1,'civicrm/mailing/browse/scheduled','scheduled=true','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:5:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";i:4;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),(363,1,'civicrm/mailing/browse/unscheduled','scheduled=false','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),(364,1,'civicrm/mailing/browse/archived',NULL,'Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,625,1,1,NULL,'a:0:{}'),(365,1,'civicrm/mailing/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,630,1,1,NULL,'a:0:{}'),(366,1,'civicrm/mailing/unsubscribe',NULL,'Unsubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Form_Unsubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,640,1,0,NULL,'a:0:{}'),(367,1,'civicrm/mailing/resubscribe',NULL,'Resubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Page_Resubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,645,1,0,NULL,'a:0:{}'),(368,1,'civicrm/mailing/optout',NULL,'Opt-out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Form_Optout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,650,1,0,NULL,'a:0:{}'),(369,1,'civicrm/mailing/confirm',NULL,'Confirm','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:24:\"CRM_Mailing_Page_Confirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),(370,1,'civicrm/mailing/subscribe',NULL,'Subscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Form_Subscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),(371,1,'civicrm/mailing/preview',NULL,'Preview Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Page_Preview\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,670,1,0,NULL,'a:0:{}'),(372,1,'civicrm/mailing/report','mid=%%mid%%','Mailing Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,680,1,0,NULL,'a:0:{}'),(373,1,'civicrm/mailing/forward',NULL,'Forward Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:31:\"CRM_Mailing_Form_ForwardMailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,685,1,0,NULL,'a:0:{}'),(374,1,'civicrm/mailing/queue',NULL,'Sending Mail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,690,1,0,NULL,'a:0:{}'),(375,1,'civicrm/mailing/report/event',NULL,'Mailing Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:22:\"CRM_Mailing_Page_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Mailing Report\";s:3:\"url\";s:47:\"/civicrm/mailing/report?reset=1&amp;mid=%%mid%%\";}}',NULL,NULL,4,NULL,NULL,NULL,0,695,1,0,NULL,'a:0:{}'),(376,1,'civicrm/ajax/template',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:8:\"template\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(377,1,'civicrm/mailing/view',NULL,'View Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:28:\"view public CiviMail content\";i:1;s:15:\"access CiviMail\";i:2;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:21:\"CRM_Mailing_Page_View\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,800,1,0,NULL,'a:0:{}'),(378,1,'civicrm/mailing/approve',NULL,'Approve Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Form_Approve\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,850,1,0,NULL,'a:0:{}'),(379,1,'civicrm/contact/view/mailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:20:\"CRM_Mailing_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(380,1,'civicrm/ajax/contactmailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:18:\"getContactMailings\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(381,1,'civicrm/mailing/url',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:20:\"CRM_Mailing_Page_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(382,1,'civicrm/mailing/open',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:21:\"CRM_Mailing_Page_Open\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(383,1,'civicrm/grant',NULL,'CiviGrant Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1000,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),(384,1,'civicrm/grant/info',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),(385,1,'civicrm/grant/search',NULL,'Find Grants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:27:\"CRM_Grant_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1010,1,1,NULL,'a:0:{}'),(386,1,'civicrm/grant/add','action=add','New Grant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),(387,1,'civicrm/contact/view/grant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(388,1,'civicrm/pledge',NULL,'CiviPledge Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:25:\"CRM_Pledge_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,550,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),(389,1,'civicrm/pledge/search',NULL,'Find Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:28:\"CRM_Pledge_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,560,1,1,NULL,'a:0:{}'),(390,1,'civicrm/contact/view/pledge','force=1,cid=%%cid%%','Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,570,1,0,NULL,'a:0:{}'),(391,1,'civicrm/pledge/add','action=add','New Pledge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),(392,1,'civicrm/pledge/payment',NULL,'Pledge Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:23:\"CRM_Pledge_Page_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,580,1,0,NULL,'a:0:{}'),(393,1,'civicrm/ajax/pledgeAmount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviPledge\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Pledge_Page_AJAX\";i:1;s:17:\"getPledgeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(394,1,'civicrm/case',NULL,'CiviCase Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Case_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,900,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),(395,1,'civicrm/case/add',NULL,'Open Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Case_Form_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),(396,1,'civicrm/case/search',NULL,'Find Cases','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,910,1,1,NULL,'a:0:{}'),(397,1,'civicrm/case/activity',NULL,'Case Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Case_Form_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(398,1,'civicrm/case/report',NULL,'Case Activity Audit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:20:\"CRM_Case_Form_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(399,1,'civicrm/case/cd/edit',NULL,'Case Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(400,1,'civicrm/contact/view/case',NULL,'Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:17:\"CRM_Case_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(401,1,'civicrm/case/activity/view',NULL,'Activity View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Form_ActivityView\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Case Activity\";s:3:\"url\";s:30:\"/civicrm/case/activity?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(402,1,'civicrm/contact/view/case/editClient',NULL,'Assign to Another Client','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Case_Form_EditClient\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:4:\"Case\";s:3:\"url\";s:34:\"/civicrm/contact/view/case?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(403,1,'civicrm/case/addToCase',NULL,'File on Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Case_Form_ActivityToCase\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(404,1,'civicrm/case/details',NULL,'Case Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Case_Page_CaseDetails\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(405,1,'civicrm/admin/setting/case',NULL,'CiviCase Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:8:\"CiviCase\";}'),(406,1,'civicrm/admin/options/case_type',NULL,'Case Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:24:\"url=civicrm/a/#/caseType\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),(407,1,'civicrm/admin/options/redaction_rule',NULL,'Redaction Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),(408,1,'civicrm/admin/options/case_status',NULL,'Case Statuses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),(409,1,'civicrm/admin/options/encounter_medium',NULL,'Encounter Mediums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:26:\"List of encounter mediums.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),(410,1,'civicrm/case/report/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Case_XMLProcessor_Report\";i:1;s:15:\"printCaseReport\";}',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:19:\"Case Activity Audit\";s:3:\"url\";s:28:\"/civicrm/case/report?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(411,1,'civicrm/case/ajax/addclient',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:9:\"addClient\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(412,1,'civicrm/case/ajax/processtags',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"processCaseTags\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),(413,1,'civicrm/case/ajax/details',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:11:\"CaseDetails\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(414,1,'civicrm/ajax/delcaserole',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"deleteCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(415,1,'civicrm/ajax/get-cases',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:8:\"getCases\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(416,1,'civicrm/report',NULL,'CiviReport','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:22:\"CRM_Report_Page_Report\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1200,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviReport\";}'),(417,1,'civicrm/report/list',NULL,'CiviCRM Reports','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(418,1,'civicrm/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1220,1,1,NULL,'a:0:{}'),(419,1,'civicrm/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1241,1,1,NULL,'a:0:{}'),(420,1,'civicrm/admin/report/register',NULL,'Register Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Form_Register\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:30:\"Register the Report templates.\";}'),(421,1,'civicrm/report/instance',NULL,'Report','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Page_Instance\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(422,1,'civicrm/admin/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),(423,1,'civicrm/admin/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),(424,1,'civicrm/admin/report/list',NULL,'Reports Listing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),(425,1,'civicrm/campaign',NULL,'Campaign Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:27:\"CRM_Campaign_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(426,1,'civicrm/campaign/add',NULL,'New Campaign','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Campaign\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(427,1,'civicrm/survey/add',NULL,'New Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(428,1,'civicrm/campaign/vote',NULL,'Conduct Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"reserve campaign contacts\";i:3;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Page_Vote\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(429,1,'civicrm/admin/campaign/surveyType',NULL,'Survey Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCampaign\";}i:1;s:3:\"and\";}','s:28:\"CRM_Campaign_Page_SurveyType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(430,1,'civicrm/admin/options/campaign_type',NULL,'Campaign Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,2,1,0,NULL,'a:3:{s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(431,1,'civicrm/admin/options/campaign_status',NULL,'Campaign Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,3,1,0,NULL,'a:3:{s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(432,1,'civicrm/admin/options/engagement_index',NULL,'Engagement Index','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,4,1,0,NULL,'a:3:{s:4:\"desc\";s:18:\"Engagement levels.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(433,1,'civicrm/survey/search','op=interview','Record Respondents Interview','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:30:\"CRM_Campaign_Controller_Search\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(434,1,'civicrm/campaign/gotv',NULL,'GOTV (Track Voters)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"release campaign contacts\";i:3;s:22:\"gotv campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Form_Gotv\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),(435,1,'civicrm/petition/add',NULL,'New Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(436,1,'civicrm/petition/sign',NULL,'Sign Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:36:\"CRM_Campaign_Form_Petition_Signature\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(437,1,'civicrm/petition/browse',NULL,'View Petition Signatures','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Campaign_Page_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(438,1,'civicrm/petition/confirm',NULL,'Email address verified','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:34:\"CRM_Campaign_Page_Petition_Confirm\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(439,1,'civicrm/petition/thankyou',NULL,'Thank You','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:35:\"CRM_Campaign_Page_Petition_ThankYou\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(440,1,'civicrm/campaign/registerInterview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','a:2:{i:0;s:22:\"CRM_Campaign_Page_AJAX\";i:1;s:17:\"registerInterview\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(441,1,'civicrm/survey/configure/main',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(442,1,'civicrm/survey/configure/questions',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:34:\"CRM_Campaign_Form_Survey_Questions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(443,1,'civicrm/survey/configure/results',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:32:\"CRM_Campaign_Form_Survey_Results\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(444,1,'civicrm/survey/delete',NULL,'Delete Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:31:\"CRM_Campaign_Form_Survey_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(445,1,'admin',NULL,NULL,NULL,NULL,NULL,NULL,'a:15:{s:26:\"Customize Data and Screens\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:26:\"{weight}.Tags (Categories)\";a:6:{s:5:\"title\";s:17:\"Tags (Categories)\";s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:2:\"id\";s:15:\"Tags_Categories\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Custom Data\";a:6:{s:5:\"title\";s:11:\"Custom Data\";s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:2:\"id\";s:10:\"CustomData\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:17:\"{weight}.Profiles\";a:6:{s:5:\"title\";s:8:\"Profiles\";s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:2:\"id\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Activity Types\";a:6:{s:5:\"title\";s:14:\"Activity Types\";s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:2:\"id\";s:13:\"ActivityTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/activity_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Relationship Types\";a:6:{s:5:\"title\";s:18:\"Relationship Types\";s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:2:\"id\";s:17:\"RelationshipTypes\";s:3:\"url\";s:30:\"/civicrm/admin/reltype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Contact Types\";a:6:{s:5:\"title\";s:13:\"Contact Types\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ContactTypes\";s:3:\"url\";s:38:\"/civicrm/admin/options/subtype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Gender Options\";a:6:{s:5:\"title\";s:14:\"Gender Options\";s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:2:\"id\";s:13:\"GenderOptions\";s:3:\"url\";s:37:\"/civicrm/admin/options/gender?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Prefixes (Ms, Mr...)\";a:6:{s:5:\"title\";s:31:\"Individual Prefixes (Ms, Mr...)\";s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:2:\"id\";s:27:\"IndividualPrefixes_Ms_Mr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_prefix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Suffixes (Jr, Sr...)\";a:6:{s:5:\"title\";s:31:\"Individual Suffixes (Jr, Sr...)\";s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:2:\"id\";s:27:\"IndividualSuffixes_Jr_Sr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_suffix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:39:\"{weight}.Location Types (Home, Work...)\";a:6:{s:5:\"title\";s:30:\"Location Types (Home, Work...)\";s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:2:\"id\";s:26:\"LocationTypes_Home_Work...\";s:3:\"url\";s:35:\"/civicrm/admin/locationType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Website Types\";a:6:{s:5:\"title\";s:13:\"Website Types\";s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:2:\"id\";s:12:\"WebsiteTypes\";s:3:\"url\";s:43:\"/civicrm/admin/options/website_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:35:\"{weight}.Instant Messenger Services\";a:6:{s:5:\"title\";s:26:\"Instant Messenger Services\";s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:2:\"id\";s:24:\"InstantMessengerServices\";s:3:\"url\";s:56:\"/civicrm/admin/options/instant_messenger_service?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Mobile Phone Providers\";a:6:{s:5:\"title\";s:22:\"Mobile Phone Providers\";s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:2:\"id\";s:20:\"MobilePhoneProviders\";s:3:\"url\";s:46:\"/civicrm/admin/options/mobile_provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Phone Type\";a:6:{s:5:\"title\";s:10:\"Phone Type\";s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:2:\"id\";s:9:\"PhoneType\";s:3:\"url\";s:41:\"/civicrm/admin/options/phone_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Display Preferences\";a:6:{s:5:\"title\";s:19:\"Display Preferences\";s:4:\"desc\";N;s:2:\"id\";s:18:\"DisplayPreferences\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/display?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Search Preferences\";a:6:{s:5:\"title\";s:18:\"Search Preferences\";s:4:\"desc\";N;s:2:\"id\";s:17:\"SearchPreferences\";s:3:\"url\";s:37:\"/civicrm/admin/setting/search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Navigation Menu\";a:6:{s:5:\"title\";s:15:\"Navigation Menu\";s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:2:\"id\";s:14:\"NavigationMenu\";s:3:\"url\";s:27:\"/civicrm/admin/menu?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Word Replacements\";a:6:{s:5:\"title\";s:17:\"Word Replacements\";s:4:\"desc\";s:18:\"Word Replacements.\";s:2:\"id\";s:16:\"WordReplacements\";s:3:\"url\";s:47:\"/civicrm/admin/options/wordreplacements?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Manage Custom Searches\";a:6:{s:5:\"title\";s:22:\"Manage Custom Searches\";s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:2:\"id\";s:20:\"ManageCustomSearches\";s:3:\"url\";s:44:\"/civicrm/admin/options/custom_search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:6:\"Manage\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:42:\"{weight}.Find and Merge Duplicate Contacts\";a:6:{s:5:\"title\";s:33:\"Find and Merge Duplicate Contacts\";s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:2:\"id\";s:29:\"FindandMergeDuplicateContacts\";s:3:\"url\";s:36:\"/civicrm/contact/deduperules?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Dedupe Exceptions\";a:6:{s:5:\"title\";s:17:\"Dedupe Exceptions\";s:4:\"desc\";N;s:2:\"id\";s:16:\"DedupeExceptions\";s:3:\"url\";s:33:\"/civicrm/dedupe/exception?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Scheduled Jobs Log\";a:6:{s:5:\"title\";s:18:\"Scheduled Jobs Log\";s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:2:\"id\";s:16:\"ScheduledJobsLog\";s:3:\"url\";s:29:\"/civicrm/admin/joblog?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"CiviContribute\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:32:\"{weight}.Personal Campaign Pages\";a:6:{s:5:\"title\";s:23:\"Personal Campaign Pages\";s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:2:\"id\";s:21:\"PersonalCampaignPages\";s:3:\"url\";s:49:\"/civicrm/admin/pcp?context=contribute&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Manage Contribution Pages\";a:6:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:2:\"id\";s:23:\"ManageContributionPages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Manage Premiums\";a:6:{s:5:\"title\";s:15:\"Manage Premiums\";s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:2:\"id\";s:14:\"ManagePremiums\";s:3:\"url\";s:48:\"/civicrm/admin/contribute/managePremiums?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Financial Types\";a:6:{s:5:\"title\";s:15:\"Financial Types\";s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:2:\"id\";s:14:\"FinancialTypes\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Financial Accounts\";a:6:{s:5:\"title\";s:18:\"Financial Accounts\";s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:2:\"id\";s:17:\"FinancialAccounts\";s:3:\"url\";s:49:\"/civicrm/admin/financial/financialAccount?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Payment Methods\";a:6:{s:5:\"title\";s:15:\"Payment Methods\";s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:2:\"id\";s:14:\"PaymentMethods\";s:3:\"url\";s:49:\"/civicrm/admin/options/payment_instrument?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Accepted Credit Cards\";a:6:{s:5:\"title\";s:21:\"Accepted Credit Cards\";s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:2:\"id\";s:19:\"AcceptedCreditCards\";s:3:\"url\";s:48:\"/civicrm/admin/options/accept_creditcard?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Soft Credit Types\";a:6:{s:5:\"title\";s:17:\"Soft Credit Types\";s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:2:\"id\";s:15:\"SoftCreditTypes\";s:3:\"url\";s:47:\"/civicrm/admin/options/soft_credit_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:42:\"{weight}.CiviContribute Component Settings\";a:6:{s:5:\"title\";s:33:\"CiviContribute Component Settings\";s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:2:\"id\";s:31:\"CiviContributeComponentSettings\";s:3:\"url\";s:53:\"/civicrm/admin/setting/preferences/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"Communications\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:11:{s:46:\"{weight}.Organization Address and Contact Info\";a:6:{s:5:\"title\";s:37:\"Organization Address and Contact Info\";s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:2:\"id\";s:33:\"OrganizationAddressandContactInfo\";s:3:\"url\";s:47:\"/civicrm/admin/domain?action=update&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Message Templates\";a:6:{s:5:\"title\";s:17:\"Message Templates\";s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:2:\"id\";s:16:\"MessageTemplates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Schedule Reminders\";a:6:{s:5:\"title\";s:18:\"Schedule Reminders\";s:4:\"desc\";s:19:\"Schedule Reminders.\";s:2:\"id\";s:17:\"ScheduleReminders\";s:3:\"url\";s:40:\"/civicrm/admin/scheduleReminders?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Preferred Communication Methods\";a:6:{s:5:\"title\";s:31:\"Preferred Communication Methods\";s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:2:\"id\";s:29:\"PreferredCommunicationMethods\";s:3:\"url\";s:61:\"/civicrm/admin/options/preferred_communication_method?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Label Formats\";a:6:{s:5:\"title\";s:13:\"Label Formats\";s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:2:\"id\";s:12:\"LabelFormats\";s:3:\"url\";s:35:\"/civicrm/admin/labelFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Print Page (PDF) Formats\";a:6:{s:5:\"title\";s:24:\"Print Page (PDF) Formats\";s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:2:\"id\";s:20:\"PrintPage_PDFFormats\";s:3:\"url\";s:33:\"/civicrm/admin/pdfFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Communication Style Options\";a:6:{s:5:\"title\";s:27:\"Communication Style Options\";s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:2:\"id\";s:25:\"CommunicationStyleOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/communication_style?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Email Greeting Formats\";a:6:{s:5:\"title\";s:22:\"Email Greeting Formats\";s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:2:\"id\";s:20:\"EmailGreetingFormats\";s:3:\"url\";s:45:\"/civicrm/admin/options/email_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Postal Greeting Formats\";a:6:{s:5:\"title\";s:23:\"Postal Greeting Formats\";s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:2:\"id\";s:21:\"PostalGreetingFormats\";s:3:\"url\";s:46:\"/civicrm/admin/options/postal_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Addressee Formats\";a:6:{s:5:\"title\";s:17:\"Addressee Formats\";s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:2:\"id\";s:16:\"AddresseeFormats\";s:3:\"url\";s:40:\"/civicrm/admin/options/addressee?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Localization\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:4:{s:39:\"{weight}.Languages, Currency, Locations\";a:6:{s:5:\"title\";s:30:\"Languages, Currency, Locations\";s:4:\"desc\";N;s:2:\"id\";s:28:\"Languages_Currency_Locations\";s:3:\"url\";s:43:\"/civicrm/admin/setting/localization?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Address Settings\";a:6:{s:5:\"title\";s:16:\"Address Settings\";s:4:\"desc\";N;s:2:\"id\";s:15:\"AddressSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Date Formats\";a:6:{s:5:\"title\";s:12:\"Date Formats\";s:4:\"desc\";N;s:2:\"id\";s:11:\"DateFormats\";s:3:\"url\";s:35:\"/civicrm/admin/setting/date?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Preferred Languages\";a:6:{s:5:\"title\";s:19:\"Preferred Languages\";s:4:\"desc\";s:30:\"Options for contact languages.\";s:2:\"id\";s:18:\"PreferredLanguages\";s:3:\"url\";s:40:\"/civicrm/admin/options/languages?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:21:\"Users and Permissions\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:2:{s:23:\"{weight}.Access Control\";a:6:{s:5:\"title\";s:14:\"Access Control\";s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:2:\"id\";s:13:\"AccessControl\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Synchronize Users to Contacts\";a:6:{s:5:\"title\";s:29:\"Synchronize Users to Contacts\";s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:2:\"id\";s:26:\"SynchronizeUserstoContacts\";s:3:\"url\";s:32:\"/civicrm/admin/synchUser?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:15:\"System Settings\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:18:{s:32:\"{weight}.Configuration Checklist\";a:6:{s:5:\"title\";s:23:\"Configuration Checklist\";s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:2:\"id\";s:22:\"ConfigurationChecklist\";s:3:\"url\";s:33:\"/civicrm/admin/configtask?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Enable CiviCRM Components\";a:6:{s:5:\"title\";s:25:\"Enable CiviCRM Components\";s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:2:\"id\";s:23:\"EnableCiviCRMComponents\";s:3:\"url\";s:40:\"/civicrm/admin/setting/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Manage Extensions\";a:6:{s:5:\"title\";s:17:\"Manage Extensions\";s:4:\"desc\";s:0:\"\";s:2:\"id\";s:16:\"ManageExtensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Outbound Email Settings\";a:6:{s:5:\"title\";s:23:\"Outbound Email Settings\";s:4:\"desc\";N;s:2:\"id\";s:21:\"OutboundEmailSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/smtp?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:37:\"{weight}.Settings - Payment Processor\";a:6:{s:5:\"title\";s:28:\"Settings - Payment Processor\";s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:2:\"id\";s:25:\"Settings-PaymentProcessor\";s:3:\"url\";s:39:\"/civicrm/admin/paymentProcessor?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Mapping and Geocoding\";a:6:{s:5:\"title\";s:21:\"Mapping and Geocoding\";s:4:\"desc\";N;s:2:\"id\";s:19:\"MappingandGeocoding\";s:3:\"url\";s:38:\"/civicrm/admin/setting/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:62:\"{weight}.Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)\";a:6:{s:5:\"title\";s:53:\"Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)\";s:4:\"desc\";s:91:\"Enable undelete/move to trash feature, detailed change logging, ReCAPTCHA to protect forms.\";s:2:\"id\";s:46:\"Misc_Undelete_PDFs_Limits_Logging_Captcha_etc.\";s:3:\"url\";s:35:\"/civicrm/admin/setting/misc?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Directories\";a:6:{s:5:\"title\";s:11:\"Directories\";s:4:\"desc\";N;s:2:\"id\";s:11:\"Directories\";s:3:\"url\";s:35:\"/civicrm/admin/setting/path?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Resource URLs\";a:6:{s:5:\"title\";s:13:\"Resource URLs\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ResourceURLs\";s:3:\"url\";s:34:\"/civicrm/admin/setting/url?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Cleanup Caches and Update Paths\";a:6:{s:5:\"title\";s:31:\"Cleanup Caches and Update Paths\";s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:2:\"id\";s:27:\"CleanupCachesandUpdatePaths\";s:3:\"url\";s:50:\"/civicrm/admin/setting/updateConfigBackend?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.CMS Database Integration\";a:6:{s:5:\"title\";s:24:\"CMS Database Integration\";s:4:\"desc\";N;s:2:\"id\";s:22:\"CMSDatabaseIntegration\";s:3:\"url\";s:33:\"/civicrm/admin/setting/uf?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Safe File Extension Options\";a:6:{s:5:\"title\";s:27:\"Safe File Extension Options\";s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:2:\"id\";s:24:\"SafeFileExtensionOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/safe_file_extension?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Option Groups\";a:6:{s:5:\"title\";s:13:\"Option Groups\";s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:2:\"id\";s:12:\"OptionGroups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Import/Export Mappings\";a:6:{s:5:\"title\";s:22:\"Import/Export Mappings\";s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:2:\"id\";s:21:\"Import_ExportMappings\";s:3:\"url\";s:30:\"/civicrm/admin/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:18:\"{weight}.Debugging\";a:6:{s:5:\"title\";s:9:\"Debugging\";s:4:\"desc\";N;s:2:\"id\";s:9:\"Debugging\";s:3:\"url\";s:36:\"/civicrm/admin/setting/debug?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Multi Site Settings\";a:6:{s:5:\"title\";s:19:\"Multi Site Settings\";s:4:\"desc\";N;s:2:\"id\";s:17:\"MultiSiteSettings\";s:3:\"url\";s:52:\"/civicrm/admin/setting/preferences/multisite?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Scheduled Jobs\";a:6:{s:5:\"title\";s:14:\"Scheduled Jobs\";s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:2:\"id\";s:13:\"ScheduledJobs\";s:3:\"url\";s:26:\"/civicrm/admin/job?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Sms Providers\";a:6:{s:5:\"title\";s:13:\"Sms Providers\";s:4:\"desc\";s:27:\"To configure a sms provider\";s:2:\"id\";s:12:\"SmsProviders\";s:3:\"url\";s:35:\"/civicrm/admin/sms/provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"CiviCampaign\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:40:\"{weight}.CiviCampaign Component Settings\";a:6:{s:5:\"title\";s:31:\"CiviCampaign Component Settings\";s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:2:\"id\";s:29:\"CiviCampaignComponentSettings\";s:3:\"url\";s:51:\"/civicrm/admin/setting/preferences/campaign?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Survey Types\";a:6:{s:5:\"title\";s:12:\"Survey Types\";s:4:\"desc\";N;s:2:\"id\";s:11:\"SurveyTypes\";s:3:\"url\";s:42:\"/civicrm/admin/campaign/surveyType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Campaign Types\";a:6:{s:5:\"title\";s:14:\"Campaign Types\";s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:2:\"id\";s:13:\"CampaignTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/campaign_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Campaign Status\";a:6:{s:5:\"title\";s:15:\"Campaign Status\";s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:2:\"id\";s:14:\"CampaignStatus\";s:3:\"url\";s:46:\"/civicrm/admin/options/campaign_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Engagement Index\";a:6:{s:5:\"title\";s:16:\"Engagement Index\";s:4:\"desc\";s:18:\"Engagement levels.\";s:2:\"id\";s:15:\"EngagementIndex\";s:3:\"url\";s:47:\"/civicrm/admin/options/engagement_index?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"CiviEvent\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:37:\"{weight}.CiviEvent Component Settings\";a:6:{s:5:\"title\";s:28:\"CiviEvent Component Settings\";s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:2:\"id\";s:26:\"CiviEventComponentSettings\";s:3:\"url\";s:48:\"/civicrm/admin/setting/preferences/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Event Name Badge Layouts\";a:6:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:2:\"id\";s:21:\"EventNameBadgeLayouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?action=browse&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Manage Events\";a:6:{s:5:\"title\";s:13:\"Manage Events\";s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:2:\"id\";s:12:\"ManageEvents\";s:3:\"url\";s:28:\"/civicrm/admin/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Event Templates\";a:6:{s:5:\"title\";s:15:\"Event Templates\";s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:2:\"id\";s:14:\"EventTemplates\";s:3:\"url\";s:36:\"/civicrm/admin/eventTemplate?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Event Types\";a:6:{s:5:\"title\";s:11:\"Event Types\";s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:2:\"id\";s:10:\"EventTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/event_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Participant Status\";a:6:{s:5:\"title\";s:18:\"Participant Status\";s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:2:\"id\";s:17:\"ParticipantStatus\";s:3:\"url\";s:41:\"/civicrm/admin/participant_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Participant Role\";a:6:{s:5:\"title\";s:16:\"Participant Role\";s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:2:\"id\";s:15:\"ParticipantRole\";s:3:\"url\";s:47:\"/civicrm/admin/options/participant_role?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Participant Listing Templates\";a:6:{s:5:\"title\";s:29:\"Participant Listing Templates\";s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:2:\"id\";s:27:\"ParticipantListingTemplates\";s:3:\"url\";s:50:\"/civicrm/admin/options/participant_listing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Conference Slot Labels\";a:6:{s:5:\"title\";s:22:\"Conference Slot Labels\";s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:2:\"id\";s:20:\"ConferenceSlotLabels\";s:3:\"url\";s:46:\"/civicrm/admin/options/conference_slot?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviMail\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:36:\"{weight}.CiviMail Component Settings\";a:6:{s:5:\"title\";s:27:\"CiviMail Component Settings\";s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:2:\"id\";s:25:\"CiviMailComponentSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/mailing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Mailer Settings\";a:6:{s:5:\"title\";s:15:\"Mailer Settings\";s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:2:\"id\";s:14:\"MailerSettings\";s:3:\"url\";s:27:\"/civicrm/admin/mail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:49:\"{weight}.Headers, Footers, and Automated Messages\";a:6:{s:5:\"title\";s:40:\"Headers, Footers, and Automated Messages\";s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:2:\"id\";s:36:\"Headers_Footers_andAutomatedMessages\";s:3:\"url\";s:32:\"/civicrm/admin/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:58:\"/civicrm/admin/options/from_email_address/civimail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Mail Accounts\";a:6:{s:5:\"title\";s:13:\"Mail Accounts\";s:4:\"desc\";s:32:\"Configure email account setting.\";s:2:\"id\";s:12:\"MailAccounts\";s:3:\"url\";s:35:\"/civicrm/admin/mailSettings?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:10:\"CiviMember\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:38:\"{weight}.CiviMember Component Settings\";a:6:{s:5:\"title\";s:29:\"CiviMember Component Settings\";s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:2:\"id\";s:27:\"CiviMemberComponentSettings\";s:3:\"url\";s:49:\"/civicrm/admin/setting/preferences/member?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Membership Types\";a:6:{s:5:\"title\";s:16:\"Membership Types\";s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:2:\"id\";s:15:\"MembershipTypes\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Membership Status Rules\";a:6:{s:5:\"title\";s:23:\"Membership Status Rules\";s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:2:\"id\";s:21:\"MembershipStatusRules\";s:3:\"url\";s:46:\"/civicrm/admin/member/membershipStatus?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Option Lists\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:20:\"{weight}.Grant Types\";a:6:{s:5:\"title\";s:11:\"Grant Types\";s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:2:\"id\";s:10:\"GrantTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/grant_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"Customize\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:19:\"{weight}.Price Sets\";a:6:{s:5:\"title\";s:10:\"Price Sets\";s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:2:\"id\";s:9:\"PriceSets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviCase\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:26:\"{weight}.CiviCase Settings\";a:6:{s:5:\"title\";s:17:\"CiviCase Settings\";s:4:\"desc\";N;s:2:\"id\";s:16:\"CiviCaseSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/case?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Case Types\";a:6:{s:5:\"title\";s:10:\"Case Types\";s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:2:\"id\";s:9:\"CaseTypes\";s:3:\"url\";s:40:\"/civicrm/admin/options/case_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Redaction Rules\";a:6:{s:5:\"title\";s:15:\"Redaction Rules\";s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:2:\"id\";s:14:\"RedactionRules\";s:3:\"url\";s:45:\"/civicrm/admin/options/redaction_rule?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Case Statuses\";a:6:{s:5:\"title\";s:13:\"Case Statuses\";s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:2:\"id\";s:12:\"CaseStatuses\";s:3:\"url\";s:42:\"/civicrm/admin/options/case_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Encounter Mediums\";a:6:{s:5:\"title\";s:17:\"Encounter Mediums\";s:4:\"desc\";s:26:\"List of encounter mediums.\";s:2:\"id\";s:16:\"EncounterMediums\";s:3:\"url\";s:47:\"/civicrm/admin/options/encounter_medium?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:10:\"CiviReport\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:40:\"{weight}.Create New Report from Template\";a:6:{s:5:\"title\";s:31:\"Create New Report from Template\";s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:2:\"id\";s:27:\"CreateNewReportfromTemplate\";s:3:\"url\";s:43:\"/civicrm/admin/report/template/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Manage Templates\";a:6:{s:5:\"title\";s:16:\"Manage Templates\";s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:2:\"id\";s:15:\"ManageTemplates\";s:3:\"url\";s:53:\"/civicrm/admin/report/options/report_template?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Reports Listing\";a:6:{s:5:\"title\";s:15:\"Reports Listing\";s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:2:\"id\";s:14:\"ReportsListing\";s:3:\"url\";s:34:\"/civicrm/admin/report/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}}',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,NULL,'a:0:{}');
 /*!40000 ALTER TABLE `civicrm_menu` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -987,7 +987,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_note` WRITE;
 /*!40000 ALTER TABLE `civicrm_note` DISABLE KEYS */;
-INSERT INTO `civicrm_note` (`id`, `entity_table`, `entity_id`, `note`, `contact_id`, `modified_date`, `subject`, `privacy`) VALUES (1,'civicrm_contact',163,'Contact the Commissioner of Charities',1,'2019-11-05 18:06:17',NULL,'0'),(2,'civicrm_contact',2,'Send newsletter for April 2005',1,'2020-01-09 18:34:36',NULL,'0'),(3,'civicrm_contact',137,'Organize the Terry Fox run',1,'2019-08-02 22:26:47',NULL,'0'),(4,'civicrm_contact',58,'Contact the Commissioner of Charities',1,'2019-11-21 15:34:37',NULL,'0'),(5,'civicrm_contact',179,'Arrange for cricket match with Sunil Gavaskar',1,'2019-07-08 20:50:23',NULL,'0'),(6,'civicrm_contact',41,'Connect for presentation',1,'2019-09-18 10:46:02',NULL,'0'),(7,'civicrm_contact',8,'Chart out route map for next 10k run',1,'2020-01-15 16:23:55',NULL,'0'),(8,'civicrm_contact',192,'Get the registration done for NGO status',1,'2020-04-08 11:02:07',NULL,'0'),(9,'civicrm_contact',47,'Organize the Terry Fox run',1,'2019-11-14 10:09:44',NULL,'0'),(10,'civicrm_contact',158,'Organize the Terry Fox run',1,'2020-01-03 02:38:43',NULL,'0'),(11,'civicrm_contact',50,'Reminder screening of \"Black\" on next Friday',1,'2019-08-29 08:14:52',NULL,'0'),(12,'civicrm_contact',92,'Get the registration done for NGO status',1,'2020-03-08 02:16:50',NULL,'0'),(13,'civicrm_contact',154,'Contact the Commissioner of Charities',1,'2019-08-05 03:15:48',NULL,'0'),(14,'civicrm_contact',114,'Get the registration done for NGO status',1,'2019-11-12 13:08:08',NULL,'0'),(15,'civicrm_contact',126,'Organize the Terry Fox run',1,'2019-07-18 12:14:51',NULL,'0'),(16,'civicrm_contact',22,'Connect for presentation',1,'2019-08-02 22:49:17',NULL,'0'),(17,'civicrm_contact',191,'Arrange collection of funds from members',1,'2020-02-13 05:23:59',NULL,'0'),(18,'civicrm_contact',40,'Reminder screening of \"Black\" on next Friday',1,'2019-12-29 03:14:56',NULL,'0'),(19,'civicrm_contact',140,'Contact the Commissioner of Charities',1,'2019-11-05 17:12:58',NULL,'0'),(20,'civicrm_contact',121,'Invite members for the Steve Prefontaine 10k dream run',1,'2020-05-07 01:51:25',NULL,'0');
+INSERT INTO `civicrm_note` (`id`, `entity_table`, `entity_id`, `note`, `contact_id`, `modified_date`, `subject`, `privacy`) VALUES (1,'civicrm_contact',111,'Organize the Terry Fox run',1,'2020-03-15 13:56:17',NULL,'0'),(2,'civicrm_contact',180,'Invite members for the Steve Prefontaine 10k dream run',1,'2019-12-27 08:16:05',NULL,'0'),(3,'civicrm_contact',144,'Reminder screening of \"Black\" on next Friday',1,'2019-08-13 00:36:17',NULL,'0'),(4,'civicrm_contact',144,'Invite members for the Steve Prefontaine 10k dream run',1,'2019-12-08 18:56:53',NULL,'0'),(5,'civicrm_contact',37,'Send newsletter for April 2005',1,'2019-06-27 07:32:14',NULL,'0'),(6,'civicrm_contact',90,'Contact the Commissioner of Charities',1,'2020-05-17 06:21:42',NULL,'0'),(7,'civicrm_contact',76,'Reminder screening of \"Black\" on next Friday',1,'2019-06-30 09:38:54',NULL,'0'),(8,'civicrm_contact',80,'Contact the Commissioner of Charities',1,'2019-12-30 12:22:47',NULL,'0'),(9,'civicrm_contact',129,'Contact the Commissioner of Charities',1,'2019-11-03 06:00:26',NULL,'0'),(10,'civicrm_contact',114,'Organize the Terry Fox run',1,'2019-10-21 16:48:05',NULL,'0'),(11,'civicrm_contact',194,'Get the registration done for NGO status',1,'2019-07-15 09:46:22',NULL,'0'),(12,'civicrm_contact',129,'Send newsletter for April 2005',1,'2019-09-25 20:24:51',NULL,'0'),(13,'civicrm_contact',90,'Send reminder for annual dinner',1,'2019-12-18 08:59:41',NULL,'0'),(14,'civicrm_contact',71,'Arrange collection of funds from members',1,'2019-07-15 18:17:01',NULL,'0'),(15,'civicrm_contact',93,'Get the registration done for NGO status',1,'2020-05-07 01:26:49',NULL,'0'),(16,'civicrm_contact',151,'Get the registration done for NGO status',1,'2019-09-06 03:53:33',NULL,'0'),(17,'civicrm_contact',180,'Contact the Commissioner of Charities',1,'2019-12-14 07:56:34',NULL,'0'),(18,'civicrm_contact',36,'Send reminder for annual dinner',1,'2019-08-07 14:15:32',NULL,'0'),(19,'civicrm_contact',186,'Reminder screening of \"Black\" on next Friday',1,'2020-02-14 02:41:51',NULL,'0'),(20,'civicrm_contact',126,'Arrange for cricket match with Sunil Gavaskar',1,'2020-04-23 20:03:44',NULL,'0');
 /*!40000 ALTER TABLE `civicrm_note` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1026,7 +1026,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_participant` WRITE;
 /*!40000 ALTER TABLE `civicrm_participant` DISABLE KEYS */;
-INSERT INTO `civicrm_participant` (`id`, `contact_id`, `event_id`, `status_id`, `role_id`, `register_date`, `source`, `fee_level`, `is_test`, `is_pay_later`, `fee_amount`, `registered_by_id`, `discount_id`, `fee_currency`, `campaign_id`, `discount_amount`, `cart_id`, `must_wait`, `transferred_to_contact_id`) VALUES (1,189,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(2,49,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(3,55,3,3,'3','2008-05-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(4,124,1,4,'4','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(5,183,2,1,'1','2008-01-10 00:00:00','Check','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(6,41,3,2,'2','2008-03-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(7,20,1,3,'3','2009-07-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(8,84,2,4,'4','2009-03-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(9,43,3,1,'1','2008-02-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(10,60,1,2,'2','2008-02-01 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(11,169,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(12,188,3,4,'4','2009-03-06 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(13,96,1,1,'2','2008-06-04 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(14,154,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(15,97,3,4,'1','2008-07-04 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(16,145,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(17,15,2,2,'3','2008-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(18,119,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(19,129,1,2,'1','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(20,108,2,4,'1','2009-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(21,79,3,1,'4','2008-03-25 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(22,137,1,2,'3','2009-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(23,34,2,4,'1','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(24,139,3,3,'1','2008-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(25,27,3,2,'2','2008-04-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(26,133,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(27,110,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(28,132,3,3,'3','2009-12-12 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(29,198,1,4,'4','2009-12-13 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(30,66,2,1,'1','2009-12-14 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(31,125,3,2,'2','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(32,63,1,3,'3','2009-07-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(33,18,2,4,'4','2009-03-07 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(34,32,3,1,'1','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(35,82,1,2,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(36,164,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(37,101,3,4,'4','2009-03-06 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(38,76,1,1,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(39,70,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(40,141,3,4,'1','2009-12-14 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(41,98,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(42,104,2,2,'3','2009-12-15 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(43,177,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(44,52,1,2,'1','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(45,59,2,4,'1','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(46,121,3,1,'4','2009-12-13 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(47,88,1,2,'3','2009-10-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(48,39,2,4,'1','2009-12-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(49,150,3,3,'1','2009-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(50,7,3,2,'2','2009-04-05 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL);
+INSERT INTO `civicrm_participant` (`id`, `contact_id`, `event_id`, `status_id`, `role_id`, `register_date`, `source`, `fee_level`, `is_test`, `is_pay_later`, `fee_amount`, `registered_by_id`, `discount_id`, `fee_currency`, `campaign_id`, `discount_amount`, `cart_id`, `must_wait`, `transferred_to_contact_id`) VALUES (1,134,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(2,57,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(3,59,3,3,'3','2008-05-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(4,76,1,4,'4','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(5,113,2,1,'1','2008-01-10 00:00:00','Check','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(6,177,3,2,'2','2008-03-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(7,70,1,3,'3','2009-07-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(8,171,2,4,'4','2009-03-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(9,152,3,1,'1','2008-02-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(10,124,1,2,'2','2008-02-01 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(11,1,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(12,23,3,4,'4','2009-03-06 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(13,139,1,1,'2','2008-06-04 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(14,198,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(15,20,3,4,'1','2008-07-04 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(16,119,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(17,159,2,2,'3','2008-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(18,110,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(19,154,1,2,'1','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(20,180,2,4,'1','2009-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(21,161,3,1,'4','2008-03-25 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(22,183,1,2,'3','2009-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(23,51,2,4,'1','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(24,146,3,3,'1','2008-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(25,74,3,2,'2','2008-04-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(26,30,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(27,52,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(28,4,3,3,'3','2009-12-12 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(29,173,1,4,'4','2009-12-13 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(30,27,2,1,'1','2009-12-14 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(31,118,3,2,'2','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(32,3,1,3,'3','2009-07-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(33,83,2,4,'4','2009-03-07 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(34,151,3,1,'1','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(35,188,1,2,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(36,75,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(37,61,3,4,'4','2009-03-06 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(38,197,1,1,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(39,121,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(40,18,3,4,'1','2009-12-14 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(41,162,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(42,68,2,2,'3','2009-12-15 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(43,7,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(44,12,1,2,'1','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(45,11,2,4,'1','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(46,199,3,1,'4','2009-12-13 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(47,141,1,2,'3','2009-10-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(48,164,2,4,'1','2009-12-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(49,142,3,3,'1','2009-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(50,33,3,2,'2','2009-04-05 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_participant` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1036,7 +1036,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_participant_payment` WRITE;
 /*!40000 ALTER TABLE `civicrm_participant_payment` DISABLE KEYS */;
-INSERT INTO `civicrm_participant_payment` (`id`, `participant_id`, `contribution_id`) VALUES (1,50,45),(2,17,46),(3,33,47),(4,7,48),(5,25,49),(6,34,50),(7,23,51),(8,48,52),(9,6,53),(10,9,54),(11,2,55),(12,44,56),(13,3,57),(14,45,58),(15,10,59),(16,32,60),(17,30,61),(18,39,62),(19,38,63),(20,21,64),(21,35,65),(22,8,66),(23,47,67),(24,13,68),(25,15,69),(26,41,70),(27,37,71),(28,42,72),(29,20,73),(30,27,74),(31,18,75),(32,46,76),(33,4,77),(34,31,78),(35,19,79),(36,28,80),(37,26,81),(38,22,82),(39,24,83),(40,40,84),(41,16,85),(42,49,86),(43,14,87),(44,36,88),(45,11,89),(46,43,90),(47,5,91),(48,12,92),(49,1,93),(50,29,94);
+INSERT INTO `civicrm_participant_payment` (`id`, `participant_id`, `contribution_id`) VALUES (1,11,45),(2,32,46),(3,28,47),(4,43,48),(5,45,49),(6,44,50),(7,40,51),(8,15,52),(9,12,53),(10,30,54),(11,26,55),(12,50,56),(13,23,57),(14,27,58),(15,2,59),(16,3,60),(17,37,61),(18,42,62),(19,7,63),(20,25,64),(21,36,65),(22,4,66),(23,33,67),(24,18,68),(25,5,69),(26,31,70),(27,16,71),(28,39,72),(29,10,73),(30,1,74),(31,13,75),(32,47,76),(33,49,77),(34,24,78),(35,34,79),(36,9,80),(37,19,81),(38,17,82),(39,21,83),(40,41,84),(41,48,85),(42,8,86),(43,29,87),(44,6,88),(45,20,89),(46,22,90),(47,35,91),(48,38,92),(49,14,93),(50,46,94);
 /*!40000 ALTER TABLE `civicrm_participant_payment` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1084,7 +1084,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_pcp` WRITE;
 /*!40000 ALTER TABLE `civicrm_pcp` DISABLE KEYS */;
-INSERT INTO `civicrm_pcp` (`id`, `contact_id`, `status_id`, `title`, `intro_text`, `page_text`, `donate_link_text`, `page_id`, `page_type`, `pcp_block_id`, `is_thermometer`, `is_honor_roll`, `goal_amount`, `currency`, `is_active`, `is_notify`) VALUES (1,54,2,'My Personal Civi Fundraiser','I\'m on a mission to get all my friends and family to help support my favorite open-source civic sector CRM.','<p>Friends and family - please help build much needed infrastructure for the civic sector by supporting my personal campaign!</p>\r\n<p><a href=\"https://civicrm.org\">You can learn more about CiviCRM here</a>.</p>\r\n<p>Then click the <strong>Contribute Now</strong> button to go to our easy-to-use online contribution form.</p>','Contribute Now',1,'contribute',1,1,1,5000.00,'USD',1,1);
+INSERT INTO `civicrm_pcp` (`id`, `contact_id`, `status_id`, `title`, `intro_text`, `page_text`, `donate_link_text`, `page_id`, `page_type`, `pcp_block_id`, `is_thermometer`, `is_honor_roll`, `goal_amount`, `currency`, `is_active`, `is_notify`) VALUES (1,177,2,'My Personal Civi Fundraiser','I\'m on a mission to get all my friends and family to help support my favorite open-source civic sector CRM.','<p>Friends and family - please help build much needed infrastructure for the civic sector by supporting my personal campaign!</p>\r\n<p><a href=\"https://civicrm.org\">You can learn more about CiviCRM here</a>.</p>\r\n<p>Then click the <strong>Contribute Now</strong> button to go to our easy-to-use online contribution form.</p>','Contribute Now',1,'contribute',1,1,1,5000.00,'USD',1,1);
 /*!40000 ALTER TABLE `civicrm_pcp` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1104,7 +1104,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_phone` WRITE;
 /*!40000 ALTER TABLE `civicrm_phone` DISABLE KEYS */;
-INSERT INTO `civicrm_phone` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `mobile_provider_id`, `phone`, `phone_ext`, `phone_numeric`, `phone_type_id`) VALUES (1,93,1,1,0,NULL,'466-8553',NULL,'4668553',1),(2,54,1,1,0,NULL,'(220) 301-4912',NULL,'2203014912',2),(3,54,1,0,0,NULL,'(493) 457-5846',NULL,'4934575846',2),(4,103,1,1,0,NULL,'824-2153',NULL,'8242153',1),(5,103,1,0,0,NULL,'(759) 428-5794',NULL,'7594285794',1),(6,195,1,1,0,NULL,'593-2980',NULL,'5932980',2),(7,195,1,0,0,NULL,'(696) 338-4564',NULL,'6963384564',1),(8,172,1,1,0,NULL,'(530) 397-6484',NULL,'5303976484',2),(9,113,1,1,0,NULL,'(447) 706-9481',NULL,'4477069481',1),(10,113,1,0,0,NULL,'510-1842',NULL,'5101842',1),(11,59,1,1,0,NULL,'413-4109',NULL,'4134109',1),(12,59,1,0,0,NULL,'(319) 576-6691',NULL,'3195766691',1),(13,117,1,1,0,NULL,'(543) 340-5227',NULL,'5433405227',1),(14,199,1,1,0,NULL,'364-9645',NULL,'3649645',1),(15,125,1,1,0,NULL,'466-1049',NULL,'4661049',1),(16,125,1,0,0,NULL,'(308) 323-3490',NULL,'3083233490',1),(17,135,1,1,0,NULL,'725-2756',NULL,'7252756',1),(18,177,1,1,0,NULL,'338-6158',NULL,'3386158',1),(19,177,1,0,0,NULL,'876-7810',NULL,'8767810',2),(20,198,1,1,0,NULL,'(361) 225-5014',NULL,'3612255014',2),(21,115,1,1,0,NULL,'680-8407',NULL,'6808407',1),(22,179,1,1,0,NULL,'690-7079',NULL,'6907079',2),(23,124,1,1,0,NULL,'(710) 258-4936',NULL,'7102584936',1),(24,124,1,0,0,NULL,'(816) 442-8789',NULL,'8164428789',1),(25,7,1,1,0,NULL,'(261) 523-6483',NULL,'2615236483',2),(26,7,1,0,0,NULL,'518-9166',NULL,'5189166',1),(27,157,1,1,0,NULL,'464-1562',NULL,'4641562',2),(28,168,1,1,0,NULL,'826-3010',NULL,'8263010',2),(29,164,1,1,0,NULL,'441-3377',NULL,'4413377',1),(30,164,1,0,0,NULL,'(509) 883-8094',NULL,'5098838094',1),(31,48,1,1,0,NULL,'761-9058',NULL,'7619058',1),(32,94,1,1,0,NULL,'210-7913',NULL,'2107913',1),(33,94,1,0,0,NULL,'(547) 250-1681',NULL,'5472501681',2),(34,131,1,1,0,NULL,'(226) 566-3772',NULL,'2265663772',2),(35,149,1,1,0,NULL,'(414) 854-9189',NULL,'4148549189',1),(36,149,1,0,0,NULL,'466-4123',NULL,'4664123',1),(37,57,1,1,0,NULL,'(565) 804-2599',NULL,'5658042599',1),(38,57,1,0,0,NULL,'(701) 315-2994',NULL,'7013152994',1),(39,132,1,1,0,NULL,'(713) 292-9652',NULL,'7132929652',2),(40,132,1,0,0,NULL,'(302) 702-2072',NULL,'3027022072',1),(41,139,1,1,0,NULL,'(522) 441-4447',NULL,'5224414447',1),(42,139,1,0,0,NULL,'777-8982',NULL,'7778982',2),(43,66,1,1,0,NULL,'268-8792',NULL,'2688792',2),(44,58,1,1,0,NULL,'720-5898',NULL,'7205898',2),(45,18,1,1,0,NULL,'357-2218',NULL,'3572218',1),(46,161,1,1,0,NULL,'343-5463',NULL,'3435463',1),(47,98,1,1,0,NULL,'(870) 482-6525',NULL,'8704826525',2),(48,98,1,0,0,NULL,'(301) 270-6997',NULL,'3012706997',1),(49,188,1,1,0,NULL,'218-6441',NULL,'2186441',1),(50,188,1,0,0,NULL,'355-5063',NULL,'3555063',1),(51,47,1,1,0,NULL,'368-4618',NULL,'3684618',1),(52,47,1,0,0,NULL,'582-4052',NULL,'5824052',1),(53,43,1,1,0,NULL,'490-9584',NULL,'4909584',2),(54,43,1,0,0,NULL,'(482) 281-4371',NULL,'4822814371',1),(55,28,1,1,0,NULL,'224-4539',NULL,'2244539',1),(56,70,1,1,0,NULL,'848-2397',NULL,'8482397',1),(57,70,1,0,0,NULL,'626-1427',NULL,'6261427',1),(58,119,1,1,0,NULL,'(821) 624-1965',NULL,'8216241965',2),(59,123,1,1,0,NULL,'298-2905',NULL,'2982905',1),(60,123,1,0,0,NULL,'(233) 405-6790',NULL,'2334056790',2),(61,8,1,1,0,NULL,'(808) 681-8822',NULL,'8086818822',2),(62,38,1,1,0,NULL,'319-8297',NULL,'3198297',2),(63,38,1,0,0,NULL,'400-3425',NULL,'4003425',1),(64,84,1,1,0,NULL,'297-4661',NULL,'2974661',1),(65,84,1,0,0,NULL,'(376) 603-1229',NULL,'3766031229',2),(66,51,1,1,0,NULL,'(410) 346-1355',NULL,'4103461355',1),(67,153,1,1,0,NULL,'(313) 503-4237',NULL,'3135034237',2),(68,153,1,0,0,NULL,'(780) 730-5334',NULL,'7807305334',1),(69,15,1,1,0,NULL,'(824) 202-9557',NULL,'8242029557',1),(70,15,1,0,0,NULL,'487-3969',NULL,'4873969',2),(71,32,1,1,0,NULL,'(554) 333-9055',NULL,'5543339055',2),(72,191,1,1,0,NULL,'217-4885',NULL,'2174885',1),(73,191,1,0,0,NULL,'365-8370',NULL,'3658370',2),(74,146,1,1,0,NULL,'724-4919',NULL,'7244919',1),(75,118,1,1,0,NULL,'(612) 589-4731',NULL,'6125894731',2),(76,118,1,0,0,NULL,'(360) 629-9375',NULL,'3606299375',1),(77,145,1,1,0,NULL,'(324) 411-9094',NULL,'3244119094',2),(78,145,1,0,0,NULL,'290-3087',NULL,'2903087',2),(79,175,1,1,0,NULL,'676-9646',NULL,'6769646',2),(80,17,1,1,0,NULL,'766-9801',NULL,'7669801',2),(81,30,1,1,0,NULL,'715-2344',NULL,'7152344',2),(82,160,1,1,0,NULL,'(672) 371-6186',NULL,'6723716186',2),(83,160,1,0,0,NULL,'203-3944',NULL,'2033944',1),(84,71,1,1,0,NULL,'710-4025',NULL,'7104025',2),(85,71,1,0,0,NULL,'(235) 835-5911',NULL,'2358355911',2),(86,88,1,1,0,NULL,'751-9217',NULL,'7519217',2),(87,74,1,1,0,NULL,'(422) 802-4916',NULL,'4228024916',2),(88,74,1,0,0,NULL,'641-7394',NULL,'6417394',2),(89,64,1,1,0,NULL,'(692) 481-7984',NULL,'6924817984',1),(90,108,1,1,0,NULL,'218-8753',NULL,'2188753',1),(91,108,1,0,0,NULL,'(877) 347-5064',NULL,'8773475064',1),(92,35,1,1,0,NULL,'403-5239',NULL,'4035239',1),(93,35,1,0,0,NULL,'(326) 512-5956',NULL,'3265125956',2),(94,134,1,1,0,NULL,'(737) 675-4029',NULL,'7376754029',1),(95,134,1,0,0,NULL,'486-3818',NULL,'4863818',1),(96,11,1,1,0,NULL,'(503) 291-3514',NULL,'5032913514',1),(97,11,1,0,0,NULL,'527-9321',NULL,'5279321',1),(98,62,1,1,0,NULL,'(432) 476-9689',NULL,'4324769689',2),(99,46,1,1,0,NULL,'(426) 816-5380',NULL,'4268165380',2),(100,46,1,0,0,NULL,'250-4038',NULL,'2504038',2),(101,9,1,1,0,NULL,'(825) 687-3743',NULL,'8256873743',2),(102,20,1,1,0,NULL,'751-3826',NULL,'7513826',2),(103,178,1,1,0,NULL,'(479) 515-2957',NULL,'4795152957',1),(104,178,1,0,0,NULL,'702-1670',NULL,'7021670',1),(105,45,1,1,0,NULL,'686-8894',NULL,'6868894',1),(106,45,1,0,0,NULL,'412-4081',NULL,'4124081',1),(107,142,1,1,0,NULL,'539-8969',NULL,'5398969',2),(108,26,1,1,0,NULL,'(603) 820-9853',NULL,'6038209853',1),(109,141,1,1,0,NULL,'522-5988',NULL,'5225988',1),(110,99,1,1,0,NULL,'(214) 280-3456',NULL,'2142803456',1),(111,120,1,1,0,NULL,'(676) 806-6812',NULL,'6768066812',1),(112,120,1,0,0,NULL,'484-2389',NULL,'4842389',2),(113,60,1,1,0,NULL,'497-4208',NULL,'4974208',1),(114,60,1,0,0,NULL,'701-4362',NULL,'7014362',1),(115,165,1,1,0,NULL,'(612) 353-4329',NULL,'6123534329',1),(116,36,1,1,0,NULL,'(729) 641-9861',NULL,'7296419861',2),(117,12,1,1,0,NULL,'(846) 439-3919',NULL,'8464393919',2),(118,19,1,1,0,NULL,'375-1086',NULL,'3751086',1),(119,19,1,0,0,NULL,'485-6441',NULL,'4856441',1),(120,14,1,1,0,NULL,'(383) 240-7635',NULL,'3832407635',2),(121,14,1,0,0,NULL,'(738) 213-3120',NULL,'7382133120',2),(122,39,1,1,0,NULL,'(773) 382-9349',NULL,'7733829349',2),(123,189,1,1,0,NULL,'(805) 308-9779',NULL,'8053089779',2),(124,151,1,1,0,NULL,'(868) 320-2555',NULL,'8683202555',1),(125,104,1,1,0,NULL,'(846) 825-8066',NULL,'8468258066',2),(126,104,1,0,0,NULL,'(815) 772-4329',NULL,'8157724329',1),(127,3,1,1,0,NULL,'472-6044',NULL,'4726044',2),(128,3,1,0,0,NULL,'(259) 387-9391',NULL,'2593879391',2),(129,194,1,1,0,NULL,'754-5838',NULL,'7545838',2),(130,21,1,1,0,NULL,'(837) 464-2267',NULL,'8374642267',2),(131,21,1,0,0,NULL,'731-9485',NULL,'7319485',2),(132,184,1,1,0,NULL,'(541) 793-4131',NULL,'5417934131',2),(133,127,1,1,0,NULL,'822-2177',NULL,'8222177',1),(134,174,1,1,0,NULL,'(830) 893-5783',NULL,'8308935783',1),(135,174,1,0,0,NULL,'290-2526',NULL,'2902526',1),(136,22,1,1,0,NULL,'(612) 602-9213',NULL,'6126029213',1),(137,81,1,1,0,NULL,'(790) 834-7287',NULL,'7908347287',2),(138,81,1,0,0,NULL,'(219) 221-3761',NULL,'2192213761',1),(139,183,1,1,0,NULL,'(804) 629-4684',NULL,'8046294684',2),(140,192,1,1,0,NULL,'(633) 225-6362',NULL,'6332256362',1),(141,192,1,0,0,NULL,'(678) 336-4866',NULL,'6783364866',1),(142,169,1,1,0,NULL,'785-9177',NULL,'7859177',2),(143,169,1,0,0,NULL,'(346) 543-1858',NULL,'3465431858',1),(144,86,1,1,0,NULL,'(857) 661-2708',NULL,'8576612708',1),(145,86,1,0,0,NULL,'870-7996',NULL,'8707996',2),(146,73,1,1,0,NULL,'391-6294',NULL,'3916294',2),(147,116,1,1,0,NULL,'(409) 854-3630',NULL,'4098543630',2),(148,116,1,0,0,NULL,'400-7798',NULL,'4007798',2),(149,173,1,1,0,NULL,'528-5522',NULL,'5285522',2),(150,87,1,1,0,NULL,'528-1289',NULL,'5281289',1),(151,92,1,1,0,NULL,'343-5622',NULL,'3435622',2),(152,85,1,1,0,NULL,'662-8184',NULL,'6628184',2),(153,85,1,0,0,NULL,'767-9141',NULL,'7679141',1),(154,187,1,1,0,NULL,'630-7634',NULL,'6307634',2),(155,187,1,0,0,NULL,'(608) 855-9066',NULL,'6088559066',1),(156,24,1,1,0,NULL,'(738) 599-8891',NULL,'7385998891',1),(157,NULL,1,0,0,NULL,'204 222-1000',NULL,'2042221000',1),(158,NULL,1,0,0,NULL,'204 223-1000',NULL,'2042231000',1),(159,NULL,1,0,0,NULL,'303 323-1000',NULL,'3033231000',1);
+INSERT INTO `civicrm_phone` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `mobile_provider_id`, `phone`, `phone_ext`, `phone_numeric`, `phone_type_id`) VALUES (1,50,1,1,0,NULL,'305-3316',NULL,'3053316',2),(2,50,1,0,0,NULL,'(454) 624-9474',NULL,'4546249474',2),(3,177,1,1,0,NULL,'(362) 578-7116',NULL,'3625787116',1),(4,177,1,0,0,NULL,'422-6088',NULL,'4226088',1),(5,110,1,1,0,NULL,'(316) 717-9504',NULL,'3167179504',1),(6,97,1,1,0,NULL,'322-2980',NULL,'3222980',2),(7,56,1,1,0,NULL,'(498) 465-7043',NULL,'4984657043',2),(8,75,1,1,0,NULL,'681-1655',NULL,'6811655',1),(9,75,1,0,0,NULL,'297-5311',NULL,'2975311',1),(10,172,1,1,0,NULL,'613-8335',NULL,'6138335',2),(11,172,1,0,0,NULL,'877-1400',NULL,'8771400',2),(12,37,1,1,0,NULL,'450-5259',NULL,'4505259',1),(13,37,1,0,0,NULL,'875-2439',NULL,'8752439',1),(14,175,1,1,0,NULL,'(767) 739-1850',NULL,'7677391850',1),(15,175,1,0,0,NULL,'(648) 530-4866',NULL,'6485304866',1),(16,115,1,1,0,NULL,'597-6703',NULL,'5976703',1),(17,115,1,0,0,NULL,'453-6667',NULL,'4536667',2),(18,198,1,1,0,NULL,'(418) 520-9692',NULL,'4185209692',1),(19,53,1,1,0,NULL,'202-6113',NULL,'2026113',2),(20,18,1,1,0,NULL,'(784) 548-4483',NULL,'7845484483',2),(21,18,1,0,0,NULL,'665-4476',NULL,'6654476',2),(22,27,1,1,0,NULL,'(322) 288-9017',NULL,'3222889017',1),(23,27,1,0,0,NULL,'611-2082',NULL,'6112082',2),(24,44,1,1,0,NULL,'642-6320',NULL,'6426320',2),(25,121,1,1,0,NULL,'(551) 657-9639',NULL,'5516579639',1),(26,121,1,0,0,NULL,'(360) 876-7107',NULL,'3608767107',1),(27,47,1,1,0,NULL,'(600) 860-9782',NULL,'6008609782',1),(28,34,1,1,0,NULL,'615-7064',NULL,'6157064',2),(29,34,1,0,0,NULL,'(539) 304-2310',NULL,'5393042310',1),(30,85,1,1,0,NULL,'570-9522',NULL,'5709522',2),(31,85,1,0,0,NULL,'(544) 666-4455',NULL,'5446664455',2),(32,66,1,1,0,NULL,'601-8744',NULL,'6018744',1),(33,66,1,0,0,NULL,'324-6344',NULL,'3246344',2),(34,157,1,1,0,NULL,'481-2758',NULL,'4812758',1),(35,119,1,1,0,NULL,'(894) 517-8754',NULL,'8945178754',2),(36,10,1,1,0,NULL,'(353) 364-7675',NULL,'3533647675',1),(37,10,1,0,0,NULL,'353-4496',NULL,'3534496',2),(38,194,1,1,0,NULL,'636-8863',NULL,'6368863',2),(39,194,1,0,0,NULL,'(486) 294-5858',NULL,'4862945858',1),(40,142,1,1,0,NULL,'(540) 681-3975',NULL,'5406813975',1),(41,61,1,1,0,NULL,'310-2639',NULL,'3102639',1),(42,164,1,1,0,NULL,'(298) 402-2307',NULL,'2984022307',1),(43,41,1,1,0,NULL,'(607) 554-4804',NULL,'6075544804',1),(44,41,1,0,0,NULL,'(736) 463-2556',NULL,'7364632556',2),(45,116,1,1,0,NULL,'(360) 203-8830',NULL,'3602038830',2),(46,116,1,0,0,NULL,'488-9541',NULL,'4889541',1),(47,188,1,1,0,NULL,'547-3970',NULL,'5473970',1),(48,188,1,0,0,NULL,'456-5806',NULL,'4565806',1),(49,16,1,1,0,NULL,'(443) 847-8214',NULL,'4438478214',2),(50,16,1,0,0,NULL,'(228) 278-1640',NULL,'2282781640',1),(51,118,1,1,0,NULL,'668-5760',NULL,'6685760',1),(52,103,1,1,0,NULL,'227-3072',NULL,'2273072',1),(53,103,1,0,0,NULL,'(884) 379-1124',NULL,'8843791124',2),(54,143,1,1,0,NULL,'(700) 237-1525',NULL,'7002371525',1),(55,143,1,0,0,NULL,'554-9948',NULL,'5549948',2),(56,149,1,1,0,NULL,'(845) 446-1134',NULL,'8454461134',2),(57,149,1,0,0,NULL,'845-3918',NULL,'8453918',2),(58,24,1,1,0,NULL,'(577) 825-3615',NULL,'5778253615',1),(59,24,1,0,0,NULL,'539-8740',NULL,'5398740',2),(60,7,1,1,0,NULL,'343-9667',NULL,'3439667',1),(61,145,1,1,0,NULL,'841-3230',NULL,'8413230',1),(62,145,1,0,0,NULL,'515-7549',NULL,'5157549',2),(63,20,1,1,0,NULL,'623-7946',NULL,'6237946',2),(64,112,1,1,0,NULL,'225-6309',NULL,'2256309',1),(65,69,1,1,0,NULL,'223-1980',NULL,'2231980',2),(66,137,1,1,0,NULL,'530-6553',NULL,'5306553',2),(67,12,1,1,0,NULL,'(657) 850-4185',NULL,'6578504185',2),(68,12,1,0,0,NULL,'(463) 664-4121',NULL,'4636644121',2),(69,129,1,1,0,NULL,'807-9775',NULL,'8079775',2),(70,129,1,0,0,NULL,'770-3380',NULL,'7703380',2),(71,81,1,1,0,NULL,'800-2902',NULL,'8002902',2),(72,81,1,0,0,NULL,'(619) 445-9996',NULL,'6194459996',2),(73,30,1,1,0,NULL,'537-9409',NULL,'5379409',2),(74,78,1,1,0,NULL,'(764) 210-7528',NULL,'7642107528',2),(75,117,1,1,0,NULL,'554-7125',NULL,'5547125',2),(76,86,1,1,0,NULL,'(354) 519-9785',NULL,'3545199785',1),(77,196,1,1,0,NULL,'(728) 634-9991',NULL,'7286349991',1),(78,162,1,1,0,NULL,'299-6586',NULL,'2996586',1),(79,162,1,0,0,NULL,'223-8858',NULL,'2238858',1),(80,84,1,1,0,NULL,'(358) 628-7157',NULL,'3586287157',1),(81,13,1,1,0,NULL,'402-4916',NULL,'4024916',1),(82,180,1,1,0,NULL,'235-7892',NULL,'2357892',2),(83,180,1,0,0,NULL,'(569) 576-6938',NULL,'5695766938',2),(84,132,1,1,0,NULL,'264-5696',NULL,'2645696',2),(85,132,1,0,0,NULL,'(642) 874-3824',NULL,'6428743824',1),(86,109,1,1,0,NULL,'(360) 710-9845',NULL,'3607109845',1),(87,11,1,1,0,NULL,'232-9188',NULL,'2329188',1),(88,11,1,0,0,NULL,'490-4431',NULL,'4904431',2),(89,45,1,1,0,NULL,'(253) 293-5624',NULL,'2532935624',2),(90,45,1,0,0,NULL,'(749) 269-6171',NULL,'7492696171',2),(91,67,1,1,0,NULL,'(203) 511-8494',NULL,'2035118494',1),(92,67,1,0,0,NULL,'853-5016',NULL,'8535016',2),(93,6,1,1,0,NULL,'463-7805',NULL,'4637805',1),(94,6,1,0,0,NULL,'(206) 414-1901',NULL,'2064141901',1),(95,168,1,1,0,NULL,'787-6333',NULL,'7876333',2),(96,200,1,1,0,NULL,'(285) 820-6572',NULL,'2858206572',2),(97,124,1,1,0,NULL,'(330) 379-1414',NULL,'3303791414',2),(98,125,1,1,0,NULL,'491-4701',NULL,'4914701',1),(99,98,1,1,0,NULL,'276-6700',NULL,'2766700',2),(100,166,1,1,0,NULL,'(316) 319-8026',NULL,'3163198026',2),(101,166,1,0,0,NULL,'604-4282',NULL,'6044282',1),(102,19,1,1,0,NULL,'(714) 784-2050',NULL,'7147842050',2),(103,19,1,0,0,NULL,'(638) 778-8461',NULL,'6387788461',2),(104,163,1,1,0,NULL,'505-4418',NULL,'5054418',2),(105,83,1,1,0,NULL,'622-7211',NULL,'6227211',1),(106,83,1,0,0,NULL,'765-7929',NULL,'7657929',2),(107,189,1,1,0,NULL,'(699) 586-7204',NULL,'6995867204',2),(108,151,1,1,0,NULL,'398-1869',NULL,'3981869',1),(109,151,1,0,0,NULL,'816-2055',NULL,'8162055',1),(110,77,1,1,0,NULL,'(295) 673-4854',NULL,'2956734854',2),(111,176,1,1,0,NULL,'(406) 613-1410',NULL,'4066131410',1),(112,140,1,1,0,NULL,'(536) 824-3077',NULL,'5368243077',1),(113,140,1,0,0,NULL,'248-4676',NULL,'2484676',1),(114,150,1,1,0,NULL,'(676) 362-3906',NULL,'6763623906',1),(115,150,1,0,0,NULL,'(211) 414-5184',NULL,'2114145184',1),(116,174,1,1,0,NULL,'556-8340',NULL,'5568340',1),(117,73,1,1,0,NULL,'(297) 341-4134',NULL,'2973414134',2),(118,58,1,1,0,NULL,'(788) 692-1707',NULL,'7886921707',1),(119,58,1,0,0,NULL,'760-9748',NULL,'7609748',1),(120,8,1,1,0,NULL,'(730) 482-1283',NULL,'7304821283',2),(121,107,1,1,0,NULL,'663-5760',NULL,'6635760',2),(122,173,1,1,0,NULL,'220-5472',NULL,'2205472',2),(123,59,1,1,0,NULL,'(206) 892-7746',NULL,'2068927746',2),(124,5,1,1,0,NULL,'(344) 493-1760',NULL,'3444931760',2),(125,5,1,0,0,NULL,'597-5896',NULL,'5975896',1),(126,201,1,1,0,NULL,'367-9832',NULL,'3679832',2),(127,201,1,0,0,NULL,'630-6571',NULL,'6306571',2),(128,126,1,1,0,NULL,'(889) 862-9075',NULL,'8898629075',2),(129,96,1,1,0,NULL,'(274) 548-5083',NULL,'2745485083',2),(130,96,1,0,0,NULL,'(742) 299-5522',NULL,'7422995522',2),(131,141,1,1,0,NULL,'(665) 595-4111',NULL,'6655954111',2),(132,141,1,0,0,NULL,'(694) 354-1214',NULL,'6943541214',1),(133,94,1,1,0,NULL,'(724) 717-5992',NULL,'7247175992',2),(134,94,1,0,0,NULL,'(480) 525-6131',NULL,'4805256131',2),(135,153,1,1,0,NULL,'365-1641',NULL,'3651641',2),(136,191,1,1,0,NULL,'(834) 357-4554',NULL,'8343574554',1),(137,191,1,0,0,NULL,'340-2246',NULL,'3402246',1),(138,32,1,1,0,NULL,'247-6126',NULL,'2476126',2),(139,169,1,1,0,NULL,'508-9530',NULL,'5089530',1),(140,169,1,0,0,NULL,'270-2187',NULL,'2702187',2),(141,133,1,1,0,NULL,'784-7803',NULL,'7847803',1),(142,133,1,0,0,NULL,'(753) 411-8302',NULL,'7534118302',2),(143,184,1,1,0,NULL,'664-7649',NULL,'6647649',2),(144,130,1,1,0,NULL,'643-3945',NULL,'6433945',2),(145,130,1,0,0,NULL,'(436) 446-5599',NULL,'4364465599',1),(146,170,1,1,0,NULL,'763-8218',NULL,'7638218',1),(147,170,1,0,0,NULL,'(251) 898-7794',NULL,'2518987794',2),(148,154,1,1,0,NULL,'(681) 776-7426',NULL,'6817767426',2),(149,154,1,0,0,NULL,'721-5091',NULL,'7215091',2),(150,160,1,1,0,NULL,'(321) 545-9727',NULL,'3215459727',2),(151,160,1,0,0,NULL,'(278) 571-3422',NULL,'2785713422',1),(152,100,1,1,0,NULL,'(436) 832-2265',NULL,'4368322265',1),(153,100,1,0,0,NULL,'(368) 422-1857',NULL,'3684221857',2),(154,72,1,1,0,NULL,'(314) 791-4783',NULL,'3147914783',2),(155,72,1,0,0,NULL,'(793) 318-2359',NULL,'7933182359',1),(156,70,1,1,0,NULL,'697-3705',NULL,'6973705',1),(157,195,1,1,0,NULL,'(884) 369-8149',NULL,'8843698149',2),(158,NULL,1,0,0,NULL,'204 222-1000',NULL,'2042221000',1),(159,NULL,1,0,0,NULL,'204 223-1000',NULL,'2042231000',1),(160,NULL,1,0,0,NULL,'303 323-1000',NULL,'3033231000',1);
 /*!40000 ALTER TABLE `civicrm_phone` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1261,7 +1261,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_relationship` WRITE;
 /*!40000 ALTER TABLE `civicrm_relationship` DISABLE KEYS */;
-INSERT INTO `civicrm_relationship` (`id`, `contact_id_a`, `contact_id_b`, `relationship_type_id`, `start_date`, `end_date`, `is_active`, `description`, `is_permission_a_b`, `is_permission_b_a`, `case_id`) VALUES (1,105,160,1,NULL,NULL,1,NULL,0,0,NULL),(2,71,160,1,NULL,NULL,1,NULL,0,0,NULL),(3,105,75,1,NULL,NULL,1,NULL,0,0,NULL),(4,71,75,1,NULL,NULL,1,NULL,0,0,NULL),(5,71,105,4,NULL,NULL,1,NULL,0,0,NULL),(6,75,156,8,NULL,NULL,1,NULL,0,0,NULL),(7,105,156,8,NULL,NULL,1,NULL,0,0,NULL),(8,71,156,8,NULL,NULL,1,NULL,0,0,NULL),(9,160,156,7,NULL,NULL,0,NULL,0,0,NULL),(10,75,160,2,NULL,NULL,0,NULL,0,0,NULL),(11,34,154,1,NULL,NULL,1,NULL,0,0,NULL),(12,90,154,1,NULL,NULL,1,NULL,0,0,NULL),(13,34,88,1,NULL,NULL,1,NULL,0,0,NULL),(14,90,88,1,NULL,NULL,1,NULL,0,0,NULL),(15,90,34,4,NULL,NULL,1,NULL,0,0,NULL),(16,88,166,8,NULL,NULL,1,NULL,0,0,NULL),(17,34,166,8,NULL,NULL,1,NULL,0,0,NULL),(18,90,166,8,NULL,NULL,1,NULL,0,0,NULL),(19,154,166,7,NULL,NULL,1,NULL,0,0,NULL),(20,88,154,2,NULL,NULL,1,NULL,0,0,NULL),(21,82,74,1,NULL,NULL,1,NULL,0,0,NULL),(22,108,74,1,NULL,NULL,1,NULL,0,0,NULL),(23,82,64,1,NULL,NULL,1,NULL,0,0,NULL),(24,108,64,1,NULL,NULL,1,NULL,0,0,NULL),(25,108,82,4,NULL,NULL,1,NULL,0,0,NULL),(26,64,162,8,NULL,NULL,1,NULL,0,0,NULL),(27,82,162,8,NULL,NULL,1,NULL,0,0,NULL),(28,108,162,8,NULL,NULL,1,NULL,0,0,NULL),(29,74,162,7,NULL,NULL,0,NULL,0,0,NULL),(30,64,74,2,NULL,NULL,0,NULL,0,0,NULL),(31,11,35,1,NULL,NULL,1,NULL,0,0,NULL),(32,42,35,1,NULL,NULL,1,NULL,0,0,NULL),(33,11,134,1,NULL,NULL,1,NULL,0,0,NULL),(34,42,134,1,NULL,NULL,1,NULL,0,0,NULL),(35,42,11,4,NULL,NULL,1,NULL,0,0,NULL),(36,134,136,8,NULL,NULL,1,NULL,0,0,NULL),(37,11,136,8,NULL,NULL,1,NULL,0,0,NULL),(38,42,136,8,NULL,NULL,1,NULL,0,0,NULL),(39,35,136,7,NULL,NULL,1,NULL,0,0,NULL),(40,134,35,2,NULL,NULL,1,NULL,0,0,NULL),(41,197,62,1,NULL,NULL,1,NULL,0,0,NULL),(42,9,62,1,NULL,NULL,1,NULL,0,0,NULL),(43,197,46,1,NULL,NULL,1,NULL,0,0,NULL),(44,9,46,1,NULL,NULL,1,NULL,0,0,NULL),(45,9,197,4,NULL,NULL,1,NULL,0,0,NULL),(46,46,96,8,NULL,NULL,1,NULL,0,0,NULL),(47,197,96,8,NULL,NULL,1,NULL,0,0,NULL),(48,9,96,8,NULL,NULL,1,NULL,0,0,NULL),(49,62,96,7,NULL,NULL,1,NULL,0,0,NULL),(50,46,62,2,NULL,NULL,1,NULL,0,0,NULL),(51,45,20,1,NULL,NULL,1,NULL,0,0,NULL),(52,142,20,1,NULL,NULL,1,NULL,0,0,NULL),(53,45,178,1,NULL,NULL,1,NULL,0,0,NULL),(54,142,178,1,NULL,NULL,1,NULL,0,0,NULL),(55,142,45,4,NULL,NULL,1,NULL,0,0,NULL),(56,178,33,8,NULL,NULL,1,NULL,0,0,NULL),(57,45,33,8,NULL,NULL,1,NULL,0,0,NULL),(58,142,33,8,NULL,NULL,1,NULL,0,0,NULL),(59,20,33,7,NULL,NULL,1,NULL,0,0,NULL),(60,178,20,2,NULL,NULL,1,NULL,0,0,NULL),(61,141,26,1,NULL,NULL,1,NULL,0,0,NULL),(62,190,26,1,NULL,NULL,1,NULL,0,0,NULL),(63,141,170,1,NULL,NULL,1,NULL,0,0,NULL),(64,190,170,1,NULL,NULL,1,NULL,0,0,NULL),(65,190,141,4,NULL,NULL,1,NULL,0,0,NULL),(66,170,158,8,NULL,NULL,1,NULL,0,0,NULL),(67,141,158,8,NULL,NULL,1,NULL,0,0,NULL),(68,190,158,8,NULL,NULL,1,NULL,0,0,NULL),(69,26,158,7,NULL,NULL,1,NULL,0,0,NULL),(70,170,26,2,NULL,NULL,1,NULL,0,0,NULL),(71,29,99,1,NULL,NULL,1,NULL,0,0,NULL),(72,109,99,1,NULL,NULL,1,NULL,0,0,NULL),(73,29,120,1,NULL,NULL,1,NULL,0,0,NULL),(74,109,120,1,NULL,NULL,1,NULL,0,0,NULL),(75,109,29,4,NULL,NULL,1,NULL,0,0,NULL),(76,120,102,8,NULL,NULL,1,NULL,0,0,NULL),(77,29,102,8,NULL,NULL,1,NULL,0,0,NULL),(78,109,102,8,NULL,NULL,1,NULL,0,0,NULL),(79,99,102,7,NULL,NULL,1,NULL,0,0,NULL),(80,120,99,2,NULL,NULL,1,NULL,0,0,NULL),(81,107,41,1,NULL,NULL,1,NULL,0,0,NULL),(82,78,41,1,NULL,NULL,1,NULL,0,0,NULL),(83,107,77,1,NULL,NULL,1,NULL,0,0,NULL),(84,78,77,1,NULL,NULL,1,NULL,0,0,NULL),(85,78,107,4,NULL,NULL,1,NULL,0,0,NULL),(86,77,79,8,NULL,NULL,1,NULL,0,0,NULL),(87,107,79,8,NULL,NULL,1,NULL,0,0,NULL),(88,78,79,8,NULL,NULL,1,NULL,0,0,NULL),(89,41,79,7,NULL,NULL,0,NULL,0,0,NULL),(90,77,41,2,NULL,NULL,0,NULL,0,0,NULL),(91,60,159,1,NULL,NULL,1,NULL,0,0,NULL),(92,165,159,1,NULL,NULL,1,NULL,0,0,NULL),(93,60,97,1,NULL,NULL,1,NULL,0,0,NULL),(94,165,97,1,NULL,NULL,1,NULL,0,0,NULL),(95,165,60,4,NULL,NULL,1,NULL,0,0,NULL),(96,97,148,8,NULL,NULL,1,NULL,0,0,NULL),(97,60,148,8,NULL,NULL,1,NULL,0,0,NULL),(98,165,148,8,NULL,NULL,1,NULL,0,0,NULL),(99,159,148,7,NULL,NULL,0,NULL,0,0,NULL),(100,97,159,2,NULL,NULL,0,NULL,0,0,NULL),(101,19,36,1,NULL,NULL,1,NULL,0,0,NULL),(102,14,36,1,NULL,NULL,1,NULL,0,0,NULL),(103,19,12,1,NULL,NULL,1,NULL,0,0,NULL),(104,14,12,1,NULL,NULL,1,NULL,0,0,NULL),(105,14,19,4,NULL,NULL,1,NULL,0,0,NULL),(106,12,23,8,NULL,NULL,1,NULL,0,0,NULL),(107,19,23,8,NULL,NULL,1,NULL,0,0,NULL),(108,14,23,8,NULL,NULL,1,NULL,0,0,NULL),(109,36,23,7,NULL,NULL,0,NULL,0,0,NULL),(110,12,36,2,NULL,NULL,0,NULL,0,0,NULL),(111,151,39,1,NULL,NULL,1,NULL,0,0,NULL),(112,104,39,1,NULL,NULL,1,NULL,0,0,NULL),(113,151,189,1,NULL,NULL,1,NULL,0,0,NULL),(114,104,189,1,NULL,NULL,1,NULL,0,0,NULL),(115,104,151,4,NULL,NULL,1,NULL,0,0,NULL),(116,189,180,8,NULL,NULL,1,NULL,0,0,NULL),(117,151,180,8,NULL,NULL,1,NULL,0,0,NULL),(118,104,180,8,NULL,NULL,1,NULL,0,0,NULL),(119,39,180,7,NULL,NULL,1,NULL,0,0,NULL),(120,189,39,2,NULL,NULL,1,NULL,0,0,NULL),(121,3,40,1,NULL,NULL,1,NULL,0,0,NULL),(122,194,40,1,NULL,NULL,1,NULL,0,0,NULL),(123,3,133,1,NULL,NULL,1,NULL,0,0,NULL),(124,194,133,1,NULL,NULL,1,NULL,0,0,NULL),(125,194,3,4,NULL,NULL,1,NULL,0,0,NULL),(126,133,201,8,NULL,NULL,1,NULL,0,0,NULL),(127,3,201,8,NULL,NULL,1,NULL,0,0,NULL),(128,194,201,8,NULL,NULL,1,NULL,0,0,NULL),(129,40,201,7,NULL,NULL,1,NULL,0,0,NULL),(130,133,40,2,NULL,NULL,1,NULL,0,0,NULL),(131,21,110,1,NULL,NULL,1,NULL,0,0,NULL),(132,184,110,1,NULL,NULL,1,NULL,0,0,NULL),(133,21,111,1,NULL,NULL,1,NULL,0,0,NULL),(134,184,111,1,NULL,NULL,1,NULL,0,0,NULL),(135,184,21,4,NULL,NULL,1,NULL,0,0,NULL),(136,111,25,8,NULL,NULL,1,NULL,0,0,NULL),(137,21,25,8,NULL,NULL,1,NULL,0,0,NULL),(138,184,25,8,NULL,NULL,1,NULL,0,0,NULL),(139,110,25,7,NULL,NULL,1,NULL,0,0,NULL),(140,111,110,2,NULL,NULL,1,NULL,0,0,NULL),(141,22,127,1,NULL,NULL,1,NULL,0,0,NULL),(142,81,127,1,NULL,NULL,1,NULL,0,0,NULL),(143,22,174,1,NULL,NULL,1,NULL,0,0,NULL),(144,81,174,1,NULL,NULL,1,NULL,0,0,NULL),(145,81,22,4,NULL,NULL,1,NULL,0,0,NULL),(146,174,95,8,NULL,NULL,1,NULL,0,0,NULL),(147,22,95,8,NULL,NULL,1,NULL,0,0,NULL),(148,81,95,8,NULL,NULL,1,NULL,0,0,NULL),(149,127,95,7,NULL,NULL,0,NULL,0,0,NULL),(150,174,127,2,NULL,NULL,0,NULL,0,0,NULL),(151,192,186,1,NULL,NULL,1,NULL,0,0,NULL),(152,169,186,1,NULL,NULL,1,NULL,0,0,NULL),(153,192,183,1,NULL,NULL,1,NULL,0,0,NULL),(154,169,183,1,NULL,NULL,1,NULL,0,0,NULL),(155,169,192,4,NULL,NULL,1,NULL,0,0,NULL),(156,183,130,8,NULL,NULL,1,NULL,0,0,NULL),(157,192,130,8,NULL,NULL,1,NULL,0,0,NULL),(158,169,130,8,NULL,NULL,1,NULL,0,0,NULL),(159,186,130,7,NULL,NULL,0,NULL,0,0,NULL),(160,183,186,2,NULL,NULL,0,NULL,0,0,NULL),(161,86,61,1,NULL,NULL,1,NULL,0,0,NULL),(162,114,61,1,NULL,NULL,1,NULL,0,0,NULL),(163,86,138,1,NULL,NULL,1,NULL,0,0,NULL),(164,114,138,1,NULL,NULL,1,NULL,0,0,NULL),(165,114,86,4,NULL,NULL,1,NULL,0,0,NULL),(166,138,100,8,NULL,NULL,1,NULL,0,0,NULL),(167,86,100,8,NULL,NULL,1,NULL,0,0,NULL),(168,114,100,8,NULL,NULL,1,NULL,0,0,NULL),(169,61,100,7,NULL,NULL,0,NULL,0,0,NULL),(170,138,61,2,NULL,NULL,0,NULL,0,0,NULL),(171,181,73,1,NULL,NULL,1,NULL,0,0,NULL),(172,116,73,1,NULL,NULL,1,NULL,0,0,NULL),(173,181,56,1,NULL,NULL,1,NULL,0,0,NULL),(174,116,56,1,NULL,NULL,1,NULL,0,0,NULL),(175,116,181,4,NULL,NULL,1,NULL,0,0,NULL),(176,56,89,8,NULL,NULL,1,NULL,0,0,NULL),(177,181,89,8,NULL,NULL,1,NULL,0,0,NULL),(178,116,89,8,NULL,NULL,1,NULL,0,0,NULL),(179,73,89,7,NULL,NULL,1,NULL,0,0,NULL),(180,56,73,2,NULL,NULL,1,NULL,0,0,NULL),(181,92,173,1,NULL,NULL,1,NULL,0,0,NULL),(182,85,173,1,NULL,NULL,1,NULL,0,0,NULL),(183,92,87,1,NULL,NULL,1,NULL,0,0,NULL),(184,85,87,1,NULL,NULL,1,NULL,0,0,NULL),(185,85,92,4,NULL,NULL,1,NULL,0,0,NULL),(186,87,193,8,NULL,NULL,1,NULL,0,0,NULL),(187,92,193,8,NULL,NULL,1,NULL,0,0,NULL),(188,85,193,8,NULL,NULL,1,NULL,0,0,NULL),(189,173,193,7,NULL,NULL,0,NULL,0,0,NULL),(190,87,173,2,NULL,NULL,0,NULL,0,0,NULL),(191,143,187,1,NULL,NULL,1,NULL,0,0,NULL),(192,24,187,1,NULL,NULL,1,NULL,0,0,NULL),(193,143,128,1,NULL,NULL,1,NULL,0,0,NULL),(194,24,128,1,NULL,NULL,1,NULL,0,0,NULL),(195,24,143,4,NULL,NULL,1,NULL,0,0,NULL),(196,128,31,8,NULL,NULL,1,NULL,0,0,NULL),(197,143,31,8,NULL,NULL,1,NULL,0,0,NULL),(198,24,31,8,NULL,NULL,1,NULL,0,0,NULL),(199,187,31,7,NULL,NULL,1,NULL,0,0,NULL),(200,128,187,2,NULL,NULL,1,NULL,0,0,NULL),(201,29,10,5,NULL,NULL,1,NULL,0,0,NULL),(202,98,16,5,NULL,NULL,1,NULL,0,0,NULL),(203,19,27,5,NULL,NULL,1,NULL,0,0,NULL),(204,112,49,5,NULL,NULL,1,NULL,0,0,NULL),(205,9,69,5,NULL,NULL,1,NULL,0,0,NULL),(206,135,83,5,NULL,NULL,1,NULL,0,0,NULL),(207,184,101,5,NULL,NULL,1,NULL,0,0,NULL),(208,72,106,5,NULL,NULL,1,NULL,0,0,NULL),(209,164,122,5,NULL,NULL,1,NULL,0,0,NULL),(210,91,144,5,NULL,NULL,1,NULL,0,0,NULL),(211,129,152,5,NULL,NULL,1,NULL,0,0,NULL),(212,189,200,5,NULL,NULL,1,NULL,0,0,NULL);
+INSERT INTO `civicrm_relationship` (`id`, `contact_id_a`, `contact_id_b`, `relationship_type_id`, `start_date`, `end_date`, `is_active`, `description`, `is_permission_a_b`, `is_permission_b_a`, `case_id`) VALUES (1,84,162,1,NULL,NULL,1,NULL,0,0,NULL),(2,13,162,1,NULL,NULL,1,NULL,0,0,NULL),(3,84,3,1,NULL,NULL,1,NULL,0,0,NULL),(4,13,3,1,NULL,NULL,1,NULL,0,0,NULL),(5,13,84,4,NULL,NULL,1,NULL,0,0,NULL),(6,3,90,8,NULL,NULL,1,NULL,0,0,NULL),(7,84,90,8,NULL,NULL,1,NULL,0,0,NULL),(8,13,90,8,NULL,NULL,1,NULL,0,0,NULL),(9,162,90,7,NULL,NULL,1,NULL,0,0,NULL),(10,3,162,2,NULL,NULL,1,NULL,0,0,NULL),(11,165,180,1,NULL,NULL,1,NULL,0,0,NULL),(12,52,180,1,NULL,NULL,1,NULL,0,0,NULL),(13,165,155,1,NULL,NULL,1,NULL,0,0,NULL),(14,52,155,1,NULL,NULL,1,NULL,0,0,NULL),(15,52,165,4,NULL,NULL,1,NULL,0,0,NULL),(16,155,42,8,NULL,NULL,1,NULL,0,0,NULL),(17,165,42,8,NULL,NULL,1,NULL,0,0,NULL),(18,52,42,8,NULL,NULL,1,NULL,0,0,NULL),(19,180,42,7,NULL,NULL,1,NULL,0,0,NULL),(20,155,180,2,NULL,NULL,1,NULL,0,0,NULL),(21,109,132,1,NULL,NULL,1,NULL,0,0,NULL),(22,25,132,1,NULL,NULL,1,NULL,0,0,NULL),(23,109,48,1,NULL,NULL,1,NULL,0,0,NULL),(24,25,48,1,NULL,NULL,1,NULL,0,0,NULL),(25,25,109,4,NULL,NULL,1,NULL,0,0,NULL),(26,48,40,8,NULL,NULL,1,NULL,0,0,NULL),(27,109,40,8,NULL,NULL,1,NULL,0,0,NULL),(28,25,40,8,NULL,NULL,1,NULL,0,0,NULL),(29,132,40,7,NULL,NULL,1,NULL,0,0,NULL),(30,48,132,2,NULL,NULL,1,NULL,0,0,NULL),(31,67,11,1,NULL,NULL,1,NULL,0,0,NULL),(32,6,11,1,NULL,NULL,1,NULL,0,0,NULL),(33,67,45,1,NULL,NULL,1,NULL,0,0,NULL),(34,6,45,1,NULL,NULL,1,NULL,0,0,NULL),(35,6,67,4,NULL,NULL,1,NULL,0,0,NULL),(36,45,2,8,NULL,NULL,1,NULL,0,0,NULL),(37,67,2,8,NULL,NULL,1,NULL,0,0,NULL),(38,6,2,8,NULL,NULL,1,NULL,0,0,NULL),(39,11,2,7,NULL,NULL,1,NULL,0,0,NULL),(40,45,11,2,NULL,NULL,1,NULL,0,0,NULL),(41,200,88,1,NULL,NULL,1,NULL,0,0,NULL),(42,124,88,1,NULL,NULL,1,NULL,0,0,NULL),(43,200,168,1,NULL,NULL,1,NULL,0,0,NULL),(44,124,168,1,NULL,NULL,1,NULL,0,0,NULL),(45,124,200,4,NULL,NULL,1,NULL,0,0,NULL),(46,168,68,8,NULL,NULL,1,NULL,0,0,NULL),(47,200,68,8,NULL,NULL,1,NULL,0,0,NULL),(48,124,68,8,NULL,NULL,1,NULL,0,0,NULL),(49,88,68,7,NULL,NULL,1,NULL,0,0,NULL),(50,168,88,2,NULL,NULL,1,NULL,0,0,NULL),(51,166,125,1,NULL,NULL,1,NULL,0,0,NULL),(52,19,125,1,NULL,NULL,1,NULL,0,0,NULL),(53,166,98,1,NULL,NULL,1,NULL,0,0,NULL),(54,19,98,1,NULL,NULL,1,NULL,0,0,NULL),(55,19,166,4,NULL,NULL,1,NULL,0,0,NULL),(56,98,76,8,NULL,NULL,1,NULL,0,0,NULL),(57,166,76,8,NULL,NULL,1,NULL,0,0,NULL),(58,19,76,8,NULL,NULL,1,NULL,0,0,NULL),(59,125,76,7,NULL,NULL,0,NULL,0,0,NULL),(60,98,125,2,NULL,NULL,0,NULL,0,0,NULL),(61,163,14,1,NULL,NULL,1,NULL,0,0,NULL),(62,83,14,1,NULL,NULL,1,NULL,0,0,NULL),(63,163,54,1,NULL,NULL,1,NULL,0,0,NULL),(64,83,54,1,NULL,NULL,1,NULL,0,0,NULL),(65,83,163,4,NULL,NULL,1,NULL,0,0,NULL),(66,54,122,8,NULL,NULL,1,NULL,0,0,NULL),(67,163,122,8,NULL,NULL,1,NULL,0,0,NULL),(68,83,122,8,NULL,NULL,1,NULL,0,0,NULL),(69,14,122,7,NULL,NULL,0,NULL,0,0,NULL),(70,54,14,2,NULL,NULL,0,NULL,0,0,NULL),(71,151,189,1,NULL,NULL,1,NULL,0,0,NULL),(72,190,189,1,NULL,NULL,1,NULL,0,0,NULL),(73,151,104,1,NULL,NULL,1,NULL,0,0,NULL),(74,190,104,1,NULL,NULL,1,NULL,0,0,NULL),(75,190,151,4,NULL,NULL,1,NULL,0,0,NULL),(76,104,102,8,NULL,NULL,1,NULL,0,0,NULL),(77,151,102,8,NULL,NULL,1,NULL,0,0,NULL),(78,190,102,8,NULL,NULL,1,NULL,0,0,NULL),(79,189,102,7,NULL,NULL,1,NULL,0,0,NULL),(80,104,189,2,NULL,NULL,1,NULL,0,0,NULL),(81,139,77,1,NULL,NULL,1,NULL,0,0,NULL),(82,140,77,1,NULL,NULL,1,NULL,0,0,NULL),(83,139,176,1,NULL,NULL,1,NULL,0,0,NULL),(84,140,176,1,NULL,NULL,1,NULL,0,0,NULL),(85,140,139,4,NULL,NULL,1,NULL,0,0,NULL),(86,176,49,8,NULL,NULL,1,NULL,0,0,NULL),(87,139,49,8,NULL,NULL,1,NULL,0,0,NULL),(88,140,49,8,NULL,NULL,1,NULL,0,0,NULL),(89,77,49,7,NULL,NULL,1,NULL,0,0,NULL),(90,176,77,2,NULL,NULL,1,NULL,0,0,NULL),(91,174,150,1,NULL,NULL,1,NULL,0,0,NULL),(92,73,150,1,NULL,NULL,1,NULL,0,0,NULL),(93,174,193,1,NULL,NULL,1,NULL,0,0,NULL),(94,73,193,1,NULL,NULL,1,NULL,0,0,NULL),(95,73,174,4,NULL,NULL,1,NULL,0,0,NULL),(96,193,38,8,NULL,NULL,1,NULL,0,0,NULL),(97,174,38,8,NULL,NULL,1,NULL,0,0,NULL),(98,73,38,8,NULL,NULL,1,NULL,0,0,NULL),(99,150,38,7,NULL,NULL,0,NULL,0,0,NULL),(100,193,150,2,NULL,NULL,0,NULL,0,0,NULL),(101,107,58,1,NULL,NULL,1,NULL,0,0,NULL),(102,35,58,1,NULL,NULL,1,NULL,0,0,NULL),(103,107,8,1,NULL,NULL,1,NULL,0,0,NULL),(104,35,8,1,NULL,NULL,1,NULL,0,0,NULL),(105,35,107,4,NULL,NULL,1,NULL,0,0,NULL),(106,8,46,8,NULL,NULL,1,NULL,0,0,NULL),(107,107,46,8,NULL,NULL,1,NULL,0,0,NULL),(108,35,46,8,NULL,NULL,1,NULL,0,0,NULL),(109,58,46,7,NULL,NULL,0,NULL,0,0,NULL),(110,8,58,2,NULL,NULL,0,NULL,0,0,NULL),(111,59,173,1,NULL,NULL,1,NULL,0,0,NULL),(112,5,173,1,NULL,NULL,1,NULL,0,0,NULL),(113,59,33,1,NULL,NULL,1,NULL,0,0,NULL),(114,5,33,1,NULL,NULL,1,NULL,0,0,NULL),(115,5,59,4,NULL,NULL,1,NULL,0,0,NULL),(116,33,181,8,NULL,NULL,1,NULL,0,0,NULL),(117,59,181,8,NULL,NULL,1,NULL,0,0,NULL),(118,5,181,8,NULL,NULL,1,NULL,0,0,NULL),(119,173,181,7,NULL,NULL,0,NULL,0,0,NULL),(120,33,173,2,NULL,NULL,0,NULL,0,0,NULL),(121,201,64,1,NULL,NULL,1,NULL,0,0,NULL),(122,126,64,1,NULL,NULL,1,NULL,0,0,NULL),(123,201,87,1,NULL,NULL,1,NULL,0,0,NULL),(124,126,87,1,NULL,NULL,1,NULL,0,0,NULL),(125,126,201,4,NULL,NULL,1,NULL,0,0,NULL),(126,87,57,8,NULL,NULL,1,NULL,0,0,NULL),(127,201,57,8,NULL,NULL,1,NULL,0,0,NULL),(128,126,57,8,NULL,NULL,1,NULL,0,0,NULL),(129,64,57,7,NULL,NULL,1,NULL,0,0,NULL),(130,87,64,2,NULL,NULL,1,NULL,0,0,NULL),(131,94,96,1,NULL,NULL,1,NULL,0,0,NULL),(132,183,96,1,NULL,NULL,1,NULL,0,0,NULL),(133,94,141,1,NULL,NULL,1,NULL,0,0,NULL),(134,183,141,1,NULL,NULL,1,NULL,0,0,NULL),(135,183,94,4,NULL,NULL,1,NULL,0,0,NULL),(136,141,161,8,NULL,NULL,1,NULL,0,0,NULL),(137,94,161,8,NULL,NULL,1,NULL,0,0,NULL),(138,183,161,8,NULL,NULL,1,NULL,0,0,NULL),(139,96,161,7,NULL,NULL,1,NULL,0,0,NULL),(140,141,96,2,NULL,NULL,1,NULL,0,0,NULL),(141,191,153,1,NULL,NULL,1,NULL,0,0,NULL),(142,32,153,1,NULL,NULL,1,NULL,0,0,NULL),(143,191,89,1,NULL,NULL,1,NULL,0,0,NULL),(144,32,89,1,NULL,NULL,1,NULL,0,0,NULL),(145,32,191,4,NULL,NULL,1,NULL,0,0,NULL),(146,89,17,8,NULL,NULL,1,NULL,0,0,NULL),(147,191,17,8,NULL,NULL,1,NULL,0,0,NULL),(148,32,17,8,NULL,NULL,1,NULL,0,0,NULL),(149,153,17,7,NULL,NULL,1,NULL,0,0,NULL),(150,89,153,2,NULL,NULL,1,NULL,0,0,NULL),(151,133,169,1,NULL,NULL,1,NULL,0,0,NULL),(152,4,169,1,NULL,NULL,1,NULL,0,0,NULL),(153,133,186,1,NULL,NULL,1,NULL,0,0,NULL),(154,4,186,1,NULL,NULL,1,NULL,0,0,NULL),(155,4,133,4,NULL,NULL,1,NULL,0,0,NULL),(156,186,187,8,NULL,NULL,1,NULL,0,0,NULL),(157,133,187,8,NULL,NULL,1,NULL,0,0,NULL),(158,4,187,8,NULL,NULL,1,NULL,0,0,NULL),(159,169,187,7,NULL,NULL,1,NULL,0,0,NULL),(160,186,169,2,NULL,NULL,1,NULL,0,0,NULL),(161,184,197,1,NULL,NULL,1,NULL,0,0,NULL),(162,130,197,1,NULL,NULL,1,NULL,0,0,NULL),(163,184,171,1,NULL,NULL,1,NULL,0,0,NULL),(164,130,171,1,NULL,NULL,1,NULL,0,0,NULL),(165,130,184,4,NULL,NULL,1,NULL,0,0,NULL),(166,171,80,8,NULL,NULL,1,NULL,0,0,NULL),(167,184,80,8,NULL,NULL,1,NULL,0,0,NULL),(168,130,80,8,NULL,NULL,1,NULL,0,0,NULL),(169,197,80,7,NULL,NULL,1,NULL,0,0,NULL),(170,171,197,2,NULL,NULL,1,NULL,0,0,NULL),(171,154,170,1,NULL,NULL,1,NULL,0,0,NULL),(172,160,170,1,NULL,NULL,1,NULL,0,0,NULL),(173,154,114,1,NULL,NULL,1,NULL,0,0,NULL),(174,160,114,1,NULL,NULL,1,NULL,0,0,NULL),(175,160,154,4,NULL,NULL,1,NULL,0,0,NULL),(176,114,51,8,NULL,NULL,1,NULL,0,0,NULL),(177,154,51,8,NULL,NULL,1,NULL,0,0,NULL),(178,160,51,8,NULL,NULL,1,NULL,0,0,NULL),(179,170,51,7,NULL,NULL,0,NULL,0,0,NULL),(180,114,170,2,NULL,NULL,0,NULL,0,0,NULL),(181,148,113,1,NULL,NULL,1,NULL,0,0,NULL),(182,179,113,1,NULL,NULL,1,NULL,0,0,NULL),(183,148,100,1,NULL,NULL,1,NULL,0,0,NULL),(184,179,100,1,NULL,NULL,1,NULL,0,0,NULL),(185,179,148,4,NULL,NULL,1,NULL,0,0,NULL),(186,100,131,8,NULL,NULL,1,NULL,0,0,NULL),(187,148,131,8,NULL,NULL,1,NULL,0,0,NULL),(188,179,131,8,NULL,NULL,1,NULL,0,0,NULL),(189,113,131,7,NULL,NULL,1,NULL,0,0,NULL),(190,100,113,2,NULL,NULL,1,NULL,0,0,NULL),(191,195,72,1,NULL,NULL,1,NULL,0,0,NULL),(192,156,72,1,NULL,NULL,1,NULL,0,0,NULL),(193,195,70,1,NULL,NULL,1,NULL,0,0,NULL),(194,156,70,1,NULL,NULL,1,NULL,0,0,NULL),(195,156,195,4,NULL,NULL,1,NULL,0,0,NULL),(196,70,79,8,NULL,NULL,1,NULL,0,0,NULL),(197,195,79,8,NULL,NULL,1,NULL,0,0,NULL),(198,156,79,8,NULL,NULL,1,NULL,0,0,NULL),(199,72,79,7,NULL,NULL,1,NULL,0,0,NULL),(200,70,72,2,NULL,NULL,1,NULL,0,0,NULL),(201,121,23,5,NULL,NULL,1,NULL,0,0,NULL),(202,19,39,5,NULL,NULL,1,NULL,0,0,NULL),(203,26,60,5,NULL,NULL,1,NULL,0,0,NULL),(204,193,63,5,NULL,NULL,1,NULL,0,0,NULL),(205,84,65,5,NULL,NULL,1,NULL,0,0,NULL),(206,160,74,5,NULL,NULL,1,NULL,0,0,NULL),(207,70,95,5,NULL,NULL,1,NULL,0,0,NULL),(208,119,101,5,NULL,NULL,1,NULL,0,0,NULL),(209,29,105,5,NULL,NULL,1,NULL,0,0,NULL),(210,154,111,5,NULL,NULL,1,NULL,0,0,NULL),(211,21,123,5,NULL,NULL,1,NULL,0,0,NULL),(212,194,127,5,NULL,NULL,1,NULL,0,0,NULL),(213,142,144,5,NULL,NULL,1,NULL,0,0,NULL),(214,18,178,5,NULL,NULL,1,NULL,0,0,NULL),(215,106,182,5,NULL,NULL,1,NULL,0,0,NULL),(216,172,192,5,NULL,NULL,1,NULL,0,0,NULL);
 /*!40000 ALTER TABLE `civicrm_relationship` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1337,7 +1337,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_subscription_history` WRITE;
 /*!40000 ALTER TABLE `civicrm_subscription_history` DISABLE KEYS */;
-INSERT INTO `civicrm_subscription_history` (`id`, `contact_id`, `group_id`, `date`, `method`, `status`, `tracking`) VALUES (1,137,2,'2019-11-28 22:08:12','Email','Added',NULL),(2,93,2,'2020-02-28 22:13:51','Email','Added',NULL),(3,4,2,'2019-07-10 07:49:37','Email','Added',NULL),(4,54,2,'2019-11-02 05:09:00','Email','Added',NULL),(5,103,2,'2019-09-06 02:57:28','Admin','Added',NULL),(6,195,2,'2019-09-30 17:40:47','Admin','Added',NULL),(7,91,2,'2019-09-19 04:43:35','Admin','Added',NULL),(8,171,2,'2020-05-02 19:03:49','Admin','Added',NULL),(9,172,2,'2019-12-07 21:21:41','Email','Added',NULL),(10,147,2,'2019-10-21 16:38:02','Admin','Added',NULL),(11,113,2,'2020-04-03 03:43:58','Admin','Added',NULL),(12,63,2,'2020-05-18 03:12:57','Admin','Added',NULL),(13,59,2,'2020-01-25 19:05:24','Admin','Added',NULL),(14,117,2,'2020-05-19 02:57:18','Email','Added',NULL),(15,199,2,'2020-03-29 14:16:00','Admin','Added',NULL),(16,125,2,'2020-01-14 02:01:53','Email','Added',NULL),(17,129,2,'2019-11-08 20:50:06','Email','Added',NULL),(18,135,2,'2020-03-03 09:38:05','Email','Added',NULL),(19,177,2,'2019-08-23 06:22:50','Admin','Added',NULL),(20,198,2,'2020-03-26 15:31:45','Email','Added',NULL),(21,115,2,'2020-03-31 01:22:49','Admin','Added',NULL),(22,80,2,'2019-10-24 22:27:07','Email','Added',NULL),(23,67,2,'2020-05-15 04:15:07','Email','Added',NULL),(24,179,2,'2019-07-10 09:14:41','Email','Added',NULL),(25,124,2,'2019-12-17 00:30:59','Admin','Added',NULL),(26,7,2,'2020-03-18 07:15:33','Admin','Added',NULL),(27,157,2,'2020-05-23 15:56:18','Email','Added',NULL),(28,72,2,'2019-09-14 10:53:29','Email','Added',NULL),(29,6,2,'2020-02-28 10:27:53','Email','Added',NULL),(30,168,2,'2019-11-24 03:22:35','Email','Added',NULL),(31,164,2,'2020-01-10 14:37:15','Admin','Added',NULL),(32,48,2,'2019-07-08 06:36:40','Admin','Added',NULL),(33,94,2,'2019-08-30 01:02:54','Email','Added',NULL),(34,131,2,'2019-06-23 07:40:37','Admin','Added',NULL),(35,149,2,'2020-01-21 18:54:34','Admin','Added',NULL),(36,68,2,'2019-11-01 04:19:35','Email','Added',NULL),(37,37,2,'2020-03-28 08:06:19','Admin','Added',NULL),(38,57,2,'2019-08-15 09:35:38','Admin','Added',NULL),(39,112,2,'2019-12-08 00:27:30','Admin','Added',NULL),(40,132,2,'2020-02-21 10:31:46','Admin','Added',NULL),(41,139,2,'2020-05-07 12:41:48','Email','Added',NULL),(42,53,2,'2019-06-16 19:46:23','Email','Added',NULL),(43,66,2,'2020-05-11 09:55:56','Email','Added',NULL),(44,58,2,'2020-01-11 16:44:58','Admin','Added',NULL),(45,18,2,'2020-04-24 10:42:12','Email','Added',NULL),(46,161,2,'2020-01-11 19:09:08','Email','Added',NULL),(47,98,2,'2019-06-21 14:41:18','Admin','Added',NULL),(48,140,2,'2019-10-11 05:17:47','Admin','Added',NULL),(49,188,2,'2020-02-19 08:23:18','Email','Added',NULL),(50,47,2,'2019-12-27 04:49:06','Email','Added',NULL),(51,65,2,'2019-07-30 17:43:43','Email','Added',NULL),(52,44,2,'2019-11-23 17:20:42','Admin','Added',NULL),(53,185,2,'2020-05-15 08:49:46','Email','Added',NULL),(54,43,2,'2019-07-30 03:16:25','Email','Added',NULL),(55,28,2,'2019-07-23 11:06:17','Admin','Added',NULL),(56,70,2,'2020-01-07 11:02:47','Admin','Added',NULL),(57,119,2,'2019-11-02 14:40:04','Admin','Added',NULL),(58,123,2,'2020-03-01 11:59:51','Admin','Added',NULL),(59,163,2,'2019-09-08 16:53:22','Email','Added',NULL),(60,8,2,'2020-02-12 21:18:30','Admin','Added',NULL),(61,38,3,'2020-03-26 14:59:02','Email','Added',NULL),(62,84,3,'2019-11-01 15:34:50','Admin','Added',NULL),(63,51,3,'2019-08-10 14:58:29','Admin','Added',NULL),(64,76,3,'2019-10-20 15:07:32','Email','Added',NULL),(65,153,3,'2020-04-30 11:04:16','Admin','Added',NULL),(66,15,3,'2020-04-04 22:12:01','Email','Added',NULL),(67,126,3,'2019-11-21 04:30:50','Email','Added',NULL),(68,32,3,'2020-04-08 18:01:20','Admin','Added',NULL),(69,155,3,'2020-05-29 03:53:54','Email','Added',NULL),(70,55,3,'2019-07-18 06:11:04','Admin','Added',NULL),(71,196,3,'2019-06-26 00:47:34','Email','Added',NULL),(72,191,3,'2020-04-18 05:18:05','Admin','Added',NULL),(73,146,3,'2020-01-25 20:36:38','Email','Added',NULL),(74,5,3,'2019-09-04 19:16:52','Email','Added',NULL),(75,118,3,'2020-01-29 19:13:58','Admin','Added',NULL),(76,137,4,'2020-03-14 05:26:36','Admin','Added',NULL),(77,171,4,'2019-10-03 07:26:08','Email','Added',NULL),(78,199,4,'2019-12-07 02:00:42','Admin','Added',NULL),(79,80,4,'2019-07-20 15:40:51','Email','Added',NULL),(80,6,4,'2019-08-11 03:01:15','Admin','Added',NULL),(81,68,4,'2019-08-17 13:55:04','Admin','Added',NULL),(82,66,4,'2020-03-12 00:43:32','Email','Added',NULL),(83,47,4,'2020-01-26 12:41:36','Email','Added',NULL);
+INSERT INTO `civicrm_subscription_history` (`id`, `contact_id`, `group_id`, `date`, `method`, `status`, `tracking`) VALUES (1,50,2,'2020-05-13 14:53:48','Email','Added',NULL),(2,43,2,'2020-04-25 08:07:17','Admin','Added',NULL),(3,71,2,'2019-12-05 08:41:06','Email','Added',NULL),(4,177,2,'2020-01-24 06:40:14','Admin','Added',NULL),(5,110,2,'2020-04-02 11:48:17','Email','Added',NULL),(6,97,2,'2019-09-18 14:11:28','Admin','Added',NULL),(7,56,2,'2019-11-07 19:22:32','Admin','Added',NULL),(8,75,2,'2020-05-19 07:43:11','Admin','Added',NULL),(9,91,2,'2020-01-12 20:41:30','Admin','Added',NULL),(10,172,2,'2020-01-26 23:36:11','Email','Added',NULL),(11,37,2,'2019-09-26 19:43:21','Email','Added',NULL),(12,175,2,'2019-12-18 01:13:06','Email','Added',NULL),(13,15,2,'2019-12-12 12:08:24','Email','Added',NULL),(14,106,2,'2019-08-13 15:31:19','Email','Added',NULL),(15,115,2,'2019-10-25 19:36:36','Admin','Added',NULL),(16,147,2,'2019-10-06 03:04:07','Admin','Added',NULL),(17,198,2,'2019-09-02 22:34:44','Email','Added',NULL),(18,53,2,'2019-11-26 21:03:47','Email','Added',NULL),(19,99,2,'2019-09-10 22:14:27','Admin','Added',NULL),(20,146,2,'2020-02-21 01:19:57','Email','Added',NULL),(21,22,2,'2019-10-08 10:33:26','Admin','Added',NULL),(22,18,2,'2020-01-23 21:30:25','Email','Added',NULL),(23,108,2,'2020-03-26 08:34:08','Email','Added',NULL),(24,27,2,'2019-07-24 20:48:50','Admin','Added',NULL),(25,26,2,'2019-10-10 04:18:02','Email','Added',NULL),(26,92,2,'2019-09-14 04:18:10','Email','Added',NULL),(27,44,2,'2019-10-07 17:54:01','Admin','Added',NULL),(28,121,2,'2019-06-17 15:50:50','Admin','Added',NULL),(29,47,2,'2020-06-03 16:46:48','Admin','Added',NULL),(30,138,2,'2019-08-20 09:45:06','Email','Added',NULL),(31,34,2,'2019-10-13 23:53:58','Email','Added',NULL),(32,85,2,'2020-05-30 16:55:27','Admin','Added',NULL),(33,66,2,'2019-06-15 19:00:37','Admin','Added',NULL),(34,157,2,'2020-04-23 19:15:35','Admin','Added',NULL),(35,119,2,'2019-07-24 01:32:41','Admin','Added',NULL),(36,10,2,'2020-05-18 05:33:25','Email','Added',NULL),(37,159,2,'2020-01-20 22:08:22','Admin','Added',NULL),(38,194,2,'2019-08-23 13:13:22','Email','Added',NULL),(39,142,2,'2020-04-08 21:37:01','Email','Added',NULL),(40,61,2,'2020-03-10 17:34:44','Email','Added',NULL),(41,164,2,'2019-11-24 19:32:02','Email','Added',NULL),(42,134,2,'2019-07-06 20:16:56','Email','Added',NULL),(43,41,2,'2019-12-12 16:46:00','Admin','Added',NULL),(44,116,2,'2019-08-23 02:06:59','Admin','Added',NULL),(45,188,2,'2019-06-26 20:49:22','Email','Added',NULL),(46,120,2,'2020-04-19 10:11:06','Admin','Added',NULL),(47,16,2,'2020-05-14 05:05:59','Email','Added',NULL),(48,29,2,'2020-05-27 19:44:18','Email','Added',NULL),(49,128,2,'2020-03-18 13:14:49','Email','Added',NULL),(50,118,2,'2020-01-20 16:50:23','Email','Added',NULL),(51,103,2,'2020-01-29 13:06:47','Admin','Added',NULL),(52,143,2,'2019-08-06 06:47:09','Admin','Added',NULL),(53,149,2,'2019-10-15 16:39:59','Admin','Added',NULL),(54,136,2,'2020-03-11 04:03:13','Email','Added',NULL),(55,24,2,'2019-07-10 08:02:57','Email','Added',NULL),(56,36,2,'2019-08-22 00:56:45','Admin','Added',NULL),(57,7,2,'2020-02-24 20:30:37','Email','Added',NULL),(58,167,2,'2020-01-23 23:25:37','Admin','Added',NULL),(59,28,2,'2019-08-14 03:07:08','Email','Added',NULL),(60,145,2,'2020-02-04 15:15:13','Email','Added',NULL),(61,158,3,'2019-08-28 18:49:52','Admin','Added',NULL),(62,20,3,'2019-12-21 01:23:38','Email','Added',NULL),(63,199,3,'2020-04-24 14:05:33','Admin','Added',NULL),(64,112,3,'2019-12-31 06:31:48','Admin','Added',NULL),(65,93,3,'2019-09-05 23:32:40','Admin','Added',NULL),(66,69,3,'2019-07-23 03:20:42','Email','Added',NULL),(67,21,3,'2020-05-23 11:13:45','Admin','Added',NULL),(68,137,3,'2019-07-07 18:28:15','Admin','Added',NULL),(69,152,3,'2019-10-25 17:27:58','Admin','Added',NULL),(70,12,3,'2019-10-30 05:31:45','Email','Added',NULL),(71,129,3,'2019-10-16 21:40:00','Admin','Added',NULL),(72,81,3,'2020-03-21 22:25:15','Admin','Added',NULL),(73,185,3,'2019-08-26 12:30:47','Admin','Added',NULL),(74,30,3,'2019-06-14 16:15:18','Email','Added',NULL),(75,62,3,'2019-10-14 11:20:27','Admin','Added',NULL),(76,50,4,'2020-02-19 14:53:47','Email','Added',NULL),(77,75,4,'2019-09-22 19:15:11','Admin','Added',NULL),(78,115,4,'2019-11-10 22:22:54','Email','Added',NULL),(79,18,4,'2019-09-10 04:03:22','Admin','Added',NULL),(80,47,4,'2019-09-15 10:32:19','Email','Added',NULL),(81,10,4,'2019-09-14 09:37:32','Email','Added',NULL),(82,41,4,'2020-05-09 02:24:04','Email','Added',NULL),(83,118,4,'2019-12-18 12:17:55','Admin','Added',NULL);
 /*!40000 ALTER TABLE `civicrm_subscription_history` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1433,7 +1433,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_website` WRITE;
 /*!40000 ALTER TABLE `civicrm_website` DISABLE KEYS */;
-INSERT INTO `civicrm_website` (`id`, `contact_id`, `url`, `website_type_id`) VALUES (1,10,'http://ruralsolutions.org',1),(2,106,'http://hoopestoneducation.org',1),(3,167,'http://sdagriculturesolutions.org',1),(4,182,'http://cadelleducationsolutions.org',1),(5,200,'http://charlestoneducationpartners.org',1),(6,52,'http://milwaukeedevelopment.org',1),(7,144,'http://iowaservices.org',1),(8,69,'http://collegecenter.org',1),(9,122,'http://oklahomafoodnetwork.org',1),(10,101,'http://hartfordservices.org',1),(11,50,'http://carmelculturealliance.org',1),(12,176,'http://vnenvironmentalfund.org',1),(13,16,'http://ruralempowermentfellowship.org',1),(14,49,'http://ruralalliance.org',1),(15,152,'http://dowlenschool.org',1),(16,83,'http://missouriadvocacypartnership.org',1);
+INSERT INTO `civicrm_website` (`id`, `contact_id`, `url`, `website_type_id`) VALUES (1,74,'http://urbanpeacefund.org',1),(2,111,'http://sierrapeaceinitiative.org',1),(3,23,'http://creativeeducation.org',1),(4,65,'http://indiahomahealthcollective.org',1),(5,82,'http://pineassociation.org',1),(6,123,'http://mlkingeducation.org',1),(7,55,'http://mainarts.org',1),(8,144,'http://urbaninitiative.org',1),(9,63,'http://nyhealthsystems.org',1),(10,178,'http://wisconsinwellness.org',1),(11,101,'http://spactionservices.org',1),(12,135,'http://austinhealth.org',1),(13,39,'http://farmingtonservices.org',1),(14,60,'http://paluxyenvironmental.org',1),(15,182,'http://statespartnership.org',1),(16,105,'http://unitedtechnology.org',1);
 /*!40000 ALTER TABLE `civicrm_website` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1465,7 +1465,7 @@ UNLOCK TABLES;
 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 
--- Dump completed on 2020-06-04 10:38:21
+-- Dump completed on 2020-06-10 14:45:54
 -- +--------------------------------------------------------------------+
 -- | Copyright CiviCRM LLC. All rights reserved.                        |
 -- |                                                                    |
index c57fc1648071fdf22202f151ce341c4001402fe4..a89731bd3d0d03068e5fcde48661b95c8d314eb5 100644 (file)
@@ -86,7 +86,7 @@ CRM.$(function($){
       ajax: {
         url: sourceDataUrl,
         data: function(term) {
-          return { name: term,};
+          return { name: term, id: 1};
         },
         results: function(response) {
           return { results: response };
index 63e1ef0d62ba04cde7d68db9cceaa0e5a0f62134..5514bf8bd06cf99053f29a241e1390c8771da6d4 100644 (file)
@@ -13,9 +13,9 @@
     <table class="form-layout-compressed">
         <tr  class="crm-contribution-form-block-contribution_page"><td class="label">{$form.contribution_page_id.label}</td><td{$valueStyle}>{$form.contribution_page_id.html|crmAddClass:twenty}</td></tr>
         <tr class="crm-contribution-form-block-note"><td class="label" style="vertical-align:top;">{$form.note.label}</td><td>{$form.note.html}</td></tr>
-        <tr class="crm-contribution-form-block-non_deductible_amount"><td class="label">{$form.non_deductible_amount.label}</td><td{$valueStyle}>{$form.non_deductible_amount.html|crmMoney:$currency:'':1}<br />
+        <tr class="crm-contribution-form-block-non_deductible_amount"><td class="label">{$form.non_deductible_amount.label}</td><td{$valueStyle}>{$form.non_deductible_amount.html}<br />
             <span class="description">{ts}Non-deductible portion of this contribution.{/ts}</span></td></tr>
-        <tr class="crm-contribution-form-block-fee_amount"><td class="label">{$form.fee_amount.label}</td><td{$valueStyle}>{$form.fee_amount.html|crmMoney:$currency:'XXX':'YYY'}<br />
+        <tr class="crm-contribution-form-block-fee_amount"><td class="label">{$form.fee_amount.label}</td><td{$valueStyle}>{$form.fee_amount.html}<br />
             <span class="description">{ts}Processing fee for this transaction (if applicable).{/ts}</span></td></tr>
         <tr class="crm-contribution-form-block-invoice_id"><td class="label">{$form.invoice_id.label}</td><td{$valueStyle}>{$form.invoice_id.html}<br />
             <span class="description">{ts}Unique internal reference ID for this contribution.{/ts}</span></td></tr>
index a6810dd89aa5127b5fe0782d4ed240304e2473b5..0a3921c8cfd24ee17ac2695cc9c393ed2ede9733 100644 (file)
@@ -1,51 +1,57 @@
-
+{*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+*}
 {* build recurring contribution block. *}
 {if $buildRecurBlock}
 {literal}
   <script type="text/javascript" >
 
-    function enablePeriod( )
-    {
-      var frUnit = cj( '#frequency_unit' );
-      var frInerval = cj( '#frequency_interval' );
-      var installments = cj( '#installments' );
+    function enablePeriod() {
+      var frUnit = cj('#frequency_unit');
+      var frInerval = cj('#frequency_interval');
+      var installments = cj('#installments');
       isDisabled = false;
 
-      if ( cj( 'input:radio[name="is_recur"]:checked').val() == 0 )  {
+      if (cj('input:radio[name="is_recur"]:checked').val() == 0)  {
         isDisabled = true;
-        frInerval.val( '' );
-        installments.val( '' );
+        frInerval.val('');
+        installments.val('');
       }
 
-      frUnit.prop( 'disabled', isDisabled );
-      frInerval.prop( 'disabled', isDisabled );
-      installments.prop( 'disabled', isDisabled );
+      frUnit.prop('disabled', isDisabled);
+      frInerval.prop('disabled', isDisabled);
+      installments.prop('disabled', isDisabled);
     }
 
-    function buildRecurBlock( processorId ) {
-      if ( !processorId ) processorId = cj( "#payment_processor_id" ).val( );
+    function buildRecurBlock(processorId) {
+      if (!processorId) processorId = cj("#payment_processor_id").val();
       var recurPaymentProIds = {/literal}'{$recurringPaymentProcessorIds}'{literal};
-      var funName = ( cj.inArray(processorId, recurPaymentProIds.split(',')) > -1 ) ? 'show' : 'hide';
+      var funName = (cj.inArray(processorId, recurPaymentProIds.split(',')) > -1) ? 'show' : 'hide';
 
       var priceSet = cj("#price_set_id");
-      if ( priceSet && priceSet.val( ) ) {
+      if (priceSet && priceSet.val()) {
         funName = 'hide';
         //reset the values of recur block.
-        if ( cj( 'input:radio[name="is_recur"]:checked').val() ) {
+        if (cj('input:radio[name="is_recur"]:checked').val()) {
           cj("#installments").val('');
           cj("#frequency_interval").val('');
-          cj( 'input:radio[name="is_recur"]')[0].checked = true;
+          cj('input:radio[name="is_recur"]')[0].checked = true;
         }
       }
 
-
-      enablePeriod( );
-      eval( 'cj( "#recurringPaymentBlock" ).' + funName + "( )" );
+      enablePeriod();
+      eval('cj("#recurringPaymentBlock").' + funName + "()");
     }
 
     CRM.$(function($) {
-      buildRecurBlock( null );
-      enablePeriod( );
+      buildRecurBlock(null);
+      enablePeriod();
     });
 
   </script>
index d3403fae9bb93fe6002718d40a8cd4dad041f9af..08a41ddfa144d94084910f592fd714860c4a1fc5 100644 (file)
@@ -92,7 +92,7 @@
             <td class="label">{$form.trxn_id.label}</td>
             <td>{$form.trxn_id.html} {help id="id-trans_id"}</td>
           </tr>
-          <tr class="crm-payment-form-block-fee_amount"><td class="label">{$form.fee_amount.label}</td><td{$valueStyle}>{$form.fee_amount.html|crmMoney:$currency:'XXX':'YYY'}<br />
+          <tr class="crm-payment-form-block-fee_amount"><td class="label">{$form.fee_amount.label}</td><td{$valueStyle}>{$form.fee_amount.html}<br />
             <span class="description">{ts}Processing fee for this transaction (if applicable).{/ts}</span></td></tr>
         </table>
       </div>
index 0df23f41bd89addd667a48563990654425edaf8e..f3674420c14f564fe6499fb0f41158fb4cc5bab8 100644 (file)
 {else}
   {include file="CRM/Contribute/Form/AdditionalInfo/Payment.tpl"}
   {if $contributionMode}
-  <div class="help">
-    {if $contactId && $payNow}
-      {ts 1=$displayName 2=$contributionMode|upper}Use this form to edit a contribution on behalf of %1. <strong>A
-      %2 transaction will be submitted</strong> using the selected payment processor.{/ts}
-    {elseif $contactId}
-      {ts 1=$displayName 2=$contributionMode|upper}Use this form to submit a new contribution on behalf of %1. <strong>A
-      %2 transaction will be submitted</strong> using the selected payment processor.{/ts}
-    {else}
-      {ts 1=$displayName 2=$contributionMode|upper}Use this form to submit a new contribution. <strong>A %2 transaction will be submitted</strong> using the selected payment processor.{/ts}
-    {/if}
-  </div>
+    <div class="help">
+      {if $contactId && $payNow}
+        {ts 1=$displayName 2=$contributionMode|upper}Use this form to edit a contribution on behalf of %1. <strong>A
+          %2 transaction will be submitted</strong> using the selected payment processor.{/ts}
+      {elseif $contactId}
+        {ts 1=$displayName 2=$contributionMode|upper}Use this form to submit a new contribution on behalf of %1. <strong>A
+          %2 transaction will be submitted</strong> using the selected payment processor.{/ts}
+      {else}
+        {ts 1=$displayName 2=$contributionMode|upper}Use this form to submit a new contribution. <strong>A %2 transaction will be submitted</strong> using the selected payment processor.{/ts}
+      {/if}
+    </div>
   {/if}
 
   <div class="crm-block crm-form-block crm-contribution-form-block">
 
-  {if !$email and $action neq 8 and $context neq 'standalone'}
-  <div class="messages status no-popup">
-    <div class="icon inform-icon"></div>&nbsp;{ts}You will not be able to send an automatic email receipt for this contribution because there is no email address recorded for this contact. If you want a receipt to be sent when this contribution is recorded, click Cancel and then click Edit from the Summary tab to add an email address before recording the contribution.{/ts}
-  </div>
-  {/if}
-
-  {if $action eq 8}
-  <div class="messages status no-popup">
-    <div class="icon inform-icon"></div>
-    {ts}WARNING: Deleting this contribution will result in the loss of the associated financial transactions (if any).{/ts} {ts}Do you want to continue?{/ts}
-  </div>
-  {else}
-    {if $newCredit AND $action EQ 1 AND $contributionMode EQ null}
-    <div class="action-link css_right crm-link-credit-card-mode">
-      {if $contactId}
-        {capture assign=ccModeLink}{crmURL p='civicrm/contact/view/contribution' q="reset=1&action=add&cid=`$contactId`&context=`$context`&mode=live"}{/capture}
-      {else}
-        {capture assign=ccModeLink}{crmURL p='civicrm/contact/view/contribution' q="reset=1&action=add&context=standalone&mode=live"}{/capture}
-      {/if}
-     <a class="open-inline-noreturn action-item crm-hover-button" href="{$ccModeLink}"><i class="crm-i fa-credit-card" aria-hidden="true"></i> {ts}submit credit card contribution{/ts}</a>
-    </div>
+    {if !$email and $action neq 8 and $context neq 'standalone'}
+      <div class="messages status no-popup">
+        <div class="icon inform-icon"></div>&nbsp;{ts}You will not be able to send an automatic email receipt for this contribution because there is no email address recorded for this contact. If you want a receipt to be sent when this contribution is recorded, click Cancel and then click Edit from the Summary tab to add an email address before recording the contribution.{/ts}
+      </div>
     {/if}
-  <div class="crm-submit-buttons">
-    {include file="CRM/common/formButtons.tpl"}
-  </div>
-  {if $isOnline}{assign var=valueStyle value=" class='view-value'"}{else}{assign var=valueStyle value=""}{/if}
-  <table class="form-layout-compressed">
-    <tr class="crm-contribution-form-block-contact_id">
-      <td class="label">{$form.contact_id.label}</td>
-      <td>{$form.contact_id.html}</td>
-    </tr>
-    <tr class="crm-contribution-form-block-contribution_type_id crm-contribution-form-block-financial_type_id">
-      <td class="label">{$form.financial_type_id.label}</td><td{$valueStyle}>{$form.financial_type_id.html}&nbsp;
-      {if $is_test}
-        {ts}(test){/ts}
-      {/if} {help id="id-financial_type"}
-      </td>
-    </tr>
-    {if $action eq 2 and $lineItem and !$defaultContribution}
-    <tr>
-      <td class="label">{ts}Contribution Amount{/ts}</td>
-      <td>{include file="CRM/Price/Page/LineItem.tpl" context="Contribution"}</td>
-    </tr>
+
+    {if $action eq 8}
+      <div class="messages status no-popup">
+        <div class="icon inform-icon"></div>
+        {ts}WARNING: Deleting this contribution will result in the loss of the associated financial transactions (if any).{/ts} {ts}Do you want to continue?{/ts}
+      </div>
     {else}
-    <tr  class="crm-contribution-form-block-total_amount">
-      <td class="label">{$form.total_amount.label}</td>
-      <td {$valueStyle}>
-        <span id='totalAmount'>{$form.currency.html|crmAddClass:eight}&nbsp;{$form.total_amount.html|crmAddClass:eight}</span>
-        {if $freezeFinancialType}
-          {help id="id-total_amount"}
+    {if $newCredit AND $action EQ 1 AND $contributionMode EQ null}
+      <div class="action-link css_right crm-link-credit-card-mode">
+        {if $contactId}
+          {capture assign=ccModeLink}{crmURL p='civicrm/contact/view/contribution' q="reset=1&action=add&cid=`$contactId`&context=`$context`&mode=live"}{/capture}
+        {else}
+          {capture assign=ccModeLink}{crmURL p='civicrm/contact/view/contribution' q="reset=1&action=add&context=standalone&mode=live"}{/capture}
         {/if}
-        {if !$payNow}
-          {if $hasPriceSets}
-            <span id='totalAmountORPriceSet'> {ts}OR{/ts}</span>
-            <span id='selectPriceSet'>{$form.price_set_id.html}</span>
-            <div id="priceset" class="hiddenElement"></div>
-          {/if}
+        <a class="open-inline-noreturn action-item crm-hover-button" href="{$ccModeLink}"><i class="crm-i fa-credit-card" aria-hidden="true"></i> {ts}submit credit card contribution{/ts}</a>
+      </div>
+    {/if}
+      <div class="crm-submit-buttons">
+        {include file="CRM/common/formButtons.tpl"}
+      </div>
+      {if $isOnline}{assign var=valueStyle value=" class='view-value'"}{else}{assign var=valueStyle value=""}{/if}
+      <table class="form-layout-compressed">
+        <tr class="crm-contribution-form-block-contact_id">
+          <td class="label">{$form.contact_id.label}</td>
+          <td>{$form.contact_id.html}</td>
+        </tr>
+        <tr class="crm-contribution-form-block-contribution_type_id crm-contribution-form-block-financial_type_id">
+          <td class="label">{$form.financial_type_id.label}</td><td{$valueStyle}>{$form.financial_type_id.html}&nbsp;
+            {if $is_test}
+              {ts}(test){/ts}
+            {/if} {help id="id-financial_type"}
+          </td>
+        </tr>
+        {if $action eq 2 and $lineItem and !$defaultContribution}
+          <tr>
+            <td class="label">{ts}Contribution Amount{/ts}</td>
+            <td>{include file="CRM/Price/Page/LineItem.tpl" context="Contribution"}</td>
+          </tr>
+        {else}
+          <tr  class="crm-contribution-form-block-total_amount">
+            <td class="label">{$form.total_amount.label}</td>
+            <td {$valueStyle}>
+              <span id='totalAmount'>{$form.currency.html|crmAddClass:eight}&nbsp;{$form.total_amount.html|crmAddClass:eight}</span>
+              {if $freezeFinancialType}
+                {help id="id-total_amount"}
+              {/if}
+              {if !$payNow}
+                {if $hasPriceSets}
+                  <span id='totalAmountORPriceSet'> {ts}OR{/ts}</span>
+                  <span id='selectPriceSet'>{$form.price_set_id.html}</span>
+                  <div id="priceset" class="hiddenElement"></div>
+                {/if}
 
-          {if $ppID}{ts}<a class='action-item crm-hover-button' onclick='adjustPayment();'>adjust payment amount</a>{/ts}{help id="adjust-payment-amount"}{/if}
-          <div id="totalAmountBlock">
-            {if $hasPriceSets}<span class="description">{ts}Alternatively, you can use a price set.{/ts}</span>{/if}
-            <div id="totalTaxAmount" class="label"></div>
-          </div>
-        {/if}
-      </td>
-    </tr>
-
-      {if $buildRecurBlock && !$payNow}
-      <tr id='recurringPaymentBlock' class='hiddenElement'>
-        <td></td>
-        <td>
-          <strong>{$form.is_recur.html} {ts}every{/ts}
-            &nbsp;{$form.frequency_interval.html}
-            &nbsp;{$form.frequency_unit.html}&nbsp;
-            {ts}for{/ts}
-            &nbsp;{$form.installments.html}
-            &nbsp;{$form.installments.label}
-          </strong>
-          <br />
-          <span class="description">
+                {if $ppID}{ts}<a class='action-item crm-hover-button' onclick='adjustPayment();'>adjust payment amount</a>{/ts}{help id="adjust-payment-amount"}{/if}
+                <div id="totalAmountBlock">
+                  {if $hasPriceSets}<span class="description">{ts}Alternatively, you can use a price set.{/ts}</span>{/if}
+                  <div id="totalTaxAmount" class="label"></div>
+                </div>
+              {/if}
+            </td>
+          </tr>
+
+          {if $buildRecurBlock && !$payNow}
+            <tr id='recurringPaymentBlock' class='hiddenElement'>
+              <td></td>
+              <td>
+                <strong>{$form.is_recur.html} {ts}every{/ts}
+                  &nbsp;{$form.frequency_interval.html}
+                  &nbsp;{$form.frequency_unit.html}&nbsp;
+                  {ts}for{/ts}
+                  &nbsp;{$form.installments.html}
+                  &nbsp;{$form.installments.label}
+                </strong>
+                <br />
+                <span class="description">
             {ts}Your recurring contribution will be processed automatically for the number of installments you specify. You can leave the number of installments blank if you want to make an open-ended commitment. In either case, you can choose to cancel at any time. You will receive an email receipt for each recurring contribution. The receipts will include a link you can use if you decide to modify or cancel your future contributions.{/ts}
           </span>
-        </td>
-      </tr>
-      {/if}
+              </td>
+            </tr>
+          {/if}
 
-    <tr id="adjust-option-type" class="crm-contribution-form-block-option_type">
-      <td class="label"></td><td {$valueStyle}>{$form.option_type.html}</td>
-    </tr>
-    {/if}
-    {if $contributionMode && $processorSupportsFutureStartDate}
-    <tr id='start_date' class="crm-contribution-form-block-receive_date">
-      <td class="label">{ts}Start Date{/ts}</td>
-      <td {$valueStyle}>{if $hideCalender neq true}{$form.receive_date.html}{/if}<br />
-        <span class="description">{ts}You can set a start date for recurring contributions and the first payment will be on that date. For a single post-dated contribution you must select recurring and choose one installment{/ts}</span>
-      </td>
-    </tr>
-    {/if}
+          <tr id="adjust-option-type" class="crm-contribution-form-block-option_type">
+            <td class="label"></td><td {$valueStyle}>{$form.option_type.html}</td>
+          </tr>
+        {/if}
+        {if $contributionMode && $processorSupportsFutureStartDate}
+          <tr id='start_date' class="crm-contribution-form-block-receive_date">
+            <td class="label">{ts}Start Date{/ts}</td>
+            <td {$valueStyle}>{if $hideCalender neq true}{$form.receive_date.html}{/if}<br />
+              <span class="description">{ts}You can set a start date for recurring contributions and the first payment will be on that date. For a single post-dated contribution you must select recurring and choose one installment{/ts}</span>
+            </td>
+          </tr>
+        {/if}
+
+        <tr class="crm-contribution-form-block-source">
+          <td class="label">{$form.source.label}</td>
+          <td {$valueStyle}>{$form.source.html|crmAddClass:huge} {help id="id-contrib_source"}
+          </td>
+        </tr>
 
-  <tr class="crm-contribution-form-block-source">
-    <td class="label">{$form.source.label}</td>
-    <td {$valueStyle}>{$form.source.html|crmAddClass:huge} {help id="id-contrib_source"}
-    </td>
-  </tr>
-
-  {* CRM-7362 --add campaign to contributions *}
-  {include file="CRM/Campaign/Form/addCampaignToComponent.tpl" campaignTrClass="crm-contribution-form-block-campaign_id"}
-
-    {if !$contributionMode || $payNow}
-      <tr class="crm-contribution-form-block-contribution_status_id">
-        <td class="label">{$form.contribution_status_id.label}</td>
-        <td>{$form.contribution_status_id.html}
-        {if $contribution_status_id eq 2}{if $is_pay_later }: {ts}Pay Later{/ts} {else}: {ts}Incomplete Transaction{/ts}{/if}{/if}
-        </td>
-        <td>
-        {if !$isUsePaymentBlock && $contactId && $contribID && $contributionMode EQ null && $contribution_status_id eq 2}
-          {capture assign=payNowLink}{crmURL p='civicrm/contact/view/contribution' q="reset=1&action=update&id=`$contribID`&cid=`$contactId`&context=`$context`&mode=live"}{/capture}
-          <a class="open-inline action-item crm-hover-button" href="{$payNowLink}"><i class="crm-i fa-credit-card" aria-hidden="true"></i> {ts}Pay with Credit Card{/ts}</a>
+        {* CRM-7362 --add campaign to contributions *}
+        {include file="CRM/Campaign/Form/addCampaignToComponent.tpl" campaignTrClass="crm-contribution-form-block-campaign_id"}
+
+        {if !$contributionMode || $payNow}
+          <tr class="crm-contribution-form-block-contribution_status_id">
+            <td class="label">{$form.contribution_status_id.label}</td>
+            <td>{$form.contribution_status_id.html}
+              {if $contribution_status_id eq 2}{if $is_pay_later }: {ts}Pay Later{/ts} {else}: {ts}Incomplete Transaction{/ts}{/if}{/if}
+            </td>
+            <td>
+              {if !$isUsePaymentBlock && $contactId && $contribID && $contributionMode EQ null && $contribution_status_id eq 2}
+                {capture assign=payNowLink}{crmURL p='civicrm/contact/view/contribution' q="reset=1&action=update&id=`$contribID`&cid=`$contactId`&context=`$context`&mode=live"}{/capture}
+                <a class="open-inline action-item crm-hover-button" href="{$payNowLink}"><i class="crm-i fa-credit-card" aria-hidden="true"></i> {ts}Pay with Credit Card{/ts}</a>
+              {/if}
+            </td>
+          </tr>
+        {/if}
+
+        {if !$contributionMode}
+          {* Cancellation / Refunded fields are hidden unless contribution status is set to Cancelled or Refunded*}
+          <tr id="cancelInfo" class="crm-contribution-form-block-cancelInfo">
+            <td>&nbsp;</td>
+            <td><fieldset><legend>{ts}Cancellation or Refund Information{/ts}</legend>
+                <table class="form-layout-compressed">
+                  <tr id="cancelDate" class="crm-contribution-form-block-cancel_date">
+                    <td class="label">{$form.cancel_date.label}</td>
+                    <td>
+                      {if $hideCalendar neq true}
+                        {$form.cancel_date.html}
+                      {else}
+                        {$form.cancel_date.value|crmDate}
+                      {/if}
+                    </td>
+                  </tr>
+                  <tr id="cancelDescription" class="crm-contribution-form-block-cancel_reason">
+                    <td class="label">&nbsp;</td>
+                    <td class="description">{ts}Enter the cancellation or refunded date, or you can skip this field and the cancellation date or refunded date will be automatically set to TODAY.{/ts}</td>
+                  </tr>
+                  <tr id="cancelReason">
+                    <td class="label" style="vertical-align: top;">{$form.cancel_reason.label}</td>
+                    <td>{$form.cancel_reason.html}</td>
+                  </tr>
+                  <tr id="refundTrxnID">
+                    <td class="label" style="vertical-align: top;">{$form.refund_trxn_id.label}</td>
+                    <td>{$form.refund_trxn_id.html}</td>
+                  </tr>
+                </table>
+              </fieldset>
+            </td>
+          </tr>
+          <tr class="crm-contribution-form-block-receive_date">
+            <td class="label">{$form.receive_date.label}</td>
+            <td>{$form.receive_date.html}<br />
+              <span class="description">{ts}The date this contribution was received.{/ts}</span>
+            </td>
+          </tr>
+        {/if}
+        {if $form.revenue_recognition_date && !$payNow}
+          <tr class="crm-contribution-form-block-revenue_recognition_date">
+            <td class="label">{$form.revenue_recognition_date.label}</td>
+            <td>{$form.revenue_recognition_date.html}</td>
+          </tr>
         {/if}
-      </td>
-      </tr>
-    {/if}
+
+        {if $email and $outBound_option != 2}
+          <tr class="crm-contribution-form-block-is_email_receipt">
+            <td class="label">{$form.is_email_receipt.label}</td>
+            <td>{$form.is_email_receipt.html}&nbsp;
+              <span class="description">{ts 1=$email}Automatically email a receipt for this payment to %1?{/ts}</span>
+            </td>
+          </tr>
+        {elseif $context eq 'standalone' and $outBound_option != 2 }
+          <tr id="email-receipt" style="display:none;" class="crm-contribution-form-block-is_email_receipt">
+            <td class="label">{$form.is_email_receipt.label}</td>
+            <td>{$form.is_email_receipt.html} <span class="description">{ts}Automatically email a receipt for this payment to {/ts}<span id="email-address"></span>?</span>
+            </td>
+          </tr>
+        {/if}
+        <tr id="fromEmail" class="crm-contribution-form-block-receipt_date" style="display:none;">
+          <td class="label">{$form.from_email_address.label}</td>
+          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+        </tr>
+        <tr id="receiptDate" class="crm-contribution-form-block-receipt_date">
+          <td class="label">{$form.receipt_date.label}</td>
+          <td>{$form.receipt_date.html}<br />
+            <span class="description">{ts}Date that a receipt was sent to the contributor.{/ts}</span>
+          </td>
+        </tr>
+        {if $form.payment_processor_id}
+          <tr class="crm-contribution-form-block-payment_processor_id"><td class="label nowrap">{$form.payment_processor_id.label}<span class="crm-marker"> * </span></td><td>{$form.payment_processor_id.html}</td></tr>
+        {/if}
+      </table>
 
     {if !$contributionMode}
-      {* Cancellation / Refunded fields are hidden unless contribution status is set to Cancelled or Refunded*}
-      <tr id="cancelInfo" class="crm-contribution-form-block-cancelInfo">
-        <td>&nbsp;</td>
-        <td><fieldset><legend>{ts}Cancellation or Refund Information{/ts}</legend>
-          <table class="form-layout-compressed">
-            <tr id="cancelDate" class="crm-contribution-form-block-cancel_date">
-              <td class="label">{$form.cancel_date.label}</td>
-              <td>
-                {if $hideCalendar neq true}
-                  {$form.cancel_date.html}
-                {else}
-                  {$form.cancel_date.value|crmDate}
-                {/if}
-              </td>
-            </tr>
-            <tr id="cancelDescription" class="crm-contribution-form-block-cancel_reason">
-              <td class="label">&nbsp;</td>
-              <td class="description">{ts}Enter the cancellation or refunded date, or you can skip this field and the cancellation date or refunded date will be automatically set to TODAY.{/ts}</td>
+      <fieldset class="payment-details_group">
+        <legend>
+          {ts}Payment Details{/ts}
+        </legend>
+        {if $isUsePaymentBlock}
+          {include file="CRM/Contribute/Form/PaymentInfoBlock.tpl"}
+        {else}
+          <table class="form-layout-compressed" >
+            <tr class="crm-contribution-form-block-payment_instrument_id">
+              <td class="label">{$form.payment_instrument_id.label}</td>
+              <td {$valueStyle}>{$form.payment_instrument_id.html} {help id="payment_instrument_id"}</td>
             </tr>
-            <tr id="cancelReason">
-              <td class="label" style="vertical-align: top;">{$form.cancel_reason.label}</td>
-              <td>{$form.cancel_reason.html}</td>
-            </tr>
-            <tr id="refundTrxnID">
-              <td class="label" style="vertical-align: top;">{$form.refund_trxn_id.label}</td>
-              <td>{$form.refund_trxn_id.html}</td>
+            <tr class="crm-contribution-form-block-trxn_id">
+              <td class="label">{$form.trxn_id.label}</td>
+              <td {$valueStyle}>{$form.trxn_id.html} {help id="id-trans_id"}</td>
             </tr>
           </table>
-        </fieldset>
-        </td>
-      </tr>
-      <tr class="crm-contribution-form-block-receive_date">
-        <td class="label">{$form.receive_date.label}</td>
-        <td>{$form.receive_date.html}<br />
-          <span class="description">{ts}The date this contribution was received.{/ts}</span>
-        </td>
-      </tr>
-    {/if}
-    {if $form.revenue_recognition_date && !$payNow}
-      <tr class="crm-contribution-form-block-revenue_recognition_date">
-        <td class="label">{$form.revenue_recognition_date.label}</td>
-        <td>{$form.revenue_recognition_date.html}</td>
-      </tr>
+        {/if}
+      </fieldset>
     {/if}
 
-    {if $email and $outBound_option != 2}
-      <tr class="crm-contribution-form-block-is_email_receipt">
-        <td class="label">{$form.is_email_receipt.label}</td>
-        <td>{$form.is_email_receipt.html}&nbsp;
-          <span class="description">{ts 1=$email}Automatically email a receipt for this payment to %1?{/ts}</span>
-        </td>
-      </tr>
-    {elseif $context eq 'standalone' and $outBound_option != 2 }
-      <tr id="email-receipt" style="display:none;" class="crm-contribution-form-block-is_email_receipt">
-        <td class="label">{$form.is_email_receipt.label}</td>
-        <td>{$form.is_email_receipt.html} <span class="description">{ts}Automatically email a receipt for this payment to {/ts}<span id="email-address"></span>?</span>
-        </td>
-      </tr>
-    {/if}
-    <tr id="fromEmail" class="crm-contribution-form-block-receipt_date" style="display:none;">
-      <td class="label">{$form.from_email_address.label}</td>
-      <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
-    </tr>
-    <tr id="receiptDate" class="crm-contribution-form-block-receipt_date">
-      <td class="label">{$form.receipt_date.label}</td>
-      <td>{$form.receipt_date.html}<br />
-        <span class="description">{ts}Date that a receipt was sent to the contributor.{/ts}</span>
-      </td>
-    </tr>
-    {if $form.payment_processor_id}
-      <tr class="crm-contribution-form-block-payment_processor_id"><td class="label nowrap">{$form.payment_processor_id.label}<span class="crm-marker"> * </span></td><td>{$form.payment_processor_id.html}</td></tr>
+    {if !$isUsePaymentBlock}
+      {include file='CRM/Core/BillingBlockWrapper.tpl'}
     {/if}
-  </table>
-
-  {if !$contributionMode}
-    <fieldset class="payment-details_group">
-      <legend>
-        {ts}Payment Details{/ts}
-      </legend>
-      {if $isUsePaymentBlock}
-        {include file="CRM/Contribute/Form/PaymentInfoBlock.tpl"}
-      {else}
-        <table class="form-layout-compressed" >
-          <tr class="crm-contribution-form-block-payment_instrument_id">
-            <td class="label">{$form.payment_instrument_id.label}</td>
-            <td {$valueStyle}>{$form.payment_instrument_id.html} {help id="payment_instrument_id"}</td>
-            </td>
-          </tr>
-          <tr class="crm-contribution-form-block-trxn_id">
-            <td class="label">{$form.trxn_id.label}</td>
-            <td {$valueStyle}>{$form.trxn_id.html} {help id="id-trans_id"}</td>
-          </tr>
-        </table>
-      {/if}
-      </fieldset>
-  {/if}
-
-  {if !$isUsePaymentBlock}
-    {include file='CRM/Core/BillingBlockWrapper.tpl'}
-  {/if}
 
     <!-- start of soft credit -->
     {if !$payNow}
                 <div class="description">{ts}Search for the Personal Campaign Page by the fund-raiser's last name or email address.{/ts}</div>
 
                 <div class="spacer"></div>
-                 <div class="crm-contribution-form-block-pcp_details">
+                <div class="crm-contribution-form-block-pcp_details">
                   <table class="crm-contribution-form-table-credit_to_pcp">
                     <tr id="pcpDisplayRollID" class="crm-contribution-form-block-pcp_display_in_roll">
                       <td class="label">{$form.pcp_display_in_roll.label}</td>
                       <td class="label" style="vertical-align: top">{$form.pcp_personal_note.label}</td>
                       <td>
                         {$form.pcp_personal_note.html}
-                        <div
-                          class="description">{ts}Personal message submitted by contributor for display in the Honor Roll.{/ts}</div>
+                        <div class="description">{ts}Personal message submitted by contributor for display in the Honor Roll.{/ts}</div>
                       </td>
                     </tr>
                   </table>
     {/if}
     <!-- end of PCP -->
 
-  {if !$payNow}
-    {include file="CRM/common/customDataBlock.tpl"}
-  {/if}
+    {if !$payNow}
+      {include file="CRM/common/customDataBlock.tpl"}
+    {/if}
 
-  {literal}
-  <script type="text/javascript">
-    CRM.$(function($) {
-    {/literal}
-      {if $buildPriceSet}{literal}buildAmount();{/literal}{/if}
     {literal}
-
-    // bind first click of accordion header to load crm-accordion-body with snippet
-    // everything else taken care of by cj().crm-accordions()
-      cj('#adjust-option-type').hide();
-      cj('.crm-ajax-accordion .crm-accordion-header').one('click', function() {
-        loadPanes(cj(this).attr('id'));
-      });
-      cj('.crm-ajax-accordion:not(.collapsed) .crm-accordion-header').each(function(index) {
-        loadPanes(cj(this).attr('id'));
-      });
-    });
-    // load panes function calls for snippet based on id of crm-accordion-header
-    function loadPanes( id ) {
-      var url = "{/literal}{crmURL p='civicrm/contact/view/contribution' q="snippet=4&id=`$entityID`&formType=" h=0}{literal}" + id;
-      {/literal}
-      {if $contributionMode}
-        url = url + "&mode={$contributionMode}";
-      {/if}
-      {if $qfKey}
-        url = url + "&qfKey={$qfKey}";
-      {/if}
-      {literal}
-      if (! cj('div.'+id).html()) {
-        var loading = '<img src="{/literal}{$config->resourceBase}i/loading.gif{literal}" alt="{/literal}{ts escape='js'}loading{/ts}{literal}" />&nbsp;{/literal}{ts escape='js'}Loading{/ts}{literal}...';
-        cj('div.'+id).html(loading);
-        cj.ajax({
-          url    : url,
-          success: function(data) { cj('div.'+id).html(data).trigger('crmLoad'); }
+      <script type="text/javascript">
+        CRM.$(function($) {
+          {/literal}
+          {if $buildPriceSet}{literal}buildAmount();{/literal}{/if}
+          {literal}
+
+          // bind first click of accordion header to load crm-accordion-body with snippet
+          // everything else taken care of by cj().crm-accordions()
+          cj('#adjust-option-type').hide();
+          cj('.crm-ajax-accordion .crm-accordion-header').one('click', function() {
+            loadPanes(cj(this).attr('id'));
+          });
+          cj('.crm-ajax-accordion:not(.collapsed) .crm-accordion-header').each(function(index) {
+            loadPanes(cj(this).attr('id'));
+          });
         });
-      }
-    }
-
-  var url = {/literal}{$dataUrl|@json_encode}{literal};
-
-  {/literal}
-    {if $context eq 'standalone' and $outBound_option != 2 }
-      {literal}
-      CRM.$(function($) {
-
-        var $form = $("form.{/literal}{$form.formClass}{literal}");
-        $("#contact_id", $form).change(checkEmail);
-        checkEmail( );
-
-        function checkEmail( ) {
-          var data = $("#contact_id", $form).select2('data');
-          if (data && data.extra && data.extra.email && data.extra.email.length) {
-            $("#email-receipt", $form).show();
-            $("#email-address", $form).html(data.extra.email);
-          }
-          else {
-            $("#email-receipt", $form).hide();
+        // load panes function calls for snippet based on id of crm-accordion-header
+        function loadPanes(id) {
+          var url = "{/literal}{crmURL p='civicrm/contact/view/contribution' q="snippet=4&id=`$entityID`&formType=" h=0}{literal}" + id;
+          {/literal}
+          {if $contributionMode}
+          url = url + "&mode={$contributionMode}";
+          {/if}
+          {if $qfKey}
+          url = url + "&qfKey={$qfKey}";
+          {/if}
+          {literal}
+          if (! cj('div.'+id).html()) {
+            var loading = '<img src="{/literal}{$config->resourceBase}i/loading.gif{literal}" alt="{/literal}{ts escape='js'}loading{/ts}{literal}" />&nbsp;{/literal}{ts escape='js'}Loading{/ts}{literal}...';
+            cj('div.'+id).html(loading);
+            cj.ajax({
+              url    : url,
+              success: function(data) { cj('div.'+id).html(data).trigger('crmLoad'); }
+            });
           }
         }
 
-        showHideByValue( 'is_email_receipt', '', 'receiptDate', 'table-row', 'radio', true);
-        showHideByValue( 'is_email_receipt', '', 'fromEmail', 'table-row', 'radio', false );
-      });
+        var url = {/literal}{$dataUrl|@json_encode}{literal};
 
-    {/literal}
-    {/if}
-  </script>
-
-  <div class="accordion ui-accordion ui-widget ui-helper-reset">
-  {* Additional Detail / Honoree Information / Premium Information *}
-    {foreach from=$allPanes key=paneName item=paneValue}
+        {/literal}
+        {if $context eq 'standalone' and $outBound_option != 2}
+        {literal}
+        CRM.$(function($) {
 
-      <div class="crm-accordion-wrapper crm-ajax-accordion crm-{$paneValue.id}-accordion {if $paneValue.open neq 'true'}collapsed{/if}">
-        <div class="crm-accordion-header" id="{$paneValue.id}">
+          var $form = $("form.{/literal}{$form.formClass}{literal}");
+          $("#contact_id", $form).change(checkEmail);
+          checkEmail();
 
-          {$paneName}
-        </div><!-- /.crm-accordion-header -->
-        <div class="crm-accordion-body">
+          function checkEmail() {
+            var data = $("#contact_id", $form).select2('data');
+            if (data && data.extra && data.extra.email && data.extra.email.length) {
+              $("#email-receipt", $form).show();
+              $("#email-address", $form).html(data.extra.email);
+            }
+            else {
+              $("#email-receipt", $form).hide();
+            }
+          }
 
-          <div class="{$paneValue.id}"></div>
-        </div><!-- /.crm-accordion-body -->
-      </div><!-- /.crm-accordion-wrapper -->
+          showHideByValue('is_email_receipt', '', 'receiptDate', 'table-row', 'radio', true);
+          showHideByValue('is_email_receipt', '', 'fromEmail', 'table-row', 'radio', false);
+        });
 
-    {/foreach}
+        {/literal}
+        {/if}
+      </script>
+
+      <div class="accordion ui-accordion ui-widget ui-helper-reset">
+        {* Additional Detail / Honoree Information / Premium Information *}
+        {foreach from=$allPanes key=paneName item=paneValue}
+          <div class="crm-accordion-wrapper crm-ajax-accordion crm-{$paneValue.id}-accordion {if $paneValue.open neq 'true'}collapsed{/if}">
+            <div class="crm-accordion-header" id="{$paneValue.id}">
+              {$paneName}
+            </div><!-- /.crm-accordion-header -->
+            <div class="crm-accordion-body">
+              <div class="{$paneValue.id}"></div>
+            </div><!-- /.crm-accordion-body -->
+          </div><!-- /.crm-accordion-wrapper -->
+        {/foreach}
+      </div>
+    {/if}
+    <br />
+    <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
   </div>
 
-  {/if}
-<br />
-<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
-</div>
-
-  {literal}
+{literal}
   <script type="text/javascript">
-  function verify( ) {
-    if (cj('#is_email_receipt').prop('checked' )) {
-      var ok = confirm( '{/literal}{ts escape='js'}Click OK to save this contribution record AND send a receipt to the contributor now{/ts}{literal}.' );
-      if (!ok) {
-        return false;
+    function verify() {
+      if (cj('#is_email_receipt').prop('checked')) {
+        var ok = confirm('{/literal}{ts escape='js'}Click OK to save this contribution record AND send a receipt to the contributor now{/ts}{literal}.');
+        if (!ok) {
+          return false;
+        }
       }
     }
-  }
   </script>
-  {/literal}
+{/literal}
 
   {if $action neq 8}
-    {literal}
+  {literal}
     <script type="text/javascript">
       CRM.$(function($) {
         var $form = $('form.{/literal}{$form.formClass}{literal}');
           checkEmailDependancies();
         });
 
-        function checkEmailDependancies( ) {
+        function checkEmailDependancies() {
           if ($('#is_email_receipt', $form).prop('checked')) {
             $('#fromEmail', $form).show();
             $('#receiptDate', $form).hide();
           }
         }
         {/literal}{if !$contributionMode}{literal}
-          showHideCancelInfo($('#contribution_status_id', $form));
+        showHideCancelInfo($('#contribution_status_id', $form));
 
-          $('#contribution_status_id', $form).change(function() {
-            showHideCancelInfo($('#contribution_status_id', $form));
-          });
+        $('#contribution_status_id', $form).change(function() {
+          showHideCancelInfo($('#contribution_status_id', $form));
+        });
 
-          function showHideCancelInfo(obj) {
-            var cancelInfo_show_ids = [{/literal}{$cancelInfo_show_ids}{literal}];
-            if (cancelInfo_show_ids.indexOf(obj.val()) > -1) {
-              $('#cancelInfo', $form).show();
-              $('#total_amount', $form).attr('readonly', true);
-            }
-            else {
-              $("#cancel_date", $form).val('');
-              $("#cancel_reason", $form).val('');
-              $('#cancelInfo', $form).hide();
-              $("#total_amount", $form).removeAttr('readonly');
-            }
+        function showHideCancelInfo(obj) {
+          var cancelInfo_show_ids = [{/literal}{$cancelInfo_show_ids}{literal}];
+          if (cancelInfo_show_ids.indexOf(obj.val()) > -1) {
+            $('#cancelInfo', $form).show();
+            $('#total_amount', $form).attr('readonly', true);
           }
+          else {
+            $("#cancel_date", $form).val('');
+            $("#cancel_reason", $form).val('');
+            $('#cancelInfo', $form).hide();
+            $("#total_amount", $form).removeAttr('readonly');
+          }
+        }
         {/literal}{/if}
       });
     </script>
 {literal}
 <script type="text/javascript">
 
-{/literal}
+  {/literal}
 
-// load form during form rule.
-{if $buildPriceSet}{literal}buildAmount( );{/literal}{/if}
+  // load form during form rule.
+  {if $buildPriceSet}{literal}buildAmount();{/literal}{/if}
 
-{literal}
+  {literal}
 
-// CRM-16451: set financial type of 'Price Set' in back office contribution
-// instead of selecting manually
-function buildAmount( priceSetId, financialtypeIds ) {
-  if (!priceSetId) priceSetId = cj("#price_set_id").val( );
-  var fname = '#priceset';
-  if (!priceSetId) {
-    // hide price set fields.
-    cj(fname).hide( );
-
-    // show/hide price set amount and total amount.
-    cj("#totalAmountORPriceSet").show( );
-    cj("#totalAmount").show( );
-    var choose = "{/literal}{ts escape='js'}Choose price set{/ts}{literal}";
-    cj("#price_set_id option[value='']").html( choose );
-
-    cj('label[for="total_amount"]').text('{/literal}{ts}Total Amount{/ts}{literal}');
-    cj(".crm-contribution-form-block-financial_type_id").show();
-    cj("#financial_type_id option[value='']").attr('selected', true);
-
-    //we might want to build recur block.
-    if (cj("#is_recur")) buildRecurBlock( null );
-    return;
-  }
+  // CRM-16451: set financial type of 'Price Set' in back office contribution
+  // instead of selecting manually
+  function buildAmount(priceSetId, financialtypeIds) {
+    if (!priceSetId) { priceSetId = cj("#price_set_id").val(); }
+    var fname = '#priceset';
+    if (!priceSetId) {
+      // hide price set fields.
+      cj(fname).hide();
+
+      // show/hide price set amount and total amount.
+      cj("#totalAmountORPriceSet").show();
+      cj("#totalAmount").show();
+      var choose = "{/literal}{ts escape='js'}Choose price set{/ts}{literal}";
+      cj("#price_set_id option[value='']").html(choose);
+
+      cj('label[for="total_amount"]').text('{/literal}{ts}Total Amount{/ts}{literal}');
+      cj(".crm-contribution-form-block-financial_type_id").show();
+      cj("#financial_type_id option[value='']").attr('selected', true);
+
+      //we might want to build recur block.
+      if (cj("#is_recur")) { buildRecurBlock(null); }
+      return;
+    }
 
-  //don't allow recurring w/ priceset.
-  if ( cj( "#is_recur" ) && cj( 'input:radio[name="is_recur"]:checked').val( ) ) {
-    //reset the values of recur block.
-    cj("#installments").val('');
-    cj("#frequency_interval").val('');
-    cj('input:radio[name="is_recur"]')[0].checked = true;
-    cj("#recurringPaymentBlock").hide( );
-  }
+    //don't allow recurring w/ priceset.
+    if (cj("#is_recur") && cj('input:radio[name="is_recur"]:checked').val()) {
+      //reset the values of recur block.
+      cj("#installments").val('');
+      cj("#frequency_interval").val('');
+      cj('input:radio[name="is_recur"]')[0].checked = true;
+      cj("#recurringPaymentBlock").hide();
+    }
 
-  var dataUrl = {/literal}"{crmURL h=0 q='snippet=4'}"{literal} + '&priceSetId=' + priceSetId;
+    var dataUrl = {/literal}"{crmURL h=0 q='snippet=4'}"{literal} + '&priceSetId=' + priceSetId;
 
-  var response = cj.ajax({
-    url: dataUrl,
-    async: false
-  }).responseText;
+    var response = cj.ajax({
+      url: dataUrl,
+      async: false
+    }).responseText;
 
-  cj( fname ).show( ).html( response ).trigger('crmLoad');
-  // freeze total amount text field.
-  cj( "#total_amount").val('');
+    cj(fname).show().html(response).trigger('crmLoad');
+    // freeze total amount text field.
+    cj( "#total_amount").val('');
 
-  cj( "#totalAmountORPriceSet" ).hide( );
-  cj( "#totalAmount").hide( );
-  var manual = "{/literal}{ts escape='js'}Manual contribution amount{/ts}{literal}";
-  cj("#price_set_id option[value='']").html( manual );
+    cj( "#totalAmountORPriceSet" ).hide();
+    cj( "#totalAmount").hide();
+    var manual = "{/literal}{ts escape='js'}Manual contribution amount{/ts}{literal}";
+    cj("#price_set_id option[value='']").html(manual);
 
-  cj('label[for="total_amount"]').text('{/literal}{ts}Price Sets{/ts}{literal}');
-  if (financialtypeIds) {
-    cj("#financial_type_id option[value="+financialtypeIds[priceSetId]+"]").prop('selected', true);
+    cj('label[for="total_amount"]').text('{/literal}{ts}Price Sets{/ts}{literal}');
+    if (financialtypeIds) {
+      cj("#financial_type_id option[value="+financialtypeIds[priceSetId]+"]").prop('selected', true);
+    }
+    cj(".crm-contribution-form-block-financial_type_id").css("display", "none");
   }
-  cj(".crm-contribution-form-block-financial_type_id").css("display", "none");
-}
 
-function adjustPayment( ) {
-  cj('#adjust-option-type').show();
-  cj("#total_amount").removeAttr("READONLY");
-  cj("#total_amount").css('background-color', '#ffffff');
-}
+  function adjustPayment() {
+    cj('#adjust-option-type').show();
+    cj("#total_amount").removeAttr("READONLY");
+    cj("#total_amount").css('background-color', '#ffffff');
+  }
 
-{/literal}{if $processorSupportsFutureStartDate}{literal}
-cj ('#is_recur').click( function( ) {
-  showStartDate( );
-});
+  {/literal}{if $processorSupportsFutureStartDate}{literal}
+  cj ('#is_recur').click(function() {
+    showStartDate();
+  });
 
-showStartDate( );
+  showStartDate();
 
-function showStartDate( ) {
-  if (!cj('#is_recur').is(':checked')) {
-    cj('#start_date').hide( );
-  }
-  else {
-    cj('#start_date').show( );
+  function showStartDate() {
+    if (!cj('#is_recur').is(':checked')) {
+      cj('#start_date').hide();
+    }
+    else {
+      cj('#start_date').show();
+    }
   }
-}
 
-{/literal}{/if}{literal}
-var thousandMarker = "{/literal}{$config->monetaryThousandSeparator}{literal}";
-var separator = "{/literal}{$config->monetaryDecimalPoint}{literal}";
+  {/literal}{/if}{literal}
+  var thousandMarker = "{/literal}{$config->monetaryThousandSeparator}{literal}";
+  var separator = "{/literal}{$config->monetaryDecimalPoint}{literal}";
 
-cj("#financial_type_id").on("change",function(){
+  cj("#financial_type_id").on("change", function() {
     cj('#total_amount').trigger("change");
-})
-
-cj("#currency").on("change",function(){
-  cj('#total_amount').trigger("change");
-})
-
-{/literal}{if $taxRates && $invoicing}{literal}
-CRM.$(function($) {
-  $('#total_amount').on("change",function(event) {
-    if (event.handled !== true) {
-      var freezeFinancialType = '{/literal}{$freezeFinancialType}{literal}';
-      if (!freezeFinancialType) {
-        var financialType = $('#financial_type_id').val();
-        var taxRates = '{/literal}{$taxRates}{literal}';
-        var taxTerm = '{/literal}{$taxTerm}{literal}';
-        taxRates = JSON.parse(taxRates);
-        var currencies = '{/literal}{$currencies}{literal}';
-        currencies = JSON.parse(currencies);
-        var currencySelect = $('#currency').val();
-        var currencySymbol = currencies[currencySelect];
-        var re= /\((.*?)\)/g;
-        for(m = re.exec(currencySymbol); m; m = re.exec(currencySymbol)){
-          currencySymbol = m[1];
-        }
-        var taxRate = taxRates[financialType];
-        if (!taxRate) {
-          taxRate = 0;
-          cj("#totalTaxAmount").hide( );
-        } else {
-          cj("#totalTaxAmount").show( );
+  })
+
+  cj("#currency").on("change", function() {
+    cj('#total_amount').trigger("change");
+  })
+
+  {/literal}{if $taxRates && $invoicing}{literal}
+  CRM.$(function($) {
+    $('#total_amount').on("change", function(event) {
+      if (event.handled !== true) {
+        var freezeFinancialType = '{/literal}{$freezeFinancialType}{literal}';
+        if (!freezeFinancialType) {
+          var financialType = $('#financial_type_id').val();
+          var taxRates = '{/literal}{$taxRates}{literal}';
+          var taxTerm = '{/literal}{$taxTerm}{literal}';
+          taxRates = JSON.parse(taxRates);
+          var currencies = '{/literal}{$currencies}{literal}';
+          currencies = JSON.parse(currencies);
+          var currencySelect = $('#currency').val();
+          var currencySymbol = currencies[currencySelect];
+          var re= /\((.*?)\)/g;
+          for(m = re.exec(currencySymbol); m; m = re.exec(currencySymbol)){
+            currencySymbol = m[1];
+          }
+          var taxRate = taxRates[financialType];
+          if (!taxRate) {
+            taxRate = 0;
+            cj("#totalTaxAmount").hide();
+          } else {
+            cj("#totalTaxAmount").show();
+          }
+          var totalAmount = $('#total_amount').val();
+          // replace all thousandMarker and change the separator to a dot
+          totalAmount = totalAmount.replace(thousandMarker,'').replace(separator,'.');
+
+          var totalTaxAmount = '{/literal}{$totalTaxAmount}{literal}';
+          var taxAmount = (taxRate/100)*totalAmount;
+          taxAmount = isNaN (taxAmount) ? 0:taxAmount;
+          var totalTaxAmount = taxAmount + Number(totalAmount);
+          totalTaxAmount = formatMoney( totalTaxAmount, 2, separator, thousandMarker );
+          $("#totalTaxAmount" ).html('{/literal}{ts 1=$taxTerm}Amount with %1 :{/ts}{literal} <span id="currencySymbolShow">' + currencySymbol + '</span> '+ totalTaxAmount);
         }
-        var totalAmount = $('#total_amount').val();
-        // replace all thousandMarker and change the separator to a dot
-        totalAmount = totalAmount.replace(thousandMarker,'').replace(separator,'.');
-
-        var totalTaxAmount = '{/literal}{$totalTaxAmount}{literal}';
-        var taxAmount = (taxRate/100)*totalAmount;
-        taxAmount = isNaN (taxAmount) ? 0:taxAmount;
-        var totalTaxAmount = taxAmount + Number(totalAmount);
-        totalTaxAmount = formatMoney( totalTaxAmount, 2, separator, thousandMarker );
-        $("#totalTaxAmount" ).html('{/literal}{ts 1=$taxTerm}Amount with %1 :{/ts}{literal} <span id="currencySymbolShow">' + currencySymbol + '</span> '+ totalTaxAmount);
+        event.handled = true;
       }
-      event.handled = true;
-    }
-    return false;
-  });
+      return false;
+    });
 
-  $('#total_amount').trigger("change");
-});
-{/literal}{/if}{literal}
+    $('#total_amount').trigger("change");
+  });
+  {/literal}{/if}{literal}
 
-CRM.$(function($) {
-  $('#price_set_id').click(function() {
-    if( $('#price_set_id').val() ) {
-      $('#totalAmountBlock').hide();
-    }
-    else {
-      $('#totalAmountBlock').show();
-    }
+  CRM.$(function($) {
+    $('#price_set_id').click(function() {
+      if($('#price_set_id').val()) {
+        $('#totalAmountBlock').hide();
+      }
+      else {
+        $('#totalAmountBlock').show();
+      }
+    });
   });
-});
-
-function formatMoney (amount, c, d, t){
-  var n = amount,
-  c = isNaN(c = Math.abs(c)) ? 2 : c,
-  d = d == undefined ? "," : d,
-  t = t == undefined ? "." : t, s = n < 0 ? "-" : "",
-  i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "",
-  j = (j = i.length) > 3 ? j % 3 : 0;
-return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
-};
+
+  function formatMoney(amount, c, d, t) {
+    var n = amount,
+            c = isNaN(c = Math.abs(c)) ? 2 : c,
+            d = d == undefined ? "," : d,
+            t = t == undefined ? "." : t, s = n < 0 ? "-" : "",
+            i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "",
+            j = (j = i.length) > 3 ? j % 3 : 0;
+    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
+  };
 </script>
 {/literal}
index 6077fe49fdc4d4ed6422841ce2c9a6793905de3c..0b6a9443bb633358a9cd5aa5907cb1eaafbb0bb5 100644 (file)
     {include file="CRM/Contribute/Form/Contribution/OnBehalfOf.tpl" context="front-end"}
   </div>
 {else}
-  {literal}
+{literal}
   <script type="text/javascript">
 
-  // Putting these functions directly in template so they are available for standalone forms
-  function useAmountOther() {
-    var priceset = {/literal}{if $contriPriceset}'{$contriPriceset}'{else}0{/if}{literal};
-
-    for( i=0; i < document.Main.elements.length; i++ ) {
-      element = document.Main.elements[i];
-      if ( element.type == 'radio' && element.name == priceset ) {
-        if (element.value == '0' ) {
-          element.click();
-        }
-        else {
-          element.checked = false;
+    // Putting these functions directly in template so they are available for standalone forms
+    function useAmountOther() {
+      var priceset = {/literal}{if $contriPriceset}'{$contriPriceset}'{else}0{/if}{literal};
+
+      for( i=0; i < document.Main.elements.length; i++ ) {
+        element = document.Main.elements[i];
+        if ( element.type == 'radio' && element.name == priceset ) {
+          if (element.value == '0' ) {
+            element.click();
+          }
+          else {
+            element.checked = false;
+          }
         }
       }
     }
-  }
 
-  function clearAmountOther() {
-    var priceset = {/literal}{if $priceset}'#{$priceset}'{else}0{/if}{literal}
-    if( priceset ){
-      cj(priceset).val('');
-      cj(priceset).blur();
+    function clearAmountOther() {
+      var priceset = {/literal}{if $priceset}'#{$priceset}'{else}0{/if}{literal}
+      if( priceset ){
+        cj(priceset).val('');
+        cj(priceset).blur();
+      }
+      if (document.Main.amount_other == null) return; // other_amt field not present; do nothing
+      document.Main.amount_other.value = "";
     }
-    if (document.Main.amount_other == null) return; // other_amt field not present; do nothing
-    document.Main.amount_other.value = "";
-  }
 
   </script>
-  {/literal}
+{/literal}
 
   {if $action & 1024}
-  {include file="CRM/Contribute/Form/Contribution/PreviewHeader.tpl"}
+    {include file="CRM/Contribute/Form/Contribution/PreviewHeader.tpl"}
   {/if}
 
   {if $displayCaptchaWarning}
-  <div class="messages status no-popup">
+    <div class="messages status no-popup">
       {ts}To display reCAPTCHA on form you must get an API key from<br /> <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a>{/ts}
-  </div>
+    </div>
   {/if}
 
   {include file="CRM/common/TrackingFields.tpl"}
 
   <div class="crm-contribution-page-id-{$contributionPageID} crm-block crm-contribution-main-form-block">
 
-  {if $contact_id && !$ccid}
-    <div class="messages status no-popup crm-not-you-message">
-      {ts 1=$display_name}Welcome %1{/ts}. (<a href="{crmURL p='civicrm/contribute/transact' q="cid=0&reset=1&id=`$contributionPageID`"}" title="{ts}Click here to do this for a different person.{/ts}">{ts 1=$display_name}Not %1, or want to do this for a different person{/ts}</a>?)
-    </div>
-  {/if}
-
-  <div id="intro_text" class="crm-public-form-item crm-section intro_text-section">
-    {$intro_text}
-  </div>
-  {include file="CRM/common/cidzero.tpl"}
-  {if $islifetime or $ispricelifetime }
-  <div class="help">{ts}You have a current Lifetime Membership which does not need to be renewed.{/ts}</div>
-  {/if}
+    {if $contact_id && !$ccid}
+      <div class="messages status no-popup crm-not-you-message">
+        {ts 1=$display_name}Welcome %1{/ts}. (<a href="{crmURL p='civicrm/contribute/transact' q="cid=0&reset=1&id=`$contributionPageID`"}" title="{ts}Click here to do this for a different person.{/ts}">{ts 1=$display_name}Not %1, or want to do this for a different person{/ts}</a>?)
+      </div>
+    {/if}
 
-  {if !empty($useForMember) && !$ccid}
-    <div class="crm-public-form-item crm-section">
-      {include file="CRM/Contribute/Form/Contribution/MembershipBlock.tpl" context="makeContribution"}
+    <div id="intro_text" class="crm-public-form-item crm-section intro_text-section">
+      {$intro_text}
     </div>
-  {elseif !empty($ccid)}
-    {if $lineItem && $priceSetID && !$is_quick_config}
-      <div class="header-dark">
-        {ts}Contribution Information{/ts}{if $display_name} &ndash; {$display_name}{/if}
+    {include file="CRM/common/cidzero.tpl"}
+    {if $islifetime or $ispricelifetime}
+      <div class="help">{ts}You have a current Lifetime Membership which does not need to be renewed.{/ts}</div>
+    {/if}
+
+    {if !empty($useForMember) && !$ccid}
+      <div class="crm-public-form-item crm-section">
+        {include file="CRM/Contribute/Form/Contribution/MembershipBlock.tpl" context="makeContribution"}
       </div>
-      {assign var="totalAmount" value=$pendingAmount}
-      {include file="CRM/Price/Page/LineItem.tpl" context="Contribution"}
+    {elseif !empty($ccid)}
+      {if $lineItem && $priceSetID && !$is_quick_config}
+        <div class="header-dark">
+          {ts}Contribution Information{/ts}{if $display_name} &ndash; {$display_name}{/if}
+        </div>
+        {assign var="totalAmount" value=$pendingAmount}
+        {include file="CRM/Price/Page/LineItem.tpl" context="Contribution"}
+      {else}
+        <div class="display-block">
+          <td class="label">{$form.total_amount.label}</td>
+          <td><span>{$form.total_amount.html|crmMoney}&nbsp;&nbsp;{if $taxAmount}{ts 1=$taxTerm 2=$taxAmount|crmMoney}(includes %1 of %2){/ts}{/if}</span></td>
+        </div>
+      {/if}
     {else}
-      <div class="display-block">
-        <td class="label">{$form.total_amount.label}</td>
-        <td><span>{$form.total_amount.html|crmMoney}&nbsp;&nbsp;{if $taxAmount}{ts 1=$taxTerm 2=$taxAmount|crmMoney}(includes %1 of %2){/ts}{/if}</span></td>
+      <div id="priceset-div">
+        {include file="CRM/Price/Form/PriceSet.tpl" extends="Contribution"}
       </div>
     {/if}
-  {else}
-    <div id="priceset-div">
-    {include file="CRM/Price/Form/PriceSet.tpl" extends="Contribution"}
-    </div>
-  {/if}
 
-  {if !$ccid}
-    {crmRegion name='contribution-main-pledge-block'}
-    {if $pledgeBlock}
-      {if $is_pledge_payment}
-      <div class="crm-public-form-item crm-section {$form.pledge_amount.name}-section">
-        <div class="label">{$form.pledge_amount.label}&nbsp;<span class="crm-marker">*</span></div>
-        <div class="content">{$form.pledge_amount.html}</div>
-        <div class="clear"></div>
-      </div>
-      {else}
-        <div class="crm-public-form-item crm-section {$form.is_pledge.name}-section">
+    {if !$ccid}
+      {crmRegion name='contribution-main-pledge-block'}
+      {if $pledgeBlock}
+        {if $is_pledge_payment}
+          <div class="crm-public-form-item crm-section {$form.pledge_amount.name}-section">
+            <div class="label">{$form.pledge_amount.label}&nbsp;<span class="crm-marker">*</span></div>
+            <div class="content">{$form.pledge_amount.html}</div>
+            <div class="clear"></div>
+          </div>
+        {else}
+          <div class="crm-public-form-item crm-section {$form.is_pledge.name}-section">
+            <div class="label">&nbsp;</div>
+            <div class="content">
+              {$form.is_pledge.html}&nbsp;
+              {if $is_pledge_interval}
+                {$form.pledge_frequency_interval.html}&nbsp;
+              {/if}
+              {$form.pledge_frequency_unit.html}<span id="pledge_installments_num">&nbsp;{ts}for{/ts}&nbsp;{$form.pledge_installments.html}&nbsp;{ts}installments.{/ts}</span>
+            </div>
+            <div class="clear"></div>
+            {if $start_date_editable}
+              {if $is_date}
+                <div class="label">{$form.start_date.label}</div><div class="content">{$form.start_date.html}</div>
+              {else}
+                <div class="label">{$form.start_date.label}</div><div class="content">{$form.start_date.html}</div>
+              {/if}
+            {else}
+              <div class="label">{$form.start_date.label}</div>
+              <div class="content">{$start_date_display|date_format}</div>
+            {/if}
+            <div class="clear"></div>
+          </div>
+        {/if}
+      {/if}
+      {/crmRegion}
+
+      {if $form.is_recur}
+        <div class="crm-public-form-item crm-section {$form.is_recur.name}-section">
           <div class="label">&nbsp;</div>
           <div class="content">
-            {$form.is_pledge.html}&nbsp;
-            {if $is_pledge_interval}
-              {$form.pledge_frequency_interval.html}&nbsp;
+            {$form.is_recur.html} {$form.is_recur.label} {ts}every{/ts}
+            {if $is_recur_interval}
+              {$form.frequency_interval.html}
             {/if}
-            {$form.pledge_frequency_unit.html}<span id="pledge_installments_num">&nbsp;{ts}for{/ts}&nbsp;{$form.pledge_installments.html}&nbsp;{ts}installments.{/ts}</span>
-          </div>
-          <div class="clear"></div>
-          {if $start_date_editable}
-            {if $is_date}
-              <div class="label">{$form.start_date.label}</div><div class="content">{$form.start_date.html}</div>
+            {if $one_frequency_unit}
+              {$frequency_unit}
             {else}
-              <div class="label">{$form.start_date.label}</div><div class="content">{$form.start_date.html}</div>
+              {$form.frequency_unit.html}
             {/if}
-          {else}
-            <div class="label">{$form.start_date.label}</div>
-            <div class="content">{$start_date_display|date_format}</div>
-          {/if}
-        <div class="clear"></div>
-        </div>
-      {/if}
-    {/if}
-    {/crmRegion}
-
-    {if $form.is_recur}
-    <div class="crm-public-form-item crm-section {$form.is_recur.name}-section">
-      <div class="label">&nbsp;</div>
-      <div class="content">
-        {$form.is_recur.html} {$form.is_recur.label} {ts}every{/ts}
-        {if $is_recur_interval}
-          {$form.frequency_interval.html}
-        {/if}
-        {if $one_frequency_unit}
-          {$frequency_unit}
-          {else}
-          {$form.frequency_unit.html}
-        {/if}
-        {if $is_recur_installments}
-          <span id="recur_installments_num">
+            {if $is_recur_installments}
+              <span id="recur_installments_num">
           {ts}for{/ts} {$form.installments.html} {$form.installments.label}
           </span>
-        {/if}
-        <div id="recurHelp" class="description">
-          {$recurringHelpText}
+            {/if}
+            <div id="recurHelp" class="description">
+              {$recurringHelpText}
+            </div>
+          </div>
+          <div class="clear"></div>
         </div>
-      </div>
-      <div class="clear"></div>
-    </div>
-    {/if}
-    {if $pcpSupporterText}
-    <div class="crm-public-form-item crm-section pcpSupporterText-section">
-      <div class="label">&nbsp;</div>
-      <div class="content">{$pcpSupporterText}</div>
-      <div class="clear"></div>
-    </div>
-    {/if}
-    {if $showMainEmail}
-      {assign var=n value=email-$bltID}
-      <div class="crm-public-form-item crm-section {$form.$n.name}-section">
-        <div class="label">{$form.$n.label}</div>
-        <div class="content">
-          {$form.$n.html}
+      {/if}
+      {if $pcpSupporterText}
+        <div class="crm-public-form-item crm-section pcpSupporterText-section">
+          <div class="label">&nbsp;</div>
+          <div class="content">{$pcpSupporterText}</div>
+          <div class="clear"></div>
         </div>
-        <div class="clear"></div>
-      </div>
-    {/if}
+      {/if}
+      {if $showMainEmail}
+        {assign var=n value=email-$bltID}
+        <div class="crm-public-form-item crm-section {$form.$n.name}-section">
+          <div class="label">{$form.$n.label}</div>
+          <div class="content">
+            {$form.$n.html}
+          </div>
+          <div class="clear"></div>
+        </div>
+      {/if}
 
-    <div id='onBehalfOfOrg' class="crm-public-form-item crm-section">
-      {include file="CRM/Contribute/Form/Contribution/OnBehalfOf.tpl"}
-    </div>
+      <div id='onBehalfOfOrg' class="crm-public-form-item crm-section">
+        {include file="CRM/Contribute/Form/Contribution/OnBehalfOf.tpl"}
+      </div>
 
-    {* User account registration option. Displays if enabled for one of the profiles on this page. *}
-    <div class="crm-public-form-item crm-section cms_user-section">
-      {include file="CRM/common/CMSUser.tpl"}
-    </div>
-    <div class="crm-public-form-item crm-section premium_block-section">
-      {include file="CRM/Contribute/Form/Contribution/PremiumBlock.tpl" context="makeContribution"}
-    </div>
+      {* User account registration option. Displays if enabled for one of the profiles on this page. *}
+      <div class="crm-public-form-item crm-section cms_user-section">
+        {include file="CRM/common/CMSUser.tpl"}
+      </div>
+      <div class="crm-public-form-item crm-section premium_block-section">
+        {include file="CRM/Contribute/Form/Contribution/PremiumBlock.tpl" context="makeContribution"}
+      </div>
 
-    {if $honoreeProfileFields && $honoreeProfileFields|@count}
-      <fieldset class="crm-public-form-item crm-group honor_block-group">
-        {crmRegion name="contribution-soft-credit-block"}
-          <legend>{$honor_block_title}</legend>
-          <div class="crm-public-form-item crm-section honor_block_text-section">
-            {$honor_block_text}
-          </div>
+      {if $honoreeProfileFields && $honoreeProfileFields|@count}
+        <fieldset class="crm-public-form-item crm-group honor_block-group">
+          {crmRegion name="contribution-soft-credit-block"}
+            <legend>{$honor_block_title}</legend>
+            <div class="crm-public-form-item crm-section honor_block_text-section">
+              {$honor_block_text}
+            </div>
           {if $form.soft_credit_type_id.html}
             <div class="crm-public-form-item crm-section {$form.soft_credit_type_id.name}-section">
               <div class="content" >
               </div>
             </div>
           {/if}
-        {/crmRegion}
-        <div id="honorType" class="honoree-name-email-section">
-          {include file="CRM/UF/Form/Block.tpl" fields=$honoreeProfileFields mode=8 prefix='honor'}
-        </div>
-      </fieldset>
-    {/if}
+          {/crmRegion}
+          <div id="honorType" class="honoree-name-email-section">
+            {include file="CRM/UF/Form/Block.tpl" fields=$honoreeProfileFields mode=8 prefix='honor'}
+          </div>
+        </fieldset>
+      {/if}
 
-    <div class="crm-public-form-item crm-group custom_pre_profile-group">
-    {include file="CRM/UF/Form/Block.tpl" fields=$customPre}
-    </div>
+      <div class="crm-public-form-item crm-group custom_pre_profile-group">
+        {include file="CRM/UF/Form/Block.tpl" fields=$customPre}
+      </div>
 
-    {if $isHonor}
-    <fieldset class="crm-public-form-item crm-group pcp-group">
-      <div class="crm-public-form-item crm-section pcp-section">
-        <div class="crm-public-form-item crm-section display_in_roll-section">
-          <div class="content">
-            {$form.pcp_display_in_roll.html} &nbsp;
-            {$form.pcp_display_in_roll.label}
-          </div>
-          <div class="clear"></div>
-        </div>
-        <div id="nameID" class="crm-public-form-item crm-section is_anonymous-section">
-          <div class="content">
-            {$form.pcp_is_anonymous.html}
-          </div>
-          <div class="clear"></div>
-        </div>
-        <div id="nickID" class="crm-public-form-item crm-section pcp_roll_nickname-section">
-          <div class="label">{$form.pcp_roll_nickname.label}</div>
-          <div class="content">{$form.pcp_roll_nickname.html}
-            <div class="description">{ts}Enter the name you want listed with this contribution. You can use a nick name like 'The Jones Family' or 'Sarah and Sam'.{/ts}</div>
+      {if $isHonor}
+        <fieldset class="crm-public-form-item crm-group pcp-group">
+          <div class="crm-public-form-item crm-section pcp-section">
+            <div class="crm-public-form-item crm-section display_in_roll-section">
+              <div class="content">
+                {$form.pcp_display_in_roll.html} &nbsp;
+                {$form.pcp_display_in_roll.label}
+              </div>
+              <div class="clear"></div>
+            </div>
+            <div id="nameID" class="crm-public-form-item crm-section is_anonymous-section">
+              <div class="content">
+                {$form.pcp_is_anonymous.html}
+              </div>
+              <div class="clear"></div>
+            </div>
+            <div id="nickID" class="crm-public-form-item crm-section pcp_roll_nickname-section">
+              <div class="label">{$form.pcp_roll_nickname.label}</div>
+              <div class="content">{$form.pcp_roll_nickname.html}
+                <div class="description">{ts}Enter the name you want listed with this contribution. You can use a nick name like 'The Jones Family' or 'Sarah and Sam'.{/ts}</div>
+              </div>
+              <div class="clear"></div>
+            </div>
+            <div id="personalNoteID" class="crm-public-form-item crm-section pcp_personal_note-section">
+              <div class="label">{$form.pcp_personal_note.label}</div>
+              <div class="content">
+                {$form.pcp_personal_note.html}
+                <div class="description">{ts}Enter a message to accompany this contribution.{/ts}</div>
+              </div>
+              <div class="clear"></div>
+            </div>
           </div>
+        </fieldset>
+      {/if}
+
+      {* end of ccid loop *}
+    {/if}
+
+    {if $form.payment_processor_id.label}
+      {* PP selection only works with JS enabled, so we hide it initially *}
+      <fieldset class="crm-public-form-item crm-group payment_options-group" style="display:none;">
+        <legend>{ts}Payment Options{/ts}</legend>
+        <div class="crm-public-form-item crm-section payment_processor-section">
+          <div class="label">{$form.payment_processor_id.label}</div>
+          <div class="content">{$form.payment_processor_id.html}</div>
           <div class="clear"></div>
         </div>
-        <div id="personalNoteID" class="crm-public-form-item crm-section pcp_personal_note-section">
-          <div class="label">{$form.pcp_personal_note.label}</div>
+      </fieldset>
+    {/if}
+
+    {if $is_pay_later}
+      <fieldset class="crm-public-form-item crm-group pay_later-group">
+        <legend>{ts}Payment Options{/ts}</legend>
+        <div class="crm-public-form-item crm-section pay_later_receipt-section">
+          <div class="label">&nbsp;</div>
           <div class="content">
-            {$form.pcp_personal_note.html}
-            <div class="description">{ts}Enter a message to accompany this contribution.{/ts}</div>
+            [x] {$pay_later_text}
           </div>
           <div class="clear"></div>
         </div>
-      </div>
-    </fieldset>
+      </fieldset>
     {/if}
 
-  {* end of ccid loop *}
-  {/if}
+    {include file="CRM/Core/BillingBlockWrapper.tpl"}
 
-  {if $form.payment_processor_id.label}
-  {* PP selection only works with JS enabled, so we hide it initially *}
-  <fieldset class="crm-public-form-item crm-group payment_options-group" style="display:none;">
-    <legend>{ts}Payment Options{/ts}</legend>
-    <div class="crm-public-form-item crm-section payment_processor-section">
-      <div class="label">{$form.payment_processor_id.label}</div>
-      <div class="content">{$form.payment_processor_id.html}</div>
-      <div class="clear"></div>
+    <div class="crm-public-form-item crm-group custom_post_profile-group">
+      {include file="CRM/UF/Form/Block.tpl" fields=$customPost}
     </div>
-  </fieldset>
-  {/if}
 
-  {if $is_pay_later}
-  <fieldset class="crm-public-form-item crm-group pay_later-group">
-    <legend>{ts}Payment Options{/ts}</legend>
-    <div class="crm-public-form-item crm-section pay_later_receipt-section">
-      <div class="label">&nbsp;</div>
-      <div class="content">
-        [x] {$pay_later_text}
+    {if $is_monetary and $form.bank_account_number}
+      <div id="payment_notice">
+        <fieldset class="crm-public-form-item crm-group payment_notice-group">
+          <legend>{ts}Agreement{/ts}</legend>
+          {ts}Your account data will be used to charge your bank account via direct debit. While submitting this form you agree to the charging of your bank account via direct debit.{/ts}
+        </fieldset>
       </div>
-      <div class="clear"></div>
-    </div>
-  </fieldset>
-  {/if}
-
-  {include file="CRM/Core/BillingBlockWrapper.tpl"}
+    {/if}
 
-  <div class="crm-public-form-item crm-group custom_post_profile-group">
-  {include file="CRM/UF/Form/Block.tpl" fields=$customPost}
+    {if $isCaptcha}
+      {include file='CRM/common/ReCAPTCHA.tpl'}
+    {/if}
+    <div id="crm-submit-buttons" class="crm-submit-buttons">
+      {include file="CRM/common/formButtons.tpl" location="bottom"}
+    </div>
+    {if $footer_text}
+      <div id="footer_text" class="crm-public-form-item crm-section contribution_footer_text-section">
+        <p>{$footer_text}</p>
+      </div>
+    {/if}
   </div>
+  <script type="text/javascript">
+    {if $isHonor}
+    pcpAnonymous();
+    {/if}
 
-  {if $is_monetary and $form.bank_account_number}
-  <div id="payment_notice">
-    <fieldset class="crm-public-form-item crm-group payment_notice-group">
-      <legend>{ts}Agreement{/ts}</legend>
-      {ts}Your account data will be used to charge your bank account via direct debit. While submitting this form you agree to the charging of your bank account via direct debit.{/ts}
-    </fieldset>
-  </div>
-  {/if}
+    {literal}
 
-  {if $isCaptcha}
-    {include file='CRM/common/ReCAPTCHA.tpl'}
-  {/if}
-  <div id="crm-submit-buttons" class="crm-submit-buttons">
-  {include file="CRM/common/formButtons.tpl" location="bottom"}
-  </div>
-  {if $footer_text}
-  <div id="footer_text" class="crm-public-form-item crm-section contribution_footer_text-section">
-    <p>{$footer_text}</p>
-  </div>
-  {/if}
-</div>
-<script type="text/javascript">
-  {if $isHonor}
-  pcpAnonymous();
-  {/if}
+    cj('input[name="soft_credit_type_id"]').on('change', function() {
+      enableHonorType();
+    });
 
-  {literal}
+    function enableHonorType() {
+      var selectedValue = cj('input[name="soft_credit_type_id"]:checked');
+      if ( selectedValue.val() > 0) {
+        cj('#honorType').show();
+      }
+      else {
+        cj('#honorType').hide();
+      }
+    }
 
-  cj('input[name="soft_credit_type_id"]').on('change', function() {
-    enableHonorType();
-  });
+    cj('input[id="is_recur"]').on('change', function() {
+      toggleRecur();
+    });
 
-  function enableHonorType( ) {
-    var selectedValue = cj('input[name="soft_credit_type_id"]:checked');
-    if ( selectedValue.val() > 0) {
-      cj('#honorType').show();
-    }
-    else {
-      cj('#honorType').hide();
-    }
-  }
-
-  cj('input[id="is_recur"]').on('change', function() {
-    toggleRecur();
-  });
-
-  function toggleRecur( ) {
-    var isRecur = cj('input[id="is_recur"]:checked');
-    var allowAutoRenew = {/literal}'{$allowAutoRenewMembership}'{literal};
-    var quickConfig = {/literal}{$quickConfig}{literal};
-    if ( allowAutoRenew && cj("#auto_renew") && quickConfig) {
-      showHideAutoRenew( null );
-    }
-    if (isRecur.val() > 0) {
-      cj('#recurHelp').show();
-      cj('#amount_sum_label').text('{/literal}{ts escape='js'}Regular amount{/ts}{literal}');
-    }
-    else {
-      cj('#recurHelp').hide();
-      cj('#amount_sum_label').text('{/literal}{ts escape='js'}Total Amount{/ts}{literal}');
+    function toggleRecur() {
+      var isRecur = cj('input[id="is_recur"]:checked');
+      var allowAutoRenew = {/literal}'{$allowAutoRenewMembership}'{literal};
+      var quickConfig = {/literal}{$quickConfig}{literal};
+      if ( allowAutoRenew && cj("#auto_renew") && quickConfig) {
+        showHideAutoRenew(null);
+      }
+      if (isRecur.val() > 0) {
+        cj('#recurHelp').show();
+        cj('#amount_sum_label').text('{/literal}{ts escape='js'}Regular amount{/ts}{literal}');
+      }
+      else {
+        cj('#recurHelp').hide();
+        cj('#amount_sum_label').text('{/literal}{ts escape='js'}Total Amount{/ts}{literal}');
+      }
     }
-  }
 
-  function pcpAnonymous( ) {
-    // clear nickname field if anonymous is true
-    if (document.getElementsByName("pcp_is_anonymous")[1].checked) {
-      document.getElementById('pcp_roll_nickname').value = '';
-    }
-    if (!document.getElementsByName("pcp_display_in_roll")[0].checked) {
-      cj('#nickID').hide();
-      cj('#nameID').hide();
-      cj('#personalNoteID').hide();
-    }
-    else {
-      if (document.getElementsByName("pcp_is_anonymous")[0].checked) {
-        cj('#nameID').show();
-        cj('#nickID').show();
-        cj('#personalNoteID').show();
+    function pcpAnonymous() {
+      // clear nickname field if anonymous is true
+      if (document.getElementsByName("pcp_is_anonymous")[1].checked) {
+        document.getElementById('pcp_roll_nickname').value = '';
       }
-      else {
-        cj('#nameID').show();
+      if (!document.getElementsByName("pcp_display_in_roll")[0].checked) {
         cj('#nickID').hide();
+        cj('#nameID').hide();
         cj('#personalNoteID').hide();
       }
+      else {
+        if (document.getElementsByName("pcp_is_anonymous")[0].checked) {
+          cj('#nameID').show();
+          cj('#nickID').show();
+          cj('#personalNoteID').show();
+        }
+        else {
+          cj('#nameID').show();
+          cj('#nickID').hide();
+          cj('#personalNoteID').hide();
+        }
+      }
     }
-  }
-
-  CRM.$(function($) {
-    enableHonorType();
-    toggleRecur();
-    skipPaymentMethod();
-  });
-
-  CRM.$(function($) {
-    // highlight price sets
-    function updatePriceSetHighlight() {
-      $('#priceset .price-set-row span').removeClass('highlight');
-      $('#priceset .price-set-row input:checked').parent().addClass('highlight');
-    }
-    $('#priceset input[type="radio"]').change(updatePriceSetHighlight);
-    updatePriceSetHighlight();
-
-    // Update pledge contribution amount when pledge checkboxes change
-    $("input[name^='pledge_amount']").on('change', function() {
-      var total = 0;
-      $("input[name^='pledge_amount']:checked").each(function() {
-        total += Number($(this).attr('amount'));
+
+    CRM.$(function($) {
+      enableHonorType();
+      toggleRecur();
+      skipPaymentMethod();
+    });
+
+    CRM.$(function($) {
+      // highlight price sets
+      function updatePriceSetHighlight() {
+        $('#priceset .price-set-row span').removeClass('highlight');
+        $('#priceset .price-set-row input:checked').parent().addClass('highlight');
+      }
+      $('#priceset input[type="radio"]').change(updatePriceSetHighlight);
+      updatePriceSetHighlight();
+
+      // Update pledge contribution amount when pledge checkboxes change
+      $("input[name^='pledge_amount']").on('change', function() {
+        var total = 0;
+        $("input[name^='pledge_amount']:checked").each(function() {
+          total += Number($(this).attr('amount'));
+        });
+        $("input[name^='price_']").val(total.toFixed(2));
       });
-      $("input[name^='price_']").val(total.toFixed(2));
     });
-  });
-  {/literal}
-</script>
+    {/literal}
+  </script>
 {/if}
 {include file="CRM/Form/validate.tpl"}
index 2f33d2291e11f24c4089c0bce9a23118775262da..26b67db9573ea4b5cf9bbf9f8b08b701bd707aa7 100644 (file)
@@ -25,8 +25,8 @@
 
 <div class="crm-public-form-item" id="on-behalf-block">
   {crmRegion name="onbehalf-block"}
-    {if $onBehalfOfFields && $onBehalfOfFields|@count}
-      <fieldset>
+  {if $onBehalfOfFields && $onBehalfOfFields|@count}
+    <fieldset>
       <legend>{$fieldSetTitle}</legend>
       {if $form.org_option}
         <div id='orgOptions' class="section crm-public-form-item crm-section">
@@ -36,8 +36,8 @@
         </div>
       {/if}
       {include file="CRM/UF/Form/Block.tpl" fields=$onBehalfOfFields mode=8 prefix='onbehalf'}
-      </fieldset>
-    {/if}
+    </fieldset>
+  {/if}
   {/crmRegion}
 </div>
 
     selectCreateOrg(orgOption, false);
 
     if (is_for_organization.length) {
+      showHideOnBehalfOfBlock();
+
+      is_for_organization.on('change', function() {
+        showHideOnBehalfOfBlock();
+      });
+    }
+
+    function showHideOnBehalfOfBlock() {
       $('#on-behalf-block').toggle(is_for_organization.is(':checked'));
+
+      if (is_for_organization.is(':checked')) {
+        $('#onBehalfOfOrg select.crm-select2').removeClass('crm-no-validate');
+      }
+      else {
+        $('#onBehalfOfOrg select.crm-select2').addClass('crm-no-validate');
+      }
     }
 
-    is_for_organization.on('change', function(){
-      $('#on-behalf-block').toggle($(this).is(':checked'));
+    $("input:radio[name='org_option']").click( function( ) {
+      var orgOption = $(this).attr('id');
+      selectCreateOrg(orgOption, true);
     });
 
-   $("input:radio[name='org_option']").click( function( ) {
-     var orgOption = $(this).attr('id');
-     selectCreateOrg(orgOption, true);
-   });
+    onbehalfof_id.change(function() {
+      setLocationDetails($(this).val());
+    }).change();
 
-   onbehalfof_id.change(function() {
-    setLocationDetails($(this).val());
-   }).change();
-
-   if (onbehalfof_id.length) {
-     setLocationDetails(onbehalfof_id.val());
-   }
+    if (onbehalfof_id.length) {
+      setLocationDetails(onbehalfof_id.val());
+    }
 
     function resetValues() {
-     // Don't trip chain-select when clearing values
-     $('.crm-chain-select-control', "#select_org div").select2('val', '');
-     $('input[type=text], select, textarea', "#select_org div").not('.crm-chain-select-control, #onbehalfof_id').val('').change();
-     $('input[type=radio], input[type=checkbox]', "#select_org div").prop('checked', false).change();
-
-     $('#on-behalf-block input').not('input[type=checkbox], input[type=radio], #onbehalfof_id').val('');
-     // clear checkboxes and radio
-     $('#on-behalf-block')
-      .find('input[type=checkbox], input[type=radio]')
-      .not('input[name=org_option]')
-      .attr('checked', false);
+      // Don't trip chain-select when clearing values
+      $('.crm-chain-select-control', "#select_org div").select2('val', '');
+      $('input[type=text], select, textarea', "#select_org div").not('.crm-chain-select-control, #onbehalfof_id').val('').change();
+      $('input[type=radio], input[type=checkbox]', "#select_org div").prop('checked', false).change();
+
+      $('#on-behalf-block input').not('input[type=checkbox], input[type=radio], #onbehalfof_id').val('');
+      // clear checkboxes and radio
+      $('#on-behalf-block')
+              .find('input[type=checkbox], input[type=radio]')
+              .not('input[name=org_option]')
+              .attr('checked', false);
     }
 
-   function selectCreateOrg( orgOption, reset ) {
-    if (orgOption == 'CIVICRM_QFID_0_org_option') {
-      $("#onbehalfof_id").show().change();
-      $("input#onbehalf_organization_name").hide();
-    }
-    else if (orgOption == 'CIVICRM_QFID_1_org_option') {
-      $("input#onbehalf_organization_name").show();
-      $("#onbehalfof_id").hide();
-      reset = true;
+    function selectCreateOrg( orgOption, reset ) {
+      if (orgOption == 'CIVICRM_QFID_0_org_option') {
+        $("#onbehalfof_id").show().change();
+        $("input#onbehalf_organization_name").hide();
+      }
+      else if (orgOption == 'CIVICRM_QFID_1_org_option') {
+        $("input#onbehalf_organization_name").show();
+        $("#onbehalfof_id").hide();
+        reset = true;
+      }
+
+      if ( reset ) {
+        resetValues();
+      }
     }
 
-    if ( reset ) {
+    function setLocationDetails(contactID , reset) {
       resetValues();
-    }
-  }
-
- function setLocationDetails(contactID , reset) {
-   resetValues();
-   var locationUrl = {/literal}'{$locDataURL}'{literal} + contactID;
-   var submittedOnBehalfInfo = {/literal}'{$submittedOnBehalfInfo}'{literal};
-   var submittedCID = {/literal}"{$submittedOnBehalf}"{literal};
-
-   if (submittedOnBehalfInfo) {
-     submittedOnBehalfInfo = $.parseJSON(submittedOnBehalfInfo);
-
-     if (submittedCID == contactID) {
-       $.each(submittedOnBehalfInfo, function(key, value) {
-         //handle checkboxes
-         if (typeof value === 'object') {
-           $.each(value, function(k, v) {
-             $('#onbehalf_' + key + '_' + k).prop('checked', v);
-           });
-         }
-         else if ($('#onbehalf_' + key).length) {
-           $('#onbehalf_' + key ).val(value);
-         }
-         //radio buttons
-         else if ($("input[name='onbehalf[" + key + "]']").length) {
-           $("input[name='onbehalf[" + key + "]']").val([value]);
-         }
-       });
-       return;
-     }
-   }
-
-   $.ajax({
-    url         : locationUrl,
-    dataType    : "json",
-    timeout     : 5000, //Time in milliseconds
-    success     : function(data, status) {
-      for (var ele in data) {
-        if ($("#"+ ele).hasClass('crm-chain-select-target')) {
-          $("#"+ ele).data('newVal', data[ele].value).off('.autofill').on('crmOptionsUpdated.autofill', function() {
-            $(this).off('.autofill').val($(this).data('newVal')).change();
+      var locationUrl = {/literal}'{$locDataURL}'{literal} + contactID;
+      var submittedOnBehalfInfo = {/literal}'{$submittedOnBehalfInfo}'{literal};
+      var submittedCID = {/literal}"{$submittedOnBehalf}"{literal};
+
+      if (submittedOnBehalfInfo) {
+        submittedOnBehalfInfo = $.parseJSON(submittedOnBehalfInfo);
+
+        if (submittedCID == contactID) {
+          $.each(submittedOnBehalfInfo, function(key, value) {
+            //handle checkboxes
+            if (typeof value === 'object') {
+              $.each(value, function(k, v) {
+                $('#onbehalf_' + key + '_' + k).prop('checked', v);
+              });
+            }
+            else if ($('#onbehalf_' + key).length) {
+              $('#onbehalf_' + key ).val(value);
+            }
+            //radio buttons
+            else if ($("input[name='onbehalf[" + key + "]']").length) {
+                $("input[name='onbehalf[" + key + "]']").val([value]);
+              }
           });
+          return;
         }
-        else if ($('#' + ele).data('select2')) {
-          $('#' + ele).select2('val', data[ele].value);
-        }
-        if (data[ele].type == 'Radio') {
-          if (data[ele].value) {
-            var fldName = ele.replace('onbehalf_', '');
-            $("input[name='onbehalf["+ fldName +"]']").filter("[value='" + data[ele].value + "']").prop('checked', true);
-          }
-        }
-        else if (data[ele].type == 'CheckBox') {
-          for (var selectedOption in data[ele].value) {
-            var fldName = ele.replace('onbehalf_', '');
-            $("input[name='onbehalf["+ fldName+"]["+ selectedOption +"]']").prop('checked','checked');
-          }
-        }
-        else if (data[ele].type == 'AdvMulti-Select') {
-          var customFld = ele.replace('onbehalf_', '');
-          // remove empty value if any
-          $('#onbehalf\\['+ customFld +'\\]-f option[value=""]').remove();
-          $('#onbehalf\\['+ customFld +'\\]-t option[value=""]').remove();
-
-          for (var selectedOption in data[ele].value) {
-            // remove selected values from left and selected values to right
-            $('#onbehalf\\['+ customFld +'\\]-f option[value="' + selectedOption + '"]').remove()
-              .appendTo('#onbehalf\\['+ customFld +'\\]-t');
-            $('#onbehalf_'+ customFld).val(selectedOption);
-          }
-        }
-        else {
-          // do not set defaults to file type fields
-          if ($('#' + ele).attr('type') != 'file') {
-            $('#' + ele ).val(data[ele].value).change();
+      }
+
+      $.ajax({
+        url         : locationUrl,
+        dataType    : "json",
+        timeout     : 5000, //Time in milliseconds
+        success     : function(data, status) {
+          for (var ele in data) {
+            if ($("#"+ ele).hasClass('crm-chain-select-target')) {
+              $("#"+ ele).data('newVal', data[ele].value).off('.autofill').on('crmOptionsUpdated.autofill', function() {
+                $(this).off('.autofill').val($(this).data('newVal')).change();
+              });
+            }
+            else if ($('#' + ele).data('select2')) {
+              $('#' + ele).select2('val', data[ele].value);
+            }
+            if (data[ele].type == 'Radio') {
+              if (data[ele].value) {
+                var fldName = ele.replace('onbehalf_', '');
+                $("input[name='onbehalf["+ fldName +"]']").filter("[value='" + data[ele].value + "']").prop('checked', true);
+              }
+            }
+            else if (data[ele].type == 'CheckBox') {
+              for (var selectedOption in data[ele].value) {
+                var fldName = ele.replace('onbehalf_', '');
+                $("input[name='onbehalf["+ fldName+"]["+ selectedOption +"]']").prop('checked','checked');
+              }
+            }
+            else if (data[ele].type == 'AdvMulti-Select') {
+                var customFld = ele.replace('onbehalf_', '');
+                // remove empty value if any
+                $('#onbehalf\\['+ customFld +'\\]-f option[value=""]').remove();
+                $('#onbehalf\\['+ customFld +'\\]-t option[value=""]').remove();
+
+                for (var selectedOption in data[ele].value) {
+                  // remove selected values from left and selected values to right
+                  $('#onbehalf\\['+ customFld +'\\]-f option[value="' + selectedOption + '"]').remove()
+                          .appendTo('#onbehalf\\['+ customFld +'\\]-t');
+                  $('#onbehalf_'+ customFld).val(selectedOption);
+                }
+              }
+              else {
+                // do not set defaults to file type fields
+                if ($('#' + ele).attr('type') != 'file') {
+                  $('#' + ele ).val(data[ele].value).change();
+                }
+              }
           }
+        },
+        error       : function(XMLHttpRequest, textStatus, errorThrown) {
+          CRM.console('error', "HTTP error status: ", textStatus);
         }
-      }
-    },
-    error       : function(XMLHttpRequest, textStatus, errorThrown) {
-      CRM.console('error', "HTTP error status: ", textStatus);
+      });
     }
   });
-}
-});
 
 </script>
 {/literal}
index fbb678e7988a6024d3f1ce513537f7c3946e6ffb..ff7b972a45c561f83def97ac6074eb9c25cb77fd 100644 (file)
@@ -14,6 +14,7 @@
       <th scope="col">{ts}Frequency{/ts}</th>
       <th scope="col">{ts}Start Date{/ts}</th>
       <th scope="col">{ts}Installments{/ts}</th>
+      <th scope="col">{ts}Payment Processor{/ts}</th>
       <th scope="col">{ts}Status{/ts}</th>
       <th scope="col"></th>
     </tr>
@@ -25,6 +26,7 @@
         <td>{ts}Every{/ts} {$row.frequency_interval} {$row.frequency_unit} </td>
         <td>{$row.start_date|crmDate}</td>
         <td>{$row.installments}</td>
+        <td>{$row.payment_processor}</td>
         <td>{$row.contribution_status}</td>
         <td>{$row.action|replace:'xx':$row.recurId}</td>
       </tr>
index f8bb2088f5064eb060a201e25cafe51ce1317bf6..10a830c1267b43a6c4265a1d74907bd71abb5eb9 100644 (file)
@@ -20,9 +20,7 @@
         {foreach from=$paymentFields item=paymentField}
           {assign var='name' value=$form.$paymentField.name}
           <div class="crm-section {$form.$paymentField.name}-section">
-            <div class="label">{$form.$paymentField.label}
-              {if $requiredPaymentFields.$name}<span class="crm-marker" title="{ts}This field is required.{/ts}">*</span>{/if}
-            </div>
+            <div class="label">{$form.$paymentField.label}</div>
             <div class="content">
                 {$form.$paymentField.html}
               {if $paymentFieldsMetadata.$name.description}
@@ -51,9 +49,7 @@
         {foreach from=$billingDetailsFields item=billingField}
           {assign var='name' value=$form.$billingField.name}
           <div class="crm-section {$form.$billingField.name}-section">
-            <div class="label">{$form.$billingField.label}
-              {if $requiredPaymentFields.$name}<span class="crm-marker" title="{ts}This field is required.{/ts}">*</span>{/if}
-            </div>
+            <div class="label">{$form.$billingField.label}</div>
             {if $form.$billingField.type == 'text'}
               <div class="content">{$form.$billingField.html}</div>
             {else}
index 086864b2bdbe132af8713c63749c6882d1f022ac..c371d06f9b708c98ff10ffce1321cfd847491206 100644 (file)
         <td class="label">{$form.style.label}</td>
         <td>{$form.style.html} {help id="id-display_style"}</td>
     </tr>
+    <tr id="icon_row" class="hiddenElement">
+        <td class="label">{$form.icon.label}</td>
+        <td>{$form.icon.html}</td>
+    </tr>
     <tr class="html-adjust">
         <td>&nbsp;</td>
         <td>{$form.collapse_display.html} {$form.collapse_display.label} {help id="id-collapse"}</td>
@@ -88,7 +92,9 @@ CRM.$(function($) {
     if ($(this).val() == 'Tab') {
       $('#collapse_display').prop('checked', false);
     }
+    $('#icon_row').toggle($(this).val() !== 'Inline');
   });
+  $('#icon_row').toggle($("select#style").val() !== 'Inline');
 
   /**
    * Check if this is a contact-related set and show/hide other options accordingly
@@ -138,12 +144,12 @@ CRM.$(function($) {
       $("tr#multiple_row").show();
       if (onFormLoad !== true) {
         $('#collapse_display').prop('checked', false);
-        $("select#style").append(tabWithTableOption);
-        $("select#style").val('Tab with table');
+        $("select#style").append(tabWithTableOption).val('Tab with table');
       }
+      $('#icon_row').toggle($("select#style").val() !== 'Inline');
     }
     else {
-      $("tr#multiple_row").hide();
+      $("tr#multiple_row, #icon_row").hide();
       if ($("select#style").val() === 'Tab with table') {
         $("select#style").val('Inline');
       }
index 6a46fac2476c7e222a9bb6362aebd833329ef8b3..f149c2247bf181be1b0ea95097755a4ed5813066 100644 (file)
@@ -5,7 +5,7 @@
     {ts}This is your receipt of payment made for the following event registration.{/ts}
   </p>
   <p>
-    {ts 1=$transaction_id 2=$transaction_date|date_format:"%D %I:%M %p %Z"}Your order number is <strong>#%1</strong>. Please print this confirmation for your records. You will receieve a confirmation email with the information below.  Information about the workshops will be sent separately to each participant. Here's a summary of your transaction placed on %2:{/ts}
+    {ts 1=$transaction_id 2=$transaction_date|date_format:"%D %I:%M %p %Z"}Your order number is <strong>#%1</strong>. Please print this confirmation for your records. You will receive a confirmation email with the information below.  Information about the workshops will be sent separately to each participant. Here's a summary of your transaction placed on %2:{/ts}
   </p>
   {if $pay_later_receipt && $is_pay_later}
   <p>
index 6bb4cc6d244d8b7e1cb80806514b327d51554e44..38a9beaba2c67a1186a7924e614cf4c2e065f111 100644 (file)
   <div class="crm-section event_date_time-section">
       <div class="label">{ts}When{/ts}</div>
       <div class="content">
-            <abbr class="dtstart" title="{$event.event_start_date|crmDate}">
-            {$event.event_start_date|crmDate}</abbr>
+        {strip}
+            {$event.event_start_date|crmDate}
             {if $event.event_end_date}
-                &nbsp; {ts}through{/ts} &nbsp;
+                &nbsp;{ts}through{/ts}&nbsp;
                 {* Only show end time if end date = start date *}
                 {if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}
-                    <abbr class="dtend" title="{$event.event_end_date|crmDate:0:1}">
                     {$event.event_end_date|crmDate:0:1}
-                    </abbr>
                 {else}
-                    <abbr class="dtend" title="{$event.event_end_date|crmDate}">
                     {$event.event_end_date|crmDate}
-                    </abbr>
                 {/if}
             {/if}
-        </div>
+        {/strip}
+      </div>
     <div class="clear"></div>
   </div>
 
               <div class="content">
                     {assign var=showDirectly value="1"}
                     {include file="CRM/Contact/Form/Task/Map/`$config->mapProvider`.tpl" fields=$showDirectly}
-                    <br /><a href="{$mapURL}" title="{ts}Show large map{/ts}">{ts}Show large map{/ts}</a>
+                    <a href="{$mapURL}" title="{ts}Show large map{/ts}">{ts}Show large map{/ts}</a>
               </div>
               <div class="clear"></div>
           </div>
       <div class="crm-section event_contact-section">
           <div class="label">{ts}Contact{/ts}</div>
           <div class="content">
-              {* loop on any phones and emails for this event *}
               {foreach from=$location.phone item=phone}
                   {if $phone.phone}
-                      {if $phone.phone_type_id}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}:
-                          <span class="tel">{$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if} </span> <br />
-                      {/if}
+                    <div class="crm-eventinfo-contact-phone">
+                      {* @todo This should use "{ts 1=$phone.phone_type_display 2=$phone}%1: %2{/ts}" because some language have nbsp before column *}
+                      {if $phone.phone_type_id}{$phone.phone_type_display}:{else}{ts}Phone:{/ts}{/if}
+                      <span class="tel">{$phone.phone}{if $phone.phone_ext}&nbsp;{ts}ext.{/ts}&nbsp;{$phone.phone_ext}{/if}</span>
+                    </div>
+                  {/if}
               {/foreach}
-
               {foreach from=$location.email item=email}
                   {if $email.email}
+                    <div class="crm-eventinfo-contact-email">
                       {ts}Email:{/ts} <span class="email"><a href="mailto:{$email.email}">{$email.email}</a></span>
+                    </div>
                   {/if}
               {/foreach}
           </div>
       {/crmRegion}
     </div>
     {if $event.is_public }
-        <br />
         <div class="action-link section iCal_links-section">
           {include file="CRM/Event/Page/iCalLinks.tpl"}
         </div>
index 2cd18c3ff59e1456db5ab04f7e06018c2d0693ee..c8c976fdbbee9b78de6025bacda0eb897c69016a 100644 (file)
@@ -28,7 +28,9 @@
         <thead class="sticky">
             <th>{ts}Status{/ts}</th>
             <th>{ts}Start Event{/ts}</th>
+            <th>{ts}Start Adjustment{/ts}</th>
             <th>{ts}End Event{/ts}</th>
+            <th>{ts}End Adjustment{/ts}</th>
             <th>{ts}Member{/ts}</th>
             <th>{ts}Admin{/ts}</th>
             <th>{ts}Order{/ts}</th>
         {foreach from=$rows item=row}
         <tr id="membership_status-{$row.id}" class="crm-entity {cycle values="odd-row,even-row"} {$row.class} {if NOT $row.is_active} disabled{/if} crmf">
           <td class="crmf-label crm-editable" >{$row.label}</td>
-          <td class="crmf-start_event crm-editable" data-type="select" data-empty-option="{ts}- none -{/ts}">{$row.start_event}</td>
-          <td class="crmf-end_event crm-editable" data-type="select" data-empty-option="{ts}- none -{/ts}">{$row.end_event}</td>
+          <td class="nowrap crmf-start_event crm-editable" data-type="select" data-empty-option="{ts}- none -{/ts}">{$row.start_event}</td>
+          <td class="nowrap crmf-start_event_adjust_unit_interval">{$row.start_event_adjust_unit_interval}</td>
+          <td class="nowrap crmf-end_event crm-editable" data-type="select" data-empty-option="{ts}- none -{/ts}">{$row.end_event}</td>
+          <td class="nowrap crmf-end_event_adjust_interval">{$row.end_event_adjust_interval}</td>
           <td class="crmf-is_current_member crm-editable" data-type="boolean">{if $row.is_current_member eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
           <td class="crmf-is_admin crm-editable" data-type="boolean">{if $row.is_admin eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
           <td class="nowrap crmf-weight">{$row.weight}</td>
index fa49678644a0b629158046c0142b751eba4bd940..bba775f40a56419549d40d3d61cb88067a58f1f6 100644 (file)
   {literal}
 
   var params = {
-    errorClass: 'crm-inline-error',
+    errorClass: 'crm-inline-error alert-danger',
     messages: {},
-    // TODO: remove after resolution of https://github.com/jzaefferer/jquery-validation/pull/1261
-    ignore: ":hidden, [readonly]"
+    ignore: '.select2-offscreen, [readonly], :hidden:not(.crm-select2), .crm-no-validate',
+    ignoreTitle: true
   };
 
   // use civicrm notifications when there are errors
     // but there will be no overall message. Currently the container is only available on backoffice pages.
     if ($('#crm-notification-container').length) {
       $.each(validator.errorList, function(k, error) {
+        $(error.element).parents('.crm-custom-accordion.collapsed').crmAccordionToggle();
         $(error.element).crmError(error.message);
       });
     }
index 8dff8bcfc3a1ad38e76464a790f3f9e9538da5c6..ece7b501bbcee6bd0166645fc3ee4eddb39c30ac 100644 (file)
@@ -1613,6 +1613,7 @@ $text
   protected function setShowCaseActivitiesInCore(bool $val) {
     Civi::settings()->set('civicaseShowCaseActivities', $val ? 1 : 0);
     CRM_Core_Component::getEnabledComponents();
+    Civi::$statics['CRM_Core_Component']['info']['CiviCase'] = new CRM_Case_Info('CiviCase', 'CRM_Case', 7);
     Civi::$statics['CRM_Core_Component']['info']['CiviCase']->info['showActivitiesInCore'] = $val;
   }
 
index ab28f9bd7ed2394d332bc4343542b7bad69ec06f..584d6184b64682c924e1cda20658eaa1d40f4625 100644 (file)
@@ -18,6 +18,9 @@ class CRM_Activity_Selector_SearchTest extends CiviUnitTestCase {
 
   /**
    * Test activity search applies a permission based component filter.
+   *
+   * @throws \CRM_Core_Exception
+   * @throws \CiviCRM_API3_Exception
    */
   public function testActivitySearchComponentPermission() {
     $this->activityCreate(['activity_type_id' => 'Contribution']);
index 6bd3aa253eeaaa3943865ee94b2a76a436276f97..137feedac74af87ba2188c345cc25d97a7461507 100644 (file)
@@ -40,7 +40,7 @@ class CRM_Campaign_Form_CampaignTest extends CiviUnitTestCase {
       'campaign_type_id' => 1,
     ], $form);
     $campaign = $this->callAPISuccess('campaign', 'get', ['id' => $result['id']]);
-    $this->assertEquals('10000', $campaign['values'][$campaign['id']]['goal_revenue']);
+    $this->assertEquals('10000.00', $campaign['values'][$campaign['id']]['goal_revenue']);
   }
 
 }
index 9ad9bffe201d3d8aa5bea7f71102f46c67784499..57c2bc2935d1b926479276f0e6d7e4e331d05754 100644 (file)
@@ -195,7 +195,8 @@ class CRM_Case_BAO_CaseTest extends CiviUnitTestCase {
     ];
     $unsortedActualContactNames = CRM_Utils_Array::collect('sort_name', $cases);
     foreach ($unsortedExpectedContactNames as $key => $name) {
-      $this->assertContains($name, $unsortedActualContactNames[$key]);
+      // Something has changed recently that has exposed one of the problems with queries that are not full-groupby-compliant. Temporarily commenting this out until figure out what to do since this exact query doesn't seem to come up anywhere on common screens.
+      //$this->assertContains($name, $unsortedActualContactNames[$key]);
     }
 
     // USECASE B: fetch all cases using the AJAX fn based any 'Contact' sorting criteria, and match the result against expected sequence of names
diff --git a/tests/phpunit/CRM/Case/Form/SearchTest.php b/tests/phpunit/CRM/Case/Form/SearchTest.php
new file mode 100644 (file)
index 0000000..42c499d
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+require_once 'CiviTest/CiviCaseTestCase.php';
+
+/**
+ * Class CRM_Case_Form_SearchTest
+ * @group headless
+ */
+class CRM_Case_Form_SearchTest extends CiviCaseTestCase {
+
+  public function setUp() {
+    parent::setUp();
+    $this->quickCleanup(['civicrm_case_contact', 'civicrm_case', 'civicrm_contact']);
+  }
+
+  /**
+   * Similar to tests in CRM_Core_FormTest where it's just testing there's no
+   * red boxes when you open the form, but it requires CiviCase to be
+   * enabled so putting in a separate place.
+   *
+   * This doesn't test much expected output just that the page opens without
+   * notices or errors. For example to make it fail change the spelling of a
+   * variable so it has a typo in CRM_Case_Form_Search::preProcess(), and then
+   * this test will throw an exception.
+   */
+  public function testOpeningFindCaseForm() {
+    $form = new CRM_Case_Form_Search();
+    $form->controller = new CRM_Case_Controller_Search('Find Cases');
+
+    ob_start();
+    $form->controller->_actions['display']->perform($form, 'display');
+    $contents = ob_get_contents();
+    ob_end_clean();
+
+    // There's a bunch of other stuff we could check for in $contents, but then
+    // it's tied to the html output and has the same maintenance problems
+    // as webtests. Mostly what we're doing in this test is checking that it
+    // doesn't generate any E_NOTICES/WARNINGS or other errors. But let's do
+    // one check.
+    $this->assertContains('<label for="case_id">', $contents);
+  }
+
+}
index db7144d5920a491c0b1af2d812ccbf314ee9eb44..bc24f4c670c6113c20b4a761e597b4551f44ea90 100644 (file)
@@ -427,4 +427,78 @@ class CRM_Case_XMLProcessor_ProcessTest extends CiviCaseTestCase {
     ];
   }
 
+  /**
+   * Test XMLProcessor activityTypes()
+   */
+  public function testXmlProcessorActivityTypes() {
+    // First change an activity's label since we also test getting the labels.
+    // @todo Having a brain freeze or something - can't do this in one step?
+    $activity_type_id = $this->callApiSuccess('OptionValue', 'get', [
+      'option_group_id' => 'activity_type',
+      'name' => 'Medical evaluation',
+    ])['id'];
+    $this->callApiSuccess('OptionValue', 'create', [
+      'id' => $activity_type_id,
+      'label' => 'Medical evaluation changed',
+    ]);
+
+    $p = new CRM_Case_XMLProcessor_Process();
+    $xml = $p->retrieve('housing_support');
+
+    // Test getting the `name`s
+    $activityTypes = $p->activityTypes($xml->ActivityTypes, FALSE, FALSE, FALSE);
+    $this->assertEquals(
+      [
+        13 => 'Open Case',
+        55 => 'Medical evaluation',
+        56 => 'Mental health evaluation',
+        57 => 'Secure temporary housing',
+        60 => 'Income and benefits stabilization',
+        58 => 'Long-term housing plan',
+        14 => 'Follow up',
+        15 => 'Change Case Type',
+        16 => 'Change Case Status',
+        18 => 'Change Case Start Date',
+        25 => 'Link Cases',
+      ],
+      $activityTypes
+    );
+
+    // While we're here and have the `name`s check the editable types in
+    // Settings.xml which is something that gets called reasonably often
+    // thru CRM_Case_XMLProcessor_Process::activityTypes().
+    $activityTypeValues = array_flip($activityTypes);
+    $xml = $p->retrieve('Settings');
+    $settings = $p->activityTypes($xml->ActivityTypes, FALSE, FALSE, 'edit');
+    $this->assertEquals(
+      [
+        'edit' => [
+          0 => $activityTypeValues['Change Case Status'],
+          1 => $activityTypeValues['Change Case Start Date'],
+        ],
+      ],
+      $settings
+    );
+
+    // Now get `label`s
+    $xml = $p->retrieve('housing_support');
+    $activityTypes = $p->activityTypes($xml->ActivityTypes, FALSE, TRUE, FALSE);
+    $this->assertEquals(
+      [
+        13 => 'Open Case',
+        55 => 'Medical evaluation changed',
+        56 => 'Mental health evaluation',
+        57 => 'Secure temporary housing',
+        60 => 'Income and benefits stabilization',
+        58 => 'Long-term housing plan',
+        14 => 'Follow up',
+        15 => 'Change Case Type',
+        16 => 'Change Case Status',
+        18 => 'Change Case Start Date',
+        25 => 'Link Cases',
+      ],
+      $activityTypes
+    );
+  }
+
 }
index b6af1999903ef4303a0944809c1e244657654c45..5f829c9a409cd47f779f2c5d87dfbe790108baad 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+use Civi\Api4\ContactType;
 
 /**
  * Class CRM_Contact_BAO_ContactType_ContactTypeTest
@@ -8,108 +9,76 @@ class CRM_Contact_BAO_ContactType_ContactTypeTest extends CiviUnitTestCase {
 
   public function setUp() {
     parent::setUp();
-    $labelsub1 = 'sub1_individual' . substr(sha1(rand()), 0, 7);
     $params = [
-      'label' => $labelsub1,
-      'name' => $labelsub1,
-      // Individual
-      'parent_id' => 1,
+      'label' => 'sub1_individual',
+      'name' => 'sub1_individual',
+      'parent_id:name' => 'Individual',
       'is_active' => 1,
     ];
-    $result = CRM_Contact_BAO_ContactType::add($params);
-    $this->subTypesIndividual[] = $params['name'];
 
-    $labelsub2 = 'sub2_individual' . substr(sha1(rand()), 0, 7);
+    $this->ids['ContactType'][] = ContactType::create()->setValues($params)->execute()->first()['id'];
+
     $params = [
-      'label' => $labelsub2,
-      'name' => $labelsub2,
-      // Individual
-      'parent_id' => 1,
+      'label' => 'sub2_individual',
+      'name' => 'sub2_individual',
+      'parent_id:name' => 'Individual',
       'is_active' => 1,
     ];
-    $result = CRM_Contact_BAO_ContactType::add($params);
-    $this->subTypesIndividual[] = $params['name'];
 
-    $labelsub = 'sub_organization' . substr(sha1(rand()), 0, 7);
+    $this->ids['ContactType'][] = ContactType::create()->setValues($params)->execute()->first()['id'];
+
     $params = [
-      'label' => $labelsub,
-      'name' => $labelsub,
-      // Organization
-      'parent_id' => 3,
+      'label' => 'sub_organization',
+      'name' => 'sub_organization',
+      'parent_id:name' => 'Organization',
       'is_active' => 1,
     ];
-    $result = CRM_Contact_BAO_ContactType::add($params);
-    $this->subTypesOrganization[] = $params['name'];
 
-    $labelhousehold = 'sub_household' . substr(sha1(rand()), 0, 7);
+    $this->ids['ContactType'][] = ContactType::create()->setValues($params)->execute()->first()['id'];
+
     $params = [
-      'label' => $labelhousehold,
-      'name' => $labelhousehold,
-      // Household
-      'parent_id' => 2,
+      'label' => 'sub_household',
+      'name' => 'sub_household',
+      'parent_id:name' => 'Household',
       'is_active' => 1,
     ];
-    $result = CRM_Contact_BAO_ContactType::add($params);
-    $this->subTypesHousehold[] = $params['name'];
+    $this->ids['ContactType'][] = (int) ContactType::create()->setValues($params)->execute()->first()['id'];
   }
 
   /**
-   * Test contactTypes() and subTypes() methods with valid data
-   * success expected
+   * Cleanup contact types.
+   *
+   * @throws \API_Exception
+   * @throws \Civi\API\Exception\UnauthorizedException
    */
-  public function testGetMethods() {
+  public function tearDown() {
+    parent::tearDown();
+    ContactType::delete()->addWhere('id', 'IN', $this->ids['ContactType'])->execute();
+  }
 
-    // check all contact types
-    $contactTypes = ['Individual', 'Organization', 'Household'];
-    $result = CRM_Contact_BAO_ContactType::contactTypes('Individual');
-    foreach ($contactTypes as $type) {
-      $this->assertEquals(in_array($type, $result), TRUE);
-    }
+  /**
+   * Test contactTypes() and subTypes() methods return correct contact types.
+   */
+  public function testGetMethods() {
+    $result = CRM_Contact_BAO_ContactType::contactTypes(TRUE);
+    $this->assertEquals(array_keys($this->getExpectedContactTypes()), $result);
 
     // check for type:Individual
     $result = CRM_Contact_BAO_ContactType::subTypes('Individual');
-    foreach ($result as $subtype) {
-      $subTypeName = in_array($subtype, $this->subTypesIndividual);
-      if (!empty($subTypeName)) {
-        $this->assertEquals($subTypeName, TRUE);
-      }
-      $this->assertEquals(in_array($subtype, $this->subTypesOrganization), FALSE);
-      $this->assertEquals(in_array($subtype, $this->subTypesHousehold), FALSE);
-    }
+    $this->assertEquals(array_keys($this->getExpectedContactSubTypes('Individual')), $result);
 
     // check for type:Organization
     $result = CRM_Contact_BAO_ContactType::subTypes('Organization');
-    foreach ($result as $subtype) {
-      $this->assertEquals(in_array($subtype, $this->subTypesIndividual), FALSE);
-      $subTypeName = in_array($subtype, $this->subTypesOrganization);
-      if (!empty($subTypeName)) {
-        $this->assertEquals($subTypeName, TRUE);
-      }
-      $subTypeName = in_array($subTypeName, $this->subTypesHousehold);
-      if (empty($subTypeName)) {
-        $this->assertEquals($subTypeName, FALSE);
-      }
-    }
+    $this->assertEquals(array_keys($this->getExpectedContactSubTypes('Organization')), $result);
 
     // check for type:Household
     $result = CRM_Contact_BAO_ContactType::subTypes('Household');
-    foreach ($result as $subtype) {
-      $this->assertEquals(in_array($subtype, $this->subTypesIndividual), FALSE);
-      $this->assertEquals(in_array($subtype, $this->subTypesOrganization), FALSE);
-      $this->assertEquals(in_array($subtype, $this->subTypesHousehold), TRUE);
-    }
+    $this->assertEquals(array_keys($this->getExpectedContactSubTypes('Household')), $result);
 
-    // check for all conatct types
+    // check for all contact types
     $result = CRM_Contact_BAO_ContactType::subTypes();
-    foreach ($this->subTypesIndividual as $subtype) {
-      $this->assertEquals(in_array($subtype, $result), TRUE);
-    }
-    foreach ($this->subTypesOrganization as $subtype) {
-      $this->assertEquals(in_array($subtype, $result), TRUE);
-    }
-    foreach ($this->subTypesHousehold as $subtype) {
-      $this->assertEquals(in_array($subtype, $result), TRUE);
-    }
+    $subtypes = array_keys($this->getExpectedAllSubtypes());
+    $this->assertEquals(sort($subtypes), sort($result));
   }
 
   /**
@@ -126,6 +95,229 @@ class CRM_Contact_BAO_ContactType_ContactTypeTest extends CiviUnitTestCase {
     $this->assertEquals(empty($result), TRUE);
   }
 
+  /**
+   * Test function for getting contact types.
+   *
+   * @throws \API_Exception
+   */
+  public function testContactTypeInfo() {
+    $blahType = ['is_active' => 0, 'name' => 'blah', 'label' => 'blah blah', 'parent_id:name' => 'Individual'];
+    $createdType = ContactType::create()->setValues($blahType)->execute()->first();
+    $activeTypes = CRM_Contact_BAO_ContactType::contactTypeInfo();
+    $expected = $this->getExpectedContactTypes();
+    $this->assertEquals($expected, $activeTypes);
+    $allTypes = CRM_Contact_BAO_ContactType::contactTypeInfo(TRUE);
+    $expected['blah'] = [
+      'is_active' => FALSE,
+      'name' => 'blah',
+      'label' => 'blah blah',
+      'id' => $createdType['id'],
+      'parent_id' => 1,
+      'is_reserved' => FALSE,
+      'parent' => 'Individual',
+      'parent_label' => 'Individual',
+      'description' => NULL,
+      'image_URL' => NULL,
+    ];
+    $this->assertEquals($expected, $allTypes);
+  }
+
+  /**
+   * Get all expected types.
+   *
+   * @return array
+   */
+  public function getExpectedContactTypes() {
+    return [
+      'Individual' =>
+        [
+          'id' => '1',
+          'name' => 'Individual',
+          'label' => 'Individual',
+          'is_active' => TRUE,
+          'is_reserved' => TRUE,
+          'description' => NULL,
+          'parent_id' => NULL,
+          'parent' => NULL,
+          'parent_label' => NULL,
+          'image_URL' => NULL,
+        ],
+      'Household' =>
+        [
+          'id' => '2',
+          'name' => 'Household',
+          'label' => 'Household',
+          'is_active' => TRUE,
+          'is_reserved' => TRUE,
+          'description' => NULL,
+          'parent_id' => NULL,
+          'parent' => NULL,
+          'parent_label' => NULL,
+          'image_URL' => NULL,
+        ],
+      'Organization' =>
+        [
+          'id' => '3',
+          'name' => 'Organization',
+          'label' => 'Organization',
+          'is_active' => TRUE,
+          'is_reserved' => TRUE,
+          'description' => NULL,
+          'parent_id' => NULL,
+          'parent' => NULL,
+          'parent_label' => NULL,
+          'image_URL' => NULL,
+        ],
+      'Student' =>
+        [
+          'id' => 4,
+          'name' => 'Student',
+          'label' => 'Student',
+          'parent_id' => 1,
+          'is_active' => '1',
+          'is_reserved' => FALSE,
+          'description' => NULL,
+          'parent' => 'Individual',
+          'parent_label' => 'Individual',
+          'image_URL' => NULL,
+        ],
+      'Parent' =>
+        [
+          'id' => 5,
+          'name' => 'Parent',
+          'label' => 'Parent',
+          'parent_id' => 1,
+          'is_active' => TRUE,
+          'is_reserved' => FALSE,
+          'description' => NULL,
+          'parent' => 'Individual',
+          'parent_label' => 'Individual',
+          'image_URL' => NULL,
+        ],
+      'Staff' =>
+        [
+          'id' => 6,
+          'name' => 'Staff',
+          'label' => 'Staff',
+          'parent_id' => 1,
+          'is_active' => TRUE,
+          'is_reserved' => FALSE,
+          'description' => NULL,
+          'parent' => 'Individual',
+          'parent_label' => 'Individual',
+          'image_URL' => NULL,
+        ],
+      'Team' =>
+        [
+          'id' => 7,
+          'name' => 'Team',
+          'label' => 'Team',
+          'parent_id' => 3,
+          'is_active' => TRUE,
+          'is_reserved' => FALSE,
+          'description' => NULL,
+          'parent' => 'Organization',
+          'parent_label' => 'Organization',
+          'image_URL' => NULL,
+        ],
+      'Sponsor' =>
+        [
+          'id' => 8,
+          'name' => 'Sponsor',
+          'label' => 'Sponsor',
+          'parent_id' => 3,
+          'is_active' => TRUE,
+          'is_reserved' => FALSE,
+          'description' => NULL,
+          'parent' => 'Organization',
+          'parent_label' => 'Organization',
+          'image_URL' => NULL,
+        ],
+      'sub1_individual' =>
+        [
+          'id' => $this->ids['ContactType'][0],
+          'name' => 'sub1_individual',
+          'label' => 'sub1_individual',
+          'parent_id' => 1,
+          'is_active' => TRUE,
+          'is_reserved' => FALSE,
+          'description' => NULL,
+          'parent' => 'Individual',
+          'parent_label' => 'Individual',
+          'image_URL' => NULL,
+        ],
+      'sub2_individual' =>
+        [
+          'id' => $this->ids['ContactType'][1],
+          'name' => 'sub2_individual',
+          'label' => 'sub2_individual',
+          'parent_id' => 1,
+          'is_active' => TRUE,
+          'is_reserved' => FALSE,
+          'description' => NULL,
+          'parent' => 'Individual',
+          'parent_label' => 'Individual',
+          'image_URL' => NULL,
+        ],
+      'sub_organization' =>
+        [
+          'id' => $this->ids['ContactType'][2],
+          'name' => 'sub_organization',
+          'label' => 'sub_organization',
+          'parent_id' => 3,
+          'is_active' => TRUE,
+          'is_reserved' => FALSE,
+          'description' => NULL,
+          'parent' => 'Organization',
+          'parent_label' => 'Organization',
+          'image_URL' => NULL,
+        ],
+      'sub_household' =>
+        [
+          'id' => $this->ids['ContactType'][3],
+          'name' => 'sub_household',
+          'label' => 'sub_household',
+          'parent_id' => 2,
+          'is_active' => TRUE,
+          'is_reserved' => FALSE,
+          'description' => NULL,
+          'parent' => 'Household',
+          'parent_label' => 'Household',
+          'image_URL' => NULL,
+        ],
+    ];
+  }
+
+  /**
+   * Get subtypes for all main types.
+   *
+   * @return array
+   */
+  public function getExpectedAllSubtypes() {
+    return array_merge(
+      $this->getExpectedContactSubTypes('Individual'),
+      $this->getExpectedContactSubTypes('Household'),
+      $this->getExpectedContactSubTypes('Organization')
+    );
+  }
+
+  /**
+   * Get the expected subtypes of the given contact type.
+   *
+   * @param string $parentType
+   *
+   * @return array
+   */
+  public function getExpectedContactSubTypes($parentType) {
+    $expected = $this->getExpectedContactTypes();
+    foreach ($expected as $index => $values) {
+      if (($values['parent_label'] ?? '') !== $parentType) {
+        unset($expected[$index]);
+      }
+    }
+    return $expected;
+  }
+
   /**
    * Test add() methods with valid data
    * success expected
@@ -196,7 +388,7 @@ class CRM_Contact_BAO_ContactType_ContactTypeTest extends CiviUnitTestCase {
       'is_active' => 1,
     ];
     $result = CRM_Contact_BAO_ContactType::add($params);
-    $this->assertEquals($result, NULL, 'In line' . __LINE__);
+    $this->assertEquals($result, NULL);
   }
 
   /**
@@ -223,7 +415,6 @@ class CRM_Contact_BAO_ContactType_ContactTypeTest extends CiviUnitTestCase {
    * Test del() with invalid data
    */
   public function testDelInvalid() {
-
     $del = CRM_Contact_BAO_ContactType::del(NULL);
     $this->assertEquals($del, FALSE);
   }
index 8597a60f1f833b36da219d34329efde30514355a..e86c633c12bc9782c8c757f11aaa535c7fab9d33 100644 (file)
@@ -55,24 +55,24 @@ class CRM_Contact_SelectorTest extends CiviUnitTestCase {
       $this->assertLike($this->strWrangle($queryString), $this->strWrangle($sql[$index]));
     }
     // Ensure that search builder return individual contact as per criteria
-    if ($dataSet['context'] == 'builder') {
+    if ($dataSet['context'] === 'builder') {
       $contactID = $this->individualCreate(['first_name' => 'James', 'last_name' => 'Bond']);
-      if ('Search builder behaviour for Activity' == $dataSet['description']) {
+      if ('Search builder behaviour for Activity' === $dataSet['description']) {
         $this->callAPISuccess('Activity', 'create', [
           'activity_type_id' => 'Meeting',
-          'subject' => "Test",
+          'subject' => 'Test',
           'source_contact_id' => $contactID,
         ]);
         $rows = CRM_Core_DAO::executeQuery(implode(' ', $sql))->fetchAll();
-        $this->assertEquals(1, count($rows));
+        $this->assertCount(1, $rows);
         $this->assertEquals($contactID, $rows[0]['source_contact_id']);
       }
       else {
         $this->callAPISuccess('Address', 'create', [
           'contact_id' => $contactID,
-          'location_type_id' => "Home",
+          'location_type_id' => 'Home',
           'is_primary' => 1,
-          'country_id' => "IN",
+          'country_id' => 'IN',
         ]);
         $rows = $selector->getRows(CRM_Core_Action::VIEW, 0, 50, '');
         $this->assertEquals(1, count($rows));
index 4d0cc8c03d90256aaa81bee48f4ad334931330cb..358a8bf4867e12b6104701aabdd10736f8a0246c 100644 (file)
@@ -413,7 +413,7 @@ class CRM_Contribute_Form_ContributionTest extends CiviUnitTestCase {
       'contact_id' => $this->_individualId,
       'contribution_status_id' => 'Completed',
     ]);
-    $this->assertEquals('50', $contribution['total_amount']);
+    $this->assertEquals('50.00', $contribution['total_amount']);
     $this->assertEquals(.08, $contribution['fee_amount']);
     $this->assertEquals(49.92, $contribution['net_amount']);
     $this->assertEquals('tx', $contribution['trxn_id']);
@@ -464,7 +464,7 @@ class CRM_Contribute_Form_ContributionTest extends CiviUnitTestCase {
       'contact_id' => $this->_individualId,
       'contribution_status_id' => 'Completed',
     ]);
-    $this->assertEquals('50', $contribution['total_amount']);
+    $this->assertEquals('50.00', $contribution['total_amount']);
     $this->assertEquals(0, $contribution['non_deductible_amount']);
   }
 
index 8b55cfe182e8f7f58975861e6ccf834e6fe61583..42a74c2026938496245f2f8b5eadcda19064e209 100644 (file)
@@ -187,6 +187,20 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase {
           '' => '',
         ],
       ],
+      [
+        'data_type' => 'Money',
+        'html_type' => 'Radio',
+        'option_values' => [
+          '10' => '10 USD',
+          '10.1' => '10.1 USD',
+          '10.99' => '10.99 USD',
+        ],
+        'tests' => [
+          '10 USD' => '10.00',
+          '10.1 USD' => '10.10',
+          '10.99 USD' => '10.99',
+        ],
+      ],
     ];
     foreach ($fieldsToCreate as $num => $field) {
       $params = $field + ['label' => 'test field ' . $num, 'custom_group_id' => $customGroup['id']];
@@ -216,13 +230,13 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase {
     ];
     $createdField = $this->callAPISuccess('customField', 'create', $params);
     $contact1 = $this->individualCreate();
-    $contact2 = $this->individualCreate(['custom_' . $createdField['id'] => $contact1['id']]);
-
-    $this->assertEquals($contact1['display_name'], CRM_Core_BAO_CustomField::displayValue($contact2['id'], $createdField['id']));
+    $contact2 = $this->individualCreate(['custom_' . $createdField['id'] => $contact1]);
+    $contact1Details = $this->callAPISuccess('Contact', 'getsingle', ['id' => $contact1]);
+    $this->assertEquals($contact1Details['display_name'], CRM_Core_BAO_CustomField::displayValue($contact2, $createdField['id']));
     $this->assertEquals("Bob", CRM_Core_BAO_CustomField::displayValue("Bob", $createdField['id']));
 
-    $this->contactDelete($contact2['id']);
-    $this->contactDelete($contact1['id']);
+    $this->contactDelete($contact2);
+    $this->contactDelete($contact1);
     $this->customGroupDelete($customGroup['id']);
   }
 
index a2c8d800eba03c8b5b54d98b932d3c61a528cb86..e4a4e8b643186af8e77347bd44c2897ba6696a4b 100644 (file)
@@ -369,8 +369,7 @@ class CRM_Core_CommunityMessagesTest extends CiviUnitTestCase {
    * @return CRM_Utils_HttpClient|PHPUnit\Framework\MockObject\MockObject
    */
   protected function expectNoHttpRequest() {
-    $mockFunction = $this->mockMethod;
-    $client = $this->$mockFunction('CRM_Utils_HttpClient');
+    $client = $this->getMockBuilder('CRM_Utils_HttpClient')->getMock();
     $client->expects($this->never())
       ->method('get');
     return $client;
@@ -384,8 +383,7 @@ class CRM_Core_CommunityMessagesTest extends CiviUnitTestCase {
    * @return CRM_Utils_HttpClient|PHPUnit\Framework\MockObject\MockObject
    */
   protected function expectOneHttpRequest($response) {
-    $mockFunction = $this->mockMethod;
-    $client = $this->$mockFunction('CRM_Utils_HttpClient');
+    $client = $this->getMockBuilder('CRM_Utils_HttpClient')->getMock();
     $client->expects($this->once())
       ->method('get')
       ->will($this->returnValue($response));
index ab66bd4dffc0b1eae36d9c872b46c1979f75c001..95f8d5e0c8c7625f2716863506060fdde8043e85 100644 (file)
@@ -45,6 +45,11 @@ class CRM_Core_I18n_LocaleTest extends CiviUnitTestCase {
       'fr_CA' => 'French (Canada)',
       'de_DE' => 'German',
     ];
+    $examples = [
+      'en_US' => 'Yes',
+      'fr_CA' => 'Oui',
+      'de_DE' => 'Ja',
+    ];
     $codes = array_keys($languages);
     Civi::settings()->set('uiLanguages', $codes);
 
@@ -77,6 +82,14 @@ class CRM_Core_I18n_LocaleTest extends CiviUnitTestCase {
       'fr_CA' => 'French (Canada)',
     ], $result);
 
+    // If you switch back and forth among these languages, `ts()` should follow suit.
+    for ($trial = 0; $trial < 3; $trial++) {
+      foreach ($examples as $exLocale => $exString) {
+        CRM_Core_I18n::singleton()->setLocale($exLocale);
+        $this->assertEquals($exString, ts('Yes'), "Translate");
+      }
+    }
+
     CRM_Core_I18n::singleton()->setLocale('en_US');
     CRM_Core_I18n_Schema::makeSinglelingual('en_US');
     Civi::$statics['CRM_Core_I18n']['singleton'] = [];
index 3dbee40464ac6baef7bfa2b78c8ed1f91fc8764f..f2d8077b5dd8e4e4dc735536201fc87e2ecc8839 100644 (file)
@@ -20,7 +20,6 @@ class CRM_Core_JobManagerTest extends CiviUnitTestCase {
   }
 
   public function testHookCron() {
-    $mockFunction = $this->mockMethod;
     $hook = $this->getMockBuilder(stdClass::class)
       ->setMethods(['civicrm_cron'])
       ->getMock();
index 63b4c4bd2cc7dc4b18d50546b99b1ed9194baec9..3ef5c7ef9b814536cedd848ef5815a0308fabef2 100644 (file)
@@ -9,6 +9,8 @@
  +--------------------------------------------------------------------+
  */
 
+use Civi\Payment\PropertyBag;
+
 /**
  * Class CRM_Core_Payment_AuthorizeNetTest
  * @group headless
@@ -38,6 +40,39 @@ class CRM_Core_Payment_AuthorizeNetTest extends CiviUnitTestCase {
     $this->quickCleanUpFinancialEntities();
   }
 
+  /**
+   * Test doing a one-off payment.
+   *
+   * @throws \Civi\Payment\Exception\PaymentProcessorException
+   */
+  public function testSinglePayment() {
+    $this->createMockHandler([$this->getExpectedSinglePaymentResponse()]);
+    $this->setUpClientWithHistoryContainer();
+    $this->processor->setGuzzleClient($this->getGuzzleClient());
+    $params = $this->getBillingParams();
+    $params['amount'] = 5.24;
+    $this->processor->doPayment($params);
+    $this->assertEquals($this->getExpectedSinglePaymentRequest(), $this->getRequestBodies()[0]);
+  }
+
+  /**
+   * Get the expected response from Authorize.net.
+   *
+   * @return string
+   */
+  public function getExpectedSinglePaymentResponse() {
+    return '"1","1","1","(TESTMODE) This transaction has been approved.","000000","P","0","","","5.24","CC","auth_capture","","John","O&#39;Connor","","","","","","","","","","","","","","","","","","","","","","","",""';
+  }
+
+  /**
+   *  Get the expected request from Authorize.net.
+   *
+   * @return string
+   */
+  public function getExpectedSinglePaymentRequest() {
+    return 'x_login=4y5BfuW7jm&x_tran_key=4cAmW927n8uLf5J8&x_email_customer=&x_first_name=John&x_last_name=O%27Connor&x_address=&x_city=&x_state=&x_zip=&x_country=&x_customer_ip=&x_email=&x_invoice_num=&x_amount=5.24&x_currency_code=&x_description=&x_cust_id=&x_relay_response=FALSE&x_delim_data=TRUE&x_delim_char=%2C&x_encap_char=%22&x_card_num=4444333322221111&x_card_code=123&x_exp_date=10%2F2022&x_test_request=TRUE';
+  }
+
   /**
    * Create a single post dated payment as a recurring transaction.
    *
@@ -48,7 +83,7 @@ class CRM_Core_Payment_AuthorizeNetTest extends CiviUnitTestCase {
     $this->setUpClientWithHistoryContainer();
     $this->processor->setGuzzleClient($this->getGuzzleClient());
     $firstName = 'John';
-    $lastName = 'Smith';
+    $lastName = "O\'Connor";
     $nameParams = ['first_name' => 'John', 'last_name' => $lastName];
     $contactId = $this->individualCreate($nameParams);
 
@@ -82,24 +117,11 @@ class CRM_Core_Payment_AuthorizeNetTest extends CiviUnitTestCase {
       'contribution_status_id' => 2,
     ]);
 
-    $params = [
+    $billingParams = $this->getBillingParams();
+
+    $params = array_merge($billingParams, [
       'qfKey' => '08ed21c7ca00a1f7d32fff2488596ef7_4454',
       'hidden_CreditCard' => 1,
-      'billing_first_name' => $firstName,
-      'billing_middle_name' => '',
-      'billing_last_name' => $lastName,
-      'billing_street_address-5' => '8 Hobbitton Road',
-      'billing_city-5' => 'The Shire',
-      'billing_state_province_id-5' => 1012,
-      'billing_postal_code-5' => 5010,
-      'billing_country_id-5' => 1228,
-      'credit_card_number' => '4444333322221111',
-      'cvv2' => 123,
-      'credit_card_exp_date' => [
-        'M' => 9,
-        'Y' => 2025,
-      ],
-      'credit_card_type' => 'Visa',
       'is_recur' => 1,
       'frequency_interval' => 1,
       'frequency_unit' => 'month',
@@ -147,12 +169,12 @@ class CRM_Core_Payment_AuthorizeNetTest extends CiviUnitTestCase {
       'contributionType_name' => 'My precious',
       'contributionType_accounting_code' => '',
       'contributionPageID' => '',
-      'email' => "{$firstName}.{$lastName}@example.com",
+      'email' => 'john.smith@example.com',
       'contactID' => $contactId,
       'contributionID' => $contribution['id'],
       'contributionTypeID' => $this->_financialTypeId,
       'contributionRecurID' => $recur['id'],
-    ];
+    ]);
 
     // turn verifySSL off
     Civi::settings()->set('verifySSL', '0');
@@ -165,12 +187,6 @@ class CRM_Core_Payment_AuthorizeNetTest extends CiviUnitTestCase {
       'id', 'Failed to create subscription with Authorize.'
     );
 
-    // cancel it or the transaction will be rejected by A.net if the test is re-run
-    $subscriptionID = CRM_Core_DAO::getFieldValue('CRM_Contribute_DAO_ContributionRecur', $recur['id'], 'processor_id');
-    $message = '';
-    $result = $this->processor->cancelSubscription($message, ['subscriptionId' => $subscriptionID]);
-    $this->assertTrue($result, 'Failed to cancel subscription with Authorize.');
-
     $requests = $this->getRequestBodies();
     $this->assertEquals($this->getExpectedRequest($contactId, date('Y-m-d')), $requests[0]);
     $header = $this->getRequestHeaders()[0];
@@ -193,7 +209,7 @@ class CRM_Core_Payment_AuthorizeNetTest extends CiviUnitTestCase {
     $start_date = date('Ymd', strtotime('+ 1 week'));
 
     $firstName = 'John';
-    $lastName = 'Smith';
+    $lastName = "O'Connor";
     $nameParams = ['first_name' => $firstName, 'last_name' => $lastName];
     $contactId = $this->individualCreate($nameParams);
 
@@ -294,7 +310,7 @@ class CRM_Core_Payment_AuthorizeNetTest extends CiviUnitTestCase {
       'postal_code' => 5010,
       'country' => 'US',
       'contributionPageID' => '',
-      'email' => "{$firstName}.{$lastName}@example.com",
+      'email' => 'john.smith@example.com',
       'contactID' => $contactId,
       'contributionID' => $contribution['id'],
       'contributionRecurID' => $recur['id'],
@@ -312,12 +328,6 @@ class CRM_Core_Payment_AuthorizeNetTest extends CiviUnitTestCase {
       'id', 'Failed to create subscription with Authorize.'
     );
 
-    // cancel it or the transaction will be rejected by A.net if the test is re-run
-    $subscriptionID = CRM_Core_DAO::getFieldValue('CRM_Contribute_DAO_ContributionRecur', $recur['id'], 'processor_id');
-    $message = '';
-    $result = $this->processor->cancelSubscription($message, ['subscriptionId' => $subscriptionID]);
-    $this->assertTrue($result, 'Failed to cancel subscription with Authorize.');
-
     $response = $this->getResponseBodies();
     $this->assertEquals($this->getExpectedResponse(), $response[0], 3);
     $requests = $this->getRequestBodies();
@@ -366,11 +376,11 @@ class CRM_Core_Payment_AuthorizeNetTest extends CiviUnitTestCase {
         </order>
        <customer>
       <id>' . $contactID . '</id>
-      <email>John.Smith@example.com</email>
+      <email>john.smith@example.com</email>
     </customer>
     <billTo>
       <firstName>John</firstName>
-      <lastName>Smith</lastName>
+      <lastName>O\'Connor</lastName>
       <address>8 Hobbiton Road</address>
       <city>The Shire</city>
       <state>IL</state>
@@ -391,4 +401,265 @@ class CRM_Core_Payment_AuthorizeNetTest extends CiviUnitTestCase {
     return '<?xml version="1.0" encoding="utf-8"?><ARBCreateSubscriptionResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"><refId>8d468ca1b1dd5c2b56c7</refId><messages><resultCode>Ok</resultCode><message><code>I00001</code><text>Successful.</text></message></messages><subscriptionId>6632052</subscriptionId><profile><customerProfileId>1512023280</customerProfileId><customerPaymentProfileId>1512027350</customerPaymentProfileId></profile></ARBCreateSubscriptionResponse>';
   }
 
+  /**
+   * Get some basic billing parameters.
+   *
+   * @return array
+   */
+  protected function getBillingParams(): array {
+    return [
+      'billing_first_name' => 'John',
+      'billing_middle_name' => '',
+      'billing_last_name' => "O'Connor",
+      'billing_street_address-5' => '8 Hobbitton Road',
+      'billing_city-5' => 'The Shire',
+      'billing_state_province_id-5' => 1012,
+      'billing_postal_code-5' => 5010,
+      'billing_country_id-5' => 1228,
+      'credit_card_number' => '4444333322221111',
+      'cvv2' => 123,
+      'credit_card_exp_date' => [
+        'M' => 9,
+        'Y' => 2025,
+      ],
+      'credit_card_type' => 'Visa',
+      'year' => 2022,
+      'month' => 10,
+    ];
+  }
+
+  /**
+   * Test the update billing function.
+   */
+  public function testUpdateBilling() {
+    $this->setUpClient($this->getExpectedUpdateResponse());
+    $params = [
+      'qfKey' => '52e3078a34158a80b18d0e3c690c5b9f_2369',
+      'entryURL' => 'http://dmaster.local/civicrm/contribute/updatebilling?reset=1&amp;crid=2&amp;cid=202&amp;context=contribution',
+      'credit_card_number' => '4444333322221111',
+      'cvv2' => '123',
+      'credit_card_exp_date' => ['M' => '3', 'Y' => '2022'],
+      'credit_card_type' => 'Visa',
+      'first_name' => 'q',
+      'middle_name' => '',
+      'last_name' => 't',
+      'street_address' => 'y',
+      'city' => 'xyz',
+      'state_province_id' => '1587',
+      'postal_code' => '777',
+      'country_id' => '1006',
+      'state_province' => 'Bengo',
+      'country' => 'Angola',
+      'month' => '3',
+      'year' => '2022',
+      'subscriptionId' => 6656444,
+      'amount' => '6.00',
+    ];
+    $message = '';
+    $result = $this->processor->updateSubscriptionBillingInfo($message, $params);
+    $requests = $this->getRequestBodies();
+    $this->assertEquals('I00001: Successful.', $message);
+    $this->assertTrue($result);
+    $this->assertEquals($this->getExpectedUpdateRequest(), $requests[0]);
+  }
+
+  /**
+   * Test change subscription function.
+   *
+   * @throws \Civi\Payment\Exception\PaymentProcessorException
+   */
+  public function testChangeSubscription() {
+    $this->setUpClient($this->getExpectedUpdateResponse());
+    $params = [
+      'hidden_custom' => '1',
+      'hidden_custom_group_count' => ['' => 1],
+      'qfKey' => '38588554ecd5c01d5ecdedf3870d9100_7980',
+      'entryURL' => 'http://dmaster.local/civicrm/contribute/updaterecur?reset=1&amp;action=update&amp;crid=2&amp;cid=202&amp;context=contribution',
+      'amount' => '9.67',
+      'currency' => 'USD',
+      'installments' => '8',
+      'is_notify' => '1',
+      'financial_type_id' => '3',
+      '_qf_default' => 'UpdateSubscription:next',
+      '_qf_UpdateSubscription_next' => 'Save',
+      'id' => '2',
+      'subscriptionId' => 1234,
+    ];
+    $message = '';
+    $result = $this->processor->changeSubscriptionAmount($message, $params);
+    $requests = $this->getRequestBodies();
+    $this->assertEquals('I00001: Successful.', $message);
+    $this->assertTrue($result);
+    $this->assertEquals($this->getExpectedChangeSubscriptionRequest(), $requests[0]);
+  }
+
+  /**
+   * Get the expected request string for updateBilling.
+   *
+   * @return string
+   */
+  public function getExpectedUpdateRequest() {
+    return '<?xml version="1.0" encoding="utf-8"?>
+<ARBUpdateSubscriptionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
+  <merchantAuthentication>
+    <name>4y5BfuW7jm</name>
+    <transactionKey>4cAmW927n8uLf5J8</transactionKey>
+  </merchantAuthentication>
+  <subscriptionId>6656444</subscriptionId>
+  <subscription>
+    <payment>
+      <creditCard>
+        <cardNumber>4444333322221111</cardNumber>
+        <expirationDate>2022-03</expirationDate>
+      </creditCard>
+    </payment>
+    <billTo>
+      <firstName>q</firstName>
+      <lastName>t</lastName>
+      <address>y</address>
+      <city>xyz</city>
+      <state>Bengo</state>
+      <zip>777</zip>
+      <country>Angola</country>
+    </billTo>
+  </subscription>
+</ARBUpdateSubscriptionRequest>
+';
+  }
+
+  /**
+   * Get the expected response string for update billing.
+   *
+   * @return string
+   */
+  public function getExpectedUpdateResponse() {
+    return 'HTTP/1.1 200 OK
+Cache-Control: no-store
+Pragma: no-cache
+Content-Type: application/xml; charset=utf-8
+X-OPNET-Transaction-Trace: a2_4345e2c4-e273-46be-8517-8e6c8c408f5c-11416-3580701
+Access-Control-Allow-Credentials: true
+Access-Control-Allow-Headers: x-requested-with,cache-control,content-type,origin,method,SOAPAction
+Access-Control-Allow-Methods: PUT,OPTIONS,POST,GET
+Access-Control-Allow-Origin: *
+Strict-Transport-Security: max-age=31536000
+X-Cnection: close
+Date: Thu, 11 Jun 2020 23:19:48 GMT
+Content-Length: 557
+
+<?xml version="1.0" encoding="utf-8"?><resultCode>Ok</resultCode><message><code>I00001</code><text>Successful.</text>';
+  }
+
+  /**
+   * Get the expected outgoing request for changeSubscription.
+   *
+   * @return string
+   */
+  protected function getExpectedChangeSubscriptionRequest() {
+    return '<?xml version="1.0" encoding="utf-8"?>
+<ARBUpdateSubscriptionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
+  <merchantAuthentication>
+    <name>4y5BfuW7jm</name>
+    <transactionKey>4cAmW927n8uLf5J8</transactionKey>
+  </merchantAuthentication>
+<subscriptionId>1234</subscriptionId>
+  <subscription>
+    <paymentSchedule>
+    <totalOccurrences>8</totalOccurrences>
+    </paymentSchedule>
+    <amount>9.67</amount>
+   </subscription>
+</ARBUpdateSubscriptionRequest>
+';
+  }
+
+  /**
+   * Get the expected incoming response for changeSubscription.
+   *
+   * @return string
+   */
+  protected function getExpectedChangeSubscriptionResponse() {
+    return 'HTTP/1.1 200 OK
+Cache-Control: no-store
+Pragma: no-cache
+Content-Type: application/xml; charset=utf-8
+X-OPNET-Transaction-Trace: a2_e77aa7be-8f98-4f54-ba8a-e8a7f3d9e5ab-8400-7232961
+Access-Control-Allow-Credentials: true
+Access-Control-Allow-Headers: x-requested-with,cache-control,content-type,origin,method,SOAPAction
+Access-Control-Allow-Methods: PUT,OPTIONS,POST,GET
+Access-Control-Allow-Origin: *
+Strict-Transport-Security: max-age=31536000
+X-Cnection: close
+Date: Fri, 12 Jun 2020 00:18:11 GMT
+Content-Length: 492
+
+<?xml version="1.0" encoding="utf-8"?><ARBUpdateSubscriptionResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"><messages><resultCode>Ok</resultCode><message><code>I00001</code><text>Successful.</text></message></messages><profile><customerProfileId>1512214263</customerProfileId><customerPaymentProfileId>1512250079</customerPaymentProfileId></profile></ARBUpdateSubscriptionResponse>';
+  }
+
+  /**
+   * Setup the guzzle client, helper.
+   *
+   * @param string $response
+   */
+  protected function setUpClient($response) {
+    $this->createMockHandler([$response]);
+    $this->setUpClientWithHistoryContainer();
+    $this->processor->setGuzzleClient($this->getGuzzleClient());
+  }
+
+  /**
+   * @throws \Civi\Payment\Exception\PaymentProcessorException
+   */
+  public function testCancelRecurring() {
+    $this->setUpClient($this->getExpectedCancelResponse());
+    $propertyBag = new PropertyBag();
+    $propertyBag->setContributionRecurID(9);
+    $propertyBag->setIsNotifyProcessorOnCancelRecur(TRUE);
+    $propertyBag->setRecurProcessorID(6656333);
+    $this->processor->doCancelRecurring($propertyBag);
+    $requests = $this->getRequestBodies();
+    $this->assertEquals($this->getExpectedCancelRequest(), $requests[0]);
+  }
+
+  /**
+   * Get expected incoming cancel response.
+   *
+   * @return string
+   */
+  protected function getExpectedCancelResponse() {
+    return 'HTTP/1.1 200 OK
+Cache-Control: no-store
+Pragma: no-cache
+Content-Type: application/xml; charset=utf-8
+X-OPNET-Transaction-Trace: a2_e77aa7be-8f98-4f54-ba8a-e8a7f3d9e5ab-8400-7311552
+Access-Control-Allow-Credentials: true
+Access-Control-Allow-Headers: x-requested-with,cache-control,content-type,origin,method,SOAPAction
+Access-Control-Allow-Methods: PUT,OPTIONS,POST,GET
+Access-Control-Allow-Origin: *
+Strict-Transport-Security: max-age=31536000
+X-Cnection: close
+Date: Fri, 12 Jun 2020 00:52:00 GMT
+Content-Length: 361
+
+<?xml version="1.0" encoding="utf-8"?><ARBCancelSubscriptionResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"><messages><resultCode>Ok</resultCode><message><code>I00001</code><text>Successful.</text></message></messages></ARBCancelSubscriptionResponse>';
+  }
+
+  /**
+   * Get the expected outgoing cancel request.
+   *
+   * @return string
+   */
+  protected function getExpectedCancelRequest() {
+    return '<?xml version="1.0" encoding="utf-8"?>
+<ARBCancelSubscriptionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
+  <merchantAuthentication>
+    <name>4y5BfuW7jm</name>
+    <transactionKey>4cAmW927n8uLf5J8</transactionKey>
+  </merchantAuthentication>
+  <subscriptionId>6656333</subscriptionId>
+</ARBCancelSubscriptionRequest>
+';
+
+  }
+
 }
index ad76024aeec1a5142e8e250871b65302a7b728d1..d83d48f28f3cc397c4d6ccf6f5eb0231772b26d5 100644 (file)
@@ -1102,7 +1102,7 @@ class CRM_Core_PseudoConstantTest extends CiviUnitTestCase {
     ];
     CRM_Financial_BAO_FinancialTypeAccount::add($financialAccountParams);
     $taxRates = CRM_Core_PseudoConstant::getTaxRates();
-    $this->assertEquals('5.00', $taxRates[$financialType['id']]);
+    $this->assertEquals('5.00', round($taxRates[$financialType['id']], 2));
   }
 
 }
diff --git a/tests/phpunit/CRM/Custom/Form/OptionTest.php b/tests/phpunit/CRM/Custom/Form/OptionTest.php
new file mode 100644 (file)
index 0000000..33f08c8
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+
+/**
+ * Class CRM_Custom_Form_OptionTest
+ * @group headless
+ */
+class CRM_Custom_Form_OptionTest extends CiviUnitTestCase {
+
+  public function setUp() {
+    parent::setUp();
+  }
+
+  /**
+   * Test the `name` field doesn't get changed when editing an existing option.
+   */
+  public function testEditCustomFieldOptionValue() {
+    // Create a custom field for contacts with some option choices
+    $customGroup = $this->customGroupCreate(['extends' => 'Contact', 'title' => 'contact stuff']);
+    $customField = $this->customFieldOptionValueCreate($customGroup, 'myCustomField');
+    $fid = $customField['id'];
+    $option_group_id = $customField['values'][$fid]['option_group_id'];
+    $optionValue = $this->callAPISuccess('OptionValue', 'get', [
+      'option_group_id' => $option_group_id,
+      'sequential' => 1,
+    ])['values'][0];
+
+    // Run the form
+    $form = new CRM_Custom_Form_Option();
+    $form->controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_Option', 'Custom Option');
+
+    $form->set('id', $optionValue['id']);
+    $form->set('fid', $customField['id']);
+    $form->set('gid', $customGroup['id']);
+
+    ob_start();
+    $form->controller->_actions['display']->perform($form, 'display');
+    $contents = ob_get_contents();
+    ob_end_clean();
+    // We could check for something in $contents, but we don't really care
+    // what the form looks like here.
+
+    // Submit the form
+    //
+    // This might not work if postProcess does something like access certain
+    // properties that here won't have been rebuilt from the full http post
+    // etc process. But at the moment it doesn't.
+    $container = &$form->controller->container();
+    $container['values']['Option'] = [
+      'label' => 'Label changed',
+      'value' => $optionValue['value'],
+      'description' => '',
+      'weight' => $optionValue['value'],
+      'is_active' => '1',
+      // unchecked checkboxes don't submit any actual value
+      // 'default_value' => $optionValue['is_default'],
+      'optionId' => $optionValue['id'],
+      'fieldId' => $fid,
+    ];
+    $form->mainProcess();
+
+    $newOptionValue = $this->callAPISuccess('OptionValue', 'get', [
+      'id' => $optionValue['id'],
+    ])['values'][$optionValue['id']];
+    $this->assertEquals($optionValue['name'], $newOptionValue['name']);
+    $this->assertEquals($optionValue['value'], $newOptionValue['value']);
+    $this->assertEquals('Label changed', $newOptionValue['label']);
+  }
+
+}
index 894ea803dd14de13948099e86e3d171df48b6dbb..3a618e512ed723cb007df2c6ea902eecab3d3152 100644 (file)
@@ -9,11 +9,11 @@ class CRM_Event_BAO_ChangeFeeSelectionTest extends CiviUnitTestCase {
 
   protected $_priceSetID;
 
-  protected $_cheapFee = 80;
+  protected $_cheapFee = '80.00';
 
-  protected $_expensiveFee = 100;
+  protected $_expensiveFee = '100.00';
 
-  protected $_veryExpensive = 120;
+  protected $_veryExpensive = '120.00';
 
   protected $_noFee = 0;
 
index 372011dc1be5625966e32c112354067d60e38b0f..d96c4e9ff5d31e0e97ead59114fba73f40691906 100644 (file)
@@ -833,7 +833,7 @@ class CRM_Event_Form_ParticipantTest extends CiviUnitTestCase {
     /* @var CRM_Event_Form_SelfSvcTransfer $form */
     $form = $this->getFormObject('CRM_Event_Form_SelfSvcTransfer');
     $toContactId = $this->individualCreate();
-    $form->transferParticipantRegistration($toContactId, $participantId, CRM_Core_DAO::getFieldValue('CRM_Event_BAO_Participant', $participantId, 'event_id'));
+    $form->transferParticipantRegistration($toContactId, $participantId);
 
     //Assert participant is transferred to $toContactId.
     $participant = $this->callAPISuccess('Participant', 'getsingle', [
index f7f58e7040cd04c403ee0733dcaaa343d5f11919..52396f41ba57626a28d2c160c8adccf604723fb8 100644 (file)
@@ -33,8 +33,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * @expectedException CRM_Extension_Exception
    */
   public function testInstallInvalidType() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $testingTypeManager->expects($this->never())
       ->method('onPreInstall');
     $manager = $this->_createManager([
@@ -51,8 +50,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * "the first row" or "all rows".
    */
   public function testInstall_Disable_Uninstall() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
@@ -98,8 +96,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * @throws \CRM_Extension_Exception
    */
   public function test_InstallAuto_DisableDownstream_UninstallDownstream() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
@@ -140,8 +137,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * @throws \CRM_Extension_Exception
    */
   public function testInstallAuto_Twice() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
@@ -170,8 +166,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
   }
 
   public function test_InstallAuto_DisableUpstream() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
@@ -213,8 +208,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * Subseuently disable and uninstall.
    */
   public function testInstall_DirtyRemove_Disable_Uninstall() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
@@ -252,8 +246,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * Install an extension with a valid type name.
    */
   public function testInstall_Disable_Enable() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
@@ -295,8 +288,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * Performing 'install' on a 'disabled' extension performs an 'enable'
    */
   public function testInstall_Disable_Install() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
@@ -335,8 +327,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * Install an extension with a valid type name.
    */
   public function testEnableBare() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
@@ -363,8 +354,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * Get the status of an unknown extension.
    */
   public function testStatusUnknownKey() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $testingTypeManager->expects($this->never())
       ->method('onPreInstall');
     $manager = $this->_createManager([
@@ -377,8 +367,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * Replace code for an extension that doesn't exist in the container
    */
   public function testReplace_Unknown() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
@@ -406,8 +395,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * Replace code for an extension that doesn't exist in the container
    */
   public function testReplace_Uninstalled() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
@@ -440,8 +428,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * file="oddball", and the upgrade has file="newextension".
    */
   public function testReplace_Installed() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
@@ -478,8 +465,7 @@ class CRM_Extension_ManagerTest extends CiviUnitTestCase {
    * file="oddball", and the upgrade has file="newextension".
    */
   public function testReplace_InstalledMissing() {
-    $mockFunction = $this->mockMethod;
-    $testingTypeManager = $this->$mockFunction('CRM_Extension_Manager_Interface');
+    $testingTypeManager = $this->getMockBuilder('CRM_Extension_Manager_Interface')->getMock();
     $manager = $this->_createManager([
       self::TESTING_TYPE => $testingTypeManager,
     ]);
index 699815bf2ac0a045afd4268768ca61adefb8cc2f..0b34e9a503adb3b8bb521a2584bbaf4cfa7c8886 100644 (file)
@@ -159,21 +159,21 @@ class CRM_Financial_BAO_FinancialAccountTest extends CiviUnitTestCase {
    * Test getting financial account for a given financial Type with a particular relationship.
    */
   public function testGetFinancialAccountByFinancialTypeAndRelationshipBuiltIn() {
-    $this->assertEquals(2, CRM_Financial_BAO_FinancialAccount::getFinancialAccountForFinancialTypeByRelationship(2, 'Income Account Is'));
+    $this->assertEquals(2, CRM_Financial_BAO_FinancialAccount::getFinancialAccountForFinancialTypeByRelationship(2, 'Income Account is'));
   }
 
   /**
    * Test getting financial account for a given financial Type with a particular relationship.
    */
   public function testGetFinancialAccountByFinancialTypeAndRelationshipBuiltInRefunded() {
-    $this->assertEquals(2, CRM_Financial_BAO_FinancialAccount::getFinancialAccountForFinancialTypeByRelationship(2, 'Credit/Contra Revenue Account Is'));
+    $this->assertEquals(2, CRM_Financial_BAO_FinancialAccount::getFinancialAccountForFinancialTypeByRelationship(2, 'Credit/Contra Revenue Account is'));
   }
 
   /**
    * Test getting financial account for a given financial Type with a particular relationship.
    */
   public function testGetFinancialAccountByFinancialTypeAndRelationshipBuiltInChargeBack() {
-    $this->assertEquals(2, CRM_Financial_BAO_FinancialAccount::getFinancialAccountForFinancialTypeByRelationship(2, 'Chargeback Account Is'));
+    $this->assertEquals(2, CRM_Financial_BAO_FinancialAccount::getFinancialAccountForFinancialTypeByRelationship(2, 'Chargeback Account is'));
   }
 
   /**
index c468d61527f88d5aaf823395d20fe6a035703bae..0709998e7c87833a613849af6a2f65465fa58be0 100644 (file)
@@ -320,8 +320,8 @@ class CRM_Financial_BAO_FinancialTypeTest extends CiviUnitTestCase {
       CRM_Financial_BAO_FinancialType::checkPermissionedLineItems($contributions->id, 'view');
       $this->fail('Missed expected exception');
     }
-    catch (Exception $e) {
-      $this->assertEquals('A fatal error was triggered: You do not have permission to access this page.', $e->getMessage());
+    catch (CRM_Core_Exception $e) {
+      $this->assertEquals('You do not have permission to access this page.', $e->getMessage());
     }
 
     $this->setPermissions([
index 9f1bd1563d7338f30ffda98605fc8a91e9293eeb..5226bbbeae87053d30e5f04a8de0692bc29a50ae 100644 (file)
@@ -96,6 +96,8 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
     $this->_membershipID = $this->callAPISuccess('Membership', 'create', [
       'contact_id' => $this->_individualId,
       'membership_type_id' => $this->membershipTypeAnnualFixedID,
+      'join_date' => '2020-04-13',
+      'source' => 'original_source',
     ])['id'];
 
     $this->paymentInstruments = $this->callAPISuccess('Contribution', 'getoptions', ['field' => 'payment_instrument_id'])['values'];
@@ -378,6 +380,19 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
 
     $form->testSubmit($params);
     $membership = $this->callAPISuccessGetSingle('Membership', ['contact_id' => $this->_individualId]);
+    $this->assertEquals('2020-04-13', $membership['join_date']);
+    $this->assertEquals(date('Y-01-01'), $membership['start_date']);
+    $nextYear = date('Y') + 1;
+    $this->assertEquals(date($nextYear . '-01-31'), $membership['end_date']);
+    $this->assertEquals(CRM_Core_PseudoConstant::getKey('CRM_Member_BAO_Membership', 'status_id', 'New'), $membership['status_id']);
+    $this->assertNotEmpty($membership['contribution_recur_id']);
+    $this->assertNotEmpty('original_source', $membership['source']);
+
+    $log = $this->callAPISuccessGetSingle('MembershipLog', ['membership_id' => $membership['id'], 'options' => ['limit' => 1, 'sort' => 'id DESC']]);
+    $this->assertEquals(date($nextYear . '-01-01'), $log['start_date']);
+    $this->assertEquals(date($nextYear . '-01-31'), $log['end_date']);
+    $this->assertEquals(date('Y-m-d'), $log['modified_date']);
+
     $contributionRecur = $this->callAPISuccessGetSingle('ContributionRecur', ['contact_id' => $this->_individualId]);
     $this->assertEquals($contributionRecur['id'], $membership['contribution_recur_id']);
     $this->assertEquals(0, $contributionRecur['is_email_receipt']);
@@ -479,7 +494,6 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
       'auto_renew' => '0',
       'max_related' => '',
       'num_terms' => '2',
-      'source' => '',
       'total_amount' => '50.00',
       //Member dues, see data.xml
       'financial_type_id' => '2',
@@ -533,7 +547,6 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
       'auto_renew' => '0',
       'max_related' => '',
       'num_terms' => '2',
-      'source' => '',
       'total_amount' => '50.00',
       //Member dues, see data.xml
       'financial_type_id' => '2',
@@ -597,7 +610,6 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
       'auto_renew' => '0',
       'max_related' => '',
       'num_terms' => '2',
-      'source' => '',
       'total_amount' => '50.00',
       //Member dues, see data.xml
       'financial_type_id' => '2',
@@ -650,7 +662,7 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
     $form->controller = new CRM_Core_Controller();
     $form->_bltID = 5;
     $form->_mode = $mode;
-    $form->_id = $this->_membershipID;
+    $form->setEntityId($this->_membershipID);
     $form->preProcess();
     return $form;
   }
@@ -674,7 +686,6 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
       'is_recur' => 1,
       'max_related' => 0,
       'num_terms' => '1',
-      'source' => '',
       'total_amount' => $this->formatMoneyInput('7800.90'),
       //Member dues, see data.xml
       'financial_type_id' => '2',
@@ -700,4 +711,50 @@ class CRM_Member_Form_MembershipRenewalTest extends CiviUnitTestCase {
     ];
   }
 
+  /**
+   * Test renewing an expired membership.
+   *
+   * @throws \CRM_Core_Exception
+   * @throws \CiviCRM_API3_Exception
+   */
+  public function testSubmitRenewExpired() {
+    $form = $this->getForm(NULL);
+    $this->createLoggedInUser();
+    $originalMembership = $this->callAPISuccessGetSingle('membership', []);
+    $this->callAPISuccess('Membership', 'create', [
+      'status_id' => 'Expired',
+      'id' => $originalMembership['id'],
+      'start_date' => '2019-03-01',
+      'join_date' => '2019-03-01',
+      'end_date' => '2020-03-24',
+      'source' => 'sauce',
+    ]);
+
+    $params = [
+      'contact_id' => $this->_individualId,
+      'membership_type_id' => [23, $this->membershipTypeAnnualFixedID],
+      'renewal_date' => '2020-06-10',
+      'financial_type_id' => '2',
+      'num_terms' => '1',
+      'from_email_address' => '"Demonstrators Anonymous" <info@example.org>',
+      'record_contribution' => '1',
+      'total_amount' => '100.00',
+      'receive_date' => '2020-06-05 06:05:00',
+      'payment_instrument_id' => '4',
+      'contribution_status_id' => '1',
+      'send_receipt' => '1',
+    ];
+    $form->testSubmit($params);
+    $renewedMembership = $this->callAPISuccessGetSingle('Membership', ['id' => $originalMembership['id']]);
+    $this->assertEquals('sauce', $renewedMembership['source']);
+    $this->assertEquals(date('Y-01-01'), $renewedMembership['start_date']);
+    $this->assertEquals(date('2019-03-01'), $renewedMembership['join_date']);
+    $this->assertEquals(date('Y-12-31'), $renewedMembership['end_date']);
+    $log = $this->callAPISuccessGetSingle('MembershipLog', ['membership_id' => $renewedMembership['id'], 'options' => ['limit' => 1, 'sort' => 'id DESC']]);
+    $this->assertEquals(date('Y-01-01'), $log['start_date']);
+    $this->assertEquals(date('Y-12-31'), $log['end_date']);
+    $this->assertEquals(date('Y-m-d'), $log['modified_date']);
+    $this->assertEquals(CRM_Core_PseudoConstant::getKey('CRM_Member_BAO_Membership', 'status_id', 'Current'), $log['status_id']);
+  }
+
 }
index e9e0536764c2840b46aca3b6ac743ec9b1745d13..c9a030bbd51654205970bc6bf39f731e68826240 100644 (file)
@@ -673,4 +673,12 @@ class CRM_Upgrade_Incremental_BaseTest extends CiviUnitTestCase {
     $this->assertEquals('1991-11-01 00:00:00', $formValues['receive_date_from']);
   }
 
+  public function testUpdateContactTypeNameField() {
+    CRM_Core_DAO::executeQuery("INSERT INTO civicrm_contact_type (name,label,parent_id, is_active) VALUES ('', 'Test Contact Type', 1, 1)");
+    CRM_Upgrade_Incremental_php_FiveTwentyEight::populateMissingContactTypeName();
+    $contactType = $this->callAPISuccess('ContactType', 'getsingle', ['label' => 'Test Contact Type']);
+    $this->assertNotEmpty($contactType['name']);
+    $this->callAPISuccess('ContactType', 'delete', ['id' => $contactType['id']]);
+  }
+
 }
index 630e897edf22363279e5f92b8932dfeadc4757cb..65afb0384ae432b52adf981f29b97956293ed82f 100644 (file)
@@ -304,4 +304,16 @@ class CRM_Utils_DateTest extends CiviUnitTestCase {
     $this->assertEquals(CRM_Utils_Date::customFormatTs($ts, "%Y"), "2018");
   }
 
+  /**
+   * Test Earlier Day Relative term to absolute
+   */
+  public function testRelativeEarlierDay() {
+    $date = CRM_Utils_Date::relativeToAbsolute('earlier', 'day');
+
+    $this->assertEquals([
+      'from' => NULL,
+      'to' => date('Ymd000000', strtotime('-1 day')),
+    ], $date);
+  }
+
 }
index aa08e911dd2fc2aaa9dffa70a2fc17ee23c9c78f..36b6fef533f52e9fc2138b765135fcc91a9ae710 100644 (file)
@@ -107,8 +107,8 @@ class CRM_Utils_JSTest extends CiviUnitTestCase {
 
   public function dedupeClosureExamples() {
     // Each example string here is named for its body, eg the body of $a calls "a()".
-    $a = "(function (angular, $, _) {\na();\n})(angular, CRM.$, CRM._);";
-    $b = "(function(angular,$,_){\nb();\n})(angular,CRM.$,CRM._);";
+    $a = "(function (angular, $, _) {\n  'use strict';\n  a();\n})(angular, CRM.$, CRM._);";
+    $b = "(function(angular,$,_){\n  \"use strict\";\n  b();\n})(angular,CRM.$,CRM._);";
     $c = "(function( angular, $,_) {\nc();\n})(angular,CRM.$, CRM._);";
     $d = "(function (angular, $, _, whiz) {\nd();\n})(angular, CRM.$, CRM._, CRM.whizbang);";
     $m = "alert('i is the trickster (function( angular, $,_) {\nm();\n})(angular,CRM.$, CRM._);)'";
@@ -116,9 +116,10 @@ class CRM_Utils_JSTest extends CiviUnitTestCase {
 
     // Each example string here is a deduped combination of others,
     // eg "$ab" is the deduping of $a+$b.
-    $ab = "(function (angular, $, _) {\na();\n\nb();\n})(angular,CRM.$,CRM._);";
-    $abc = "(function (angular, $, _) {\na();\n\nb();\n\nc();\n})(angular,CRM.$, CRM._);";
-    $cb = "(function( angular, $,_) {\nc();\n\nb();\n})(angular,CRM.$,CRM._);";
+    $ab = "(function (angular, $, _) {\n  'use strict';\n  a();\n  b();\n})(angular,CRM.$,CRM._);";
+    $ba = "(function(angular,$,_){\n  \"use strict\";\n  b();\n  a();\n})(angular, CRM.$, CRM._);";
+    $abc = "(function (angular, $, _) {\n  'use strict';\n  a();\n  b();\nc();\n})(angular,CRM.$, CRM._);";
+    $cb = "(function( angular, $,_) {\nc();\n  b();\n})(angular,CRM.$,CRM._);";
 
     $cases = [];
     $cases[] = [[$a], "$a"];
@@ -127,6 +128,7 @@ class CRM_Utils_JSTest extends CiviUnitTestCase {
     $cases[] = [[$d], "$d"];
     $cases[] = [[$m], "$m"];
     $cases[] = [[$a, $b], "$ab"];
+    $cases[] = [[$b, $a], "$ba"];
     $cases[] = [[$a, $m, $b], "$a$m$b"];
     $cases[] = [[$a, $d], "$a$d"];
     $cases[] = [[$a, $d, $b], "$a$d$b"];
@@ -153,11 +155,15 @@ class CRM_Utils_JSTest extends CiviUnitTestCase {
     $cases = [];
     $cases[] = [
       "a();\n//# sourceMappingURL=../foo/bar/baz.js\nb();",
-      "a();\n\nb();",
+      "a();\nb();",
     ];
     $cases[] = [
       "// foo\na();",
-      "\na();",
+      "a();",
+    ];
+    $cases[] = [
+      "// foo\n //\na();",
+      "a();",
     ];
     $cases[] = [
       "b();\n  // foo",
@@ -165,11 +171,11 @@ class CRM_Utils_JSTest extends CiviUnitTestCase {
     ];
     $cases[] = [
       "/// foo\na();\n\t \t//bar\nb();\n// whiz",
-      "\na();\n\nb();\n",
+      "a();\nb();\n",
     ];
     $cases[] = [
       "alert('//# sourceMappingURL=../foo/bar/baz.js');\n//zoop\na();",
-      "alert('//# sourceMappingURL=../foo/bar/baz.js');\n\na();",
+      "alert('//# sourceMappingURL=../foo/bar/baz.js');\na();",
     ];
     return $cases;
   }
index ba6a3dc8ba7320686ecc688ba2a2f7de59dd0926..7b97b20b2f7e1314c94a7ae394a33f816270fd06 100644 (file)
@@ -41,6 +41,7 @@ class CRM_Utils_MoneyTest extends CiviUnitTestCase {
       [2, 1, 'USD', 1],
       [0, 0, 'USD', 0],
       [1, 2, 'USD', -1],
+      [269.565217391, 1, 'USD', 268.57],
       [number_format(19.99, 2), number_format(20.00, 2), 'USD', number_format(-0.01, 2)],
       ['notanumber', 5.00, 'USD', NULL],
     ];
index 4befbec00c5098dec3818db148ab167802bd7622..0a66c6dd7ce57e18e05324ae8dcfa9b42d6744e9 100644 (file)
@@ -3,6 +3,7 @@ namespace Civi\Payment;
 
 use Civi\Test\HeadlessInterface;
 use Civi\Test\TransactionalInterface;
+use PHPUnit\Framework\Error\Deprecated as DeprecatedError;
 
 /**
  * @group headless
@@ -13,7 +14,10 @@ class PropertyBagTest extends \PHPUnit\Framework\TestCase implements HeadlessInt
    * @return \Civi\Test\CiviEnvBuilder
    */
   public function setUpHeadless() {
-    return \Civi\Test::headless()->apply();
+    static $reset = FALSE;
+    $return = \Civi\Test::headless()->apply($reset);
+    $reset = FALSE;
+    return $return;
   }
 
   /**
@@ -55,31 +59,47 @@ class PropertyBagTest extends \PHPUnit\Framework\TestCase implements HeadlessInt
    */
   public function testSetContactIDLegacyWay() {
     $propertyBag = new PropertyBag();
-    $propertyBag['contactID'] = 123;
-    $this->assertEquals(123, $propertyBag->getContactID());
-    $this->assertEquals(123, $propertyBag['contactID']);
-    // There should not be any warnings yet.
-    $this->assertEquals("", $propertyBag->lastWarning);
 
-    // Now access via legacy name - should work but generate warning.
-    $this->assertEquals(123, $propertyBag['contact_id']);
-    $this->assertEquals("We have translated 'contact_id' to 'contactID' for you, but please update your code to use the propper setters and getters.", $propertyBag->lastWarning);
+    // To prevent E_USER_DEPRECATED errors during phpunit tests we take a copy
+    // of the existing error_reporting.
+    $oldLevel = error_reporting();
+    $ignoreUserDeprecatedErrors = $oldLevel & ~E_USER_DEPRECATED;
 
-    // Repeat but this time set the property using a legacy name, fetch by new name.
-    $propertyBag = new PropertyBag();
-    $propertyBag['contact_id'] = 123;
-    $this->assertEquals("We have translated 'contact_id' to 'contactID' for you, but please update your code to use the propper setters and getters.", $propertyBag->lastWarning);
-    $this->assertEquals(123, $propertyBag->getContactID());
-    $this->assertEquals(123, $propertyBag['contactID']);
-    $this->assertEquals(123, $propertyBag['contact_id']);
+    foreach (['contactID', 'contact_id'] as $prop) {
+      // Set by array access should cause deprecated error.
+      try {
+        $propertyBag[$prop] = 123;
+        $this->fail("Using array access to set a property '$prop' should trigger deprecated notice.");
+      }
+      catch (DeprecatedError $e) {
+      }
+
+      // But it should still work.
+      error_reporting($ignoreUserDeprecatedErrors);
+      $propertyBag[$prop] = 123;
+      error_reporting($oldLevel);
+      $this->assertEquals(123, $propertyBag->getContactID());
+
+      // Getting by array access should also cause deprecation error.
+      try {
+        $_ = $propertyBag[$prop];
+        $this->fail("Using array access to get a property '$prop' should trigger deprecated notice.");
+      }
+      catch (DeprecatedError $e) {
+      }
+
+      // But again, it should work.
+      error_reporting($ignoreUserDeprecatedErrors);
+      $this->assertEquals(123, $propertyBag[$prop], "Getting '$prop' by array access should work");
+      error_reporting($oldLevel);
+    }
   }
 
   /**
    * Test that emails set by the legacy method of 'email-5' can be retrieved with getEmail.
    */
   public function testSetBillingEmailLegacy() {
-    $localPropertyBag = new PropertyBag();
-    $localPropertyBag->mergeLegacyInputParams(['email-' . \CRM_Core_BAO_LocationType::getBilling() => 'a@b.com']);
+    $localPropertyBag = PropertyBag::cast(['email-' . \CRM_Core_BAO_LocationType::getBilling() => 'a@b.com']);
     $this->assertEquals('a@b.com', $localPropertyBag->getEmail());
   }
 
@@ -98,12 +118,10 @@ class PropertyBagTest extends \PHPUnit\Framework\TestCase implements HeadlessInt
   /**
    */
   public function testMergeInputs() {
-    $propertyBag = new PropertyBag();
-    $propertyBag->mergeLegacyInputParams([
+    $propertyBag = PropertyBag::cast([
       'contactID' => 123,
       'contributionRecurID' => 456,
     ]);
-    $this->assertEquals('We have merged input params into the property bag for now but please rewrite code to not use this.', $propertyBag->lastWarning);
     $this->assertEquals(123, $propertyBag->getContactID());
     $this->assertEquals(456, $propertyBag->getContributionRecurID());
   }
@@ -112,6 +130,10 @@ class PropertyBagTest extends \PHPUnit\Framework\TestCase implements HeadlessInt
    * Test we can set and access custom props.
    */
   public function testSetCustomProp() {
+    $oldLevel = error_reporting();
+    $ignoreUserDeprecatedErrors = $oldLevel & ~E_USER_DEPRECATED;
+
+    // The proper way.
     $propertyBag = new PropertyBag();
     $propertyBag->setCustomProperty('customThingForMyProcessor', 'fidget');
     $this->assertEquals('fidget', $propertyBag->getCustomProperty('customThingForMyProcessor'));
@@ -119,9 +141,34 @@ class PropertyBagTest extends \PHPUnit\Framework\TestCase implements HeadlessInt
 
     // Test we can do this with array, although we should get a warning.
     $propertyBag = new PropertyBag();
+
+    // Set by array access should cause deprecated error.
+    try {
+      $propertyBag['customThingForMyProcessor'] = 'fidget';
+      $this->fail("Using array access to set an implicitly custom property should trigger deprecated notice.");
+    }
+    catch (DeprecatedError $e) {
+    }
+
+    // But it should still work.
+    error_reporting($ignoreUserDeprecatedErrors);
     $propertyBag['customThingForMyProcessor'] = 'fidget';
+    error_reporting($oldLevel);
     $this->assertEquals('fidget', $propertyBag->getCustomProperty('customThingForMyProcessor'));
-    $this->assertEquals("Unknown property 'customThingForMyProcessor'. We have merged this in for now as a custom property. Please rewrite your code to use PropertyBag->setCustomProperty if it is a genuinely custom property, or a standardised setter like PropertyBag->setContactID for standard properties", $propertyBag->lastWarning);
+
+    // Getting by array access should also cause deprecation error.
+    try {
+      $_ = $propertyBag['customThingForMyProcessor'];
+      $this->fail("Using array access to get an implicitly custom property should trigger deprecated notice.");
+    }
+    catch (DeprecatedError $e) {
+    }
+
+    // But again, it should work.
+    error_reporting($ignoreUserDeprecatedErrors);
+    $this->assertEquals('fidget', $propertyBag['customThingForMyProcessor']);
+    error_reporting($oldLevel);
+
   }
 
   /**
@@ -135,6 +182,37 @@ class PropertyBagTest extends \PHPUnit\Framework\TestCase implements HeadlessInt
     $propertyBag->setCustomProperty('contactID', 123);
   }
 
+  /**
+   * Test we get NULL for custom prop that was not set.
+   *
+   * This is only for backward compatibility/ease of transition. One day it would be nice to throw an exception instead.
+   *
+   * @expectedException \BadMethodCallException
+   * @expectedExceptionMessage Property 'aCustomProp' has not been set.
+   */
+  public function testGetCustomPropFails() {
+    $propertyBag = new PropertyBag();
+    // Tricky test. We need to ignore deprecation errors, we're testing deprecated behaviour,
+    // but we need to listen out for a different exception.
+    $oldLevel = error_reporting();
+    $ignoreUserDeprecatedErrors = $oldLevel & ~E_USER_DEPRECATED;
+    error_reporting($ignoreUserDeprecatedErrors);
+
+    // Do the do.
+    try {
+      $v = $propertyBag['aCustomProp'];
+      error_reporting($oldLevel);
+      $this->fail("Expected BadMethodCallException from accessing an unset custom prop.");
+    }
+    catch (\BadMethodCallException $e) {
+      // reset error level.
+      error_reporting($oldLevel);
+      // rethrow for phpunit to catch.
+      throw $e;
+    }
+
+  }
+
   /**
    *
    * @dataProvider otherParamsDataProvider
@@ -174,9 +252,14 @@ class PropertyBagTest extends \PHPUnit\Framework\TestCase implements HeadlessInt
       $this->fail("Expected an error trying to set $prop to " . json_encode($given) . " but did not get one.");
     }
 
+    $oldLevel = error_reporting();
+    $ignoreUserDeprecatedErrors = $oldLevel & ~E_USER_DEPRECATED;
+
     // Check array access for the proper property name and any aliases.
+    // This is going to throw a bunch of deprecated errors, but we know this
+    // (and have tested it elsewhere) so we turn those off.
+    error_reporting($ignoreUserDeprecatedErrors);
     foreach (array_merge([$prop], $legacy_names) as $name) {
-      // Check array access
       foreach ($valid_values as $_) {
         list($given, $expect) = $_;
         $propertyBag = new PropertyBag();
@@ -187,6 +270,7 @@ class PropertyBagTest extends \PHPUnit\Framework\TestCase implements HeadlessInt
         break;
       }
     }
+    error_reporting($oldLevel);
   }
 
   /**
@@ -212,10 +296,67 @@ class PropertyBagTest extends \PHPUnit\Framework\TestCase implements HeadlessInt
   public function testUtilsArray() {
     $propertyBag = new PropertyBag();
     $propertyBag->setContactID(123);
+    // This will throw deprecation notices but we don't care.
+    $oldLevel = error_reporting();
+    $ignoreUserDeprecatedErrors = $oldLevel & ~E_USER_DEPRECATED;
+    error_reporting($ignoreUserDeprecatedErrors);
     $this->assertEquals(123, \CRM_Utils_Array::value('contact_id', $propertyBag));
 
     // Test that using utils array value to get a nonexistent property returns the default.
     $this->assertEquals(456, \CRM_Utils_Array::value('ISawAManWhoWasntThere', $propertyBag, 456));
+    error_reporting($oldLevel);
+  }
+
+  /**
+   */
+  public function testEmpty() {
+    $propertyBag = new PropertyBag();
+    $propertyBag->setContactID(123);
+    $propertyBag->setRecurProcessorID('');
+    $propertyBag->setBillingPostalCode(NULL);
+    $propertyBag->setFeeAmount(0);
+    $propertyBag->setCustomProperty('custom_issue', 'black lives matter');
+    $propertyBag->setCustomProperty('custom_null', NULL);
+    $propertyBag->setCustomProperty('custom_false', FALSE);
+    $propertyBag->setCustomProperty('custom_zls', '');
+    $propertyBag->setCustomProperty('custom_0', 0);
+
+    // To prevent E_USER_DEPRECATED errors during phpunit tests we take a copy
+    // of the existing error_reporting.
+    $oldLevel = error_reporting();
+    $ignoreUserDeprecatedErrors = $oldLevel & ~E_USER_DEPRECATED;
+    error_reporting($ignoreUserDeprecatedErrors);
+
+    // Tests on known properties.
+    $v = empty($propertyBag->getContactID());
+    $this->assertFalse($v, "empty on a set, known property should return False");
+    $v = empty($propertyBag['contactID']);
+    $this->assertFalse($v, "empty on a set, known property accessed by ArrayAccess with correct name should return False");
+    $v = empty($propertyBag['contact_id']);
+    $this->assertFalse($v, "empty on a set, known property accessed by ArrayAccess with legacy name should return False");
+    $v = empty($propertyBag['recurProcessorID']);
+    $this->assertTrue($v, "empty on an unset, known property accessed by ArrayAccess should return True");
+    $v = empty($propertyBag->getRecurProcessorID());
+    $this->assertTrue($v, "empty on a set, but '' value should return True");
+    $v = empty($propertyBag->getFeeAmount());
+    $this->assertTrue($v, "empty on a set, but 0 value should return True");
+    $v = empty($propertyBag->getBillingPostalCode());
+    $this->assertTrue($v, "empty on a set, but NULL value should return True");
+
+    // Test custom properties.
+    $v = empty($propertyBag->getCustomProperty('custom_issue'));
+    $this->assertFalse($v, "empty on a set custom property with non-empty value should return False");
+    foreach (['null', 'false', 'zls', '0'] as $_) {
+      $v = empty($propertyBag["custom_$_"]);
+      $this->assertTrue($v, "empty on a set custom property with $_ value should return TRUE");
+    }
+    $v = empty($propertyBag['nonexistent_custom_field']);
+    $this->assertTrue($v, "empty on a non-existent custom property should return True");
+
+    $v = empty($propertyBag['custom_issue']);
+    $this->assertFalse($v, "empty on a set custom property accessed by ArrayAccess should return False");
+
+    error_reporting($oldLevel);
   }
 
   /**
@@ -292,9 +433,16 @@ class PropertyBagTest extends \PHPUnit\Framework\TestCase implements HeadlessInt
       $this->assertEquals("Attempted to get 'contribution_recur_id' via getCustomProperty - must use using its getter.", $e->getMessage());
     }
 
-    // Nb. hmmm. the custom property getter does not throw an exception if the property is unset, it just returns NULL.
-    $result = $propertyBag->getter('something_custom');
-    $this->assertNull($result, "Failed testing the getter on an unset custom property when not providing a default");
+    // Nb. up to 5.26, the custom property getter did not throw an exception if the property is unset, it just returned NULL.
+    // Now, we return NULL for array access (legacy) but for modern access
+    // (getter, getPropX(), getCustomProperty())  then we throw an exception if
+    // it is not set.
+    try {
+      $result = $propertyBag->getter('something_custom');
+      $this->fail("Expected a BadMethodCallException when getting 'something_custom' which has not been set.");
+    }
+    catch (\BadMethodCallException $e) {
+    }
 
     try {
       $propertyBag->setter('some_custom_thing', 'foo');
index 25567a40e60a8e7641afc5898a14ebe9da490e87..854f650f93f18a0e35a4919aa2085c447df70aca 100644 (file)
@@ -55,20 +55,6 @@ class CiviTestSuite extends PHPUnit\Framework\TestSuite {
     CRM_Core_ClassLoader::singleton()->register();
   }
 
-  /**
-   *  Test suite setup.
-   */
-  protected function setUp() {
-    //print __METHOD__ . "\n";
-  }
-
-  /**
-   *  Test suite teardown.
-   */
-  protected function tearDown() {
-    //print __METHOD__ . "\n";
-  }
-
   /**
    *  suppress failed test error issued by phpunit when it finds.
    *  a test suite with no tests
index 83fff3e4185cae226db4a55ae446b90a74260078..8a8ae2203790513ce7cd4967705df3aaff6be88d 100644 (file)
@@ -165,13 +165,6 @@ class CiviUnitTestCase extends PHPUnit\Framework\TestCase {
    */
   public $setupIDs = [];
 
-  /**
-   * PHPUnit Mock Method to use.
-   *
-   * @var string
-   */
-  public $mockMethod = 'getMock';
-
   /**
    *  Constructor.
    *
@@ -201,12 +194,6 @@ class CiviUnitTestCase extends PHPUnit\Framework\TestCase {
       // FIXME: loosen coupling
       _civix_phpunit_setUp();
     }
-    if (class_exists('PHPUnit_Runner_Version') && version_compare(\PHPUnit_Runner_Version::id(), '5', '>=')) {
-      $this->mockMethod = 'createMock';
-    }
-    elseif (class_exists('PHPUnit\Runner\Version') && version_compare(PHPUnit\Runner\Version::id(), '6', '>=')) {
-      $this->mockMethod = 'createMock';
-    }
   }
 
   /**
@@ -2872,7 +2859,7 @@ VALUES
     if ($context != 'online' && $context != 'payLater') {
       $compareParams = [
         'to_financial_account_id' => 6,
-        'total_amount' => CRM_Utils_Array::value('total_amount', $params, 100),
+        'total_amount' => (float) CRM_Utils_Array::value('total_amount', $params, 100.00),
         'status_id' => 1,
       ];
     }
@@ -2882,7 +2869,7 @@ VALUES
     elseif ($context == 'online') {
       $compareParams = [
         'to_financial_account_id' => 12,
-        'total_amount' => CRM_Utils_Array::value('total_amount', $params, 100),
+        'total_amount' => (float) CRM_Utils_Array::value('total_amount', $params, 100.00),
         'status_id' => 1,
         'payment_instrument_id' => CRM_Utils_Array::value('payment_instrument_id', $params, 1),
       ];
@@ -2890,7 +2877,7 @@ VALUES
     elseif ($context == 'payLater') {
       $compareParams = [
         'to_financial_account_id' => 7,
-        'total_amount' => CRM_Utils_Array::value('total_amount', $params, 100),
+        'total_amount' => (float) CRM_Utils_Array::value('total_amount', $params, 100.00),
         'status_id' => 2,
       ];
     }
@@ -2904,13 +2891,13 @@ VALUES
       'id' => $entityTrxn['entity_id'],
     ];
     $compareParams = [
-      'amount' => CRM_Utils_Array::value('total_amount', $params, 100),
+      'amount' => (float) CRM_Utils_Array::value('total_amount', $params, 100.00),
       'status_id' => 1,
       'financial_account_id' => CRM_Utils_Array::value('financial_account_id', $params, 1),
     ];
     if ($context == 'payLater') {
       $compareParams = [
-        'amount' => CRM_Utils_Array::value('total_amount', $params, 100),
+        'amount' => (float) CRM_Utils_Array::value('total_amount', $params, 100.00),
         'status_id' => 3,
         'financial_account_id' => CRM_Utils_Array::value('financial_account_id', $params, 1),
       ];
@@ -2938,7 +2925,7 @@ VALUES
         'entity_table' => 'civicrm_financial_trxn',
       ];
       $compareParams = [
-        'amount' => 50,
+        'amount' => 50.00,
         'status_id' => 1,
         'financial_account_id' => 5,
       ];
index af306ee34aa11f4398e7f205e21389b6ed3c5e58..939ceaa6945339b6d6910118fa0a941e57b30a0c 100644 (file)
@@ -2370,8 +2370,7 @@ class api_v3_ContactTest extends CiviUnitTestCase {
     $this->assertTrue(is_numeric($ufMatch->id));
 
     // setup - mock the calls to CRM_Utils_System_*::getUfId
-    $mockFunction = $this->mockMethod;
-    $userSystem = $this->$mockFunction('CRM_Utils_System_UnitTests', ['getUfId']);
+    $userSystem = $this->getMockBuilder('CRM_Utils_System_UnitTests')->setMethods(['getUfId'])->getMock();
     $userSystem->expects($this->once())
       ->method('getUfId')
       ->with($this->equalTo('exampleUser'))
@@ -2457,8 +2456,7 @@ class api_v3_ContactTest extends CiviUnitTestCase {
    */
   public function testContactGetByUnknownUsername() {
     // setup - mock the calls to CRM_Utils_System_*::getUfId
-    $mockFunction = $this->mockMethod;
-    $userSystem = $this->$mockFunction('CRM_Utils_System_UnitTests', ['getUfId']);
+    $userSystem = $this->getMockBuilder('CRM_Utils_System_UnitTests')->setMethods(['getUfId'])->getMock();
     $userSystem->expects($this->once())
       ->method('getUfId')
       ->with($this->equalTo('exampleUser'))
index 33a4005a71de66266895cc2be106223c84ed0058..551f43ec11ac32e8f72fe76c19d97d2e0892f5ac 100644 (file)
@@ -33,7 +33,7 @@ class api_v3_ContributionRecurTest extends CiviUnitTestCase {
       'contact_id' => $this->ids['contact'][0],
       'installments' => '12',
       'frequency_interval' => '1',
-      'amount' => '500',
+      'amount' => '500.00',
       'contribution_status_id' => 1,
       'start_date' => '2012-01-01 00:00:00',
       'currency' => 'USD',
index 84bb7ad6444662c782137db5659341cef8d144a6..6880605e793f40d904485f777312a48fdb61d109 100644 (file)
@@ -206,7 +206,7 @@ class api_v3_ContributionSoftTest extends CiviUnitTestCase {
     $softcontribution = $this->callAPIAndDocument('contribution_soft', 'create', $params, __FUNCTION__, __FILE__);
     $this->assertEquals($softcontribution['values'][$softcontribution['id']]['contribution_id'], $this->_contributionId);
     $this->assertEquals($softcontribution['values'][$softcontribution['id']]['contact_id'], $this->_softIndividual1Id);
-    $this->assertEquals($softcontribution['values'][$softcontribution['id']]['amount'], '10.00');
+    $this->assertEquals($softcontribution['values'][$softcontribution['id']]['amount'], '10');
     $this->assertEquals($softcontribution['values'][$softcontribution['id']]['currency'], 'USD');
     $this->assertEquals($softcontribution['values'][$softcontribution['id']]['soft_credit_type_id'], 5);
   }
index c227dff574aa232d3dbdbbe74af5a16ae664ce82..5a21149c800d03d4aaa544f480f329204e3fdbbe 100644 (file)
@@ -518,6 +518,10 @@ class api_v3_ContributionTest extends CiviUnitTestCase {
     ];
 
     $contribution = $this->callAPISuccess('contribution', 'create', $params);
+    $financialItems = $this->callAPISuccess('FinancialItem', 'get', []);
+    foreach ($financialItems['values'] as $financialItem) {
+      $this->assertEquals(date('Y-m-d H:i:s', strtotime($contribution['values'][$contribution['id']]['receive_date'])), date('Y-m-d H:i:s', strtotime($financialItem['transaction_date'])));
+    }
     $lineItems = $this->callAPISuccess('line_item', 'get', [
       'entity_id' => $contribution['id'],
       'entity_table' => 'civicrm_contribution',
@@ -2223,7 +2227,7 @@ class api_v3_ContributionTest extends CiviUnitTestCase {
     $contribution = $this->callAPISuccess('contribution', 'getsingle', ['id' => $contribution['id'], 'sequential' => 1]);
     $this->assertEquals('Completed', $contribution['contribution_status']);
     $this->assertEquals('7778888', $contribution['trxn_id']);
-    $this->assertEquals('.56', $contribution['fee_amount']);
+    $this->assertEquals('0.56', $contribution['fee_amount']);
     $this->assertEquals('99.44', $contribution['net_amount']);
   }
 
index 5ff88410506a62190eb635b4811e8c48fc937c74..d0c3707606408b68b6ccfd35bc7a860d0cc3d4ba 100644 (file)
@@ -31,7 +31,7 @@ class api_v3_GrantTest extends CiviUnitTestCase {
       'contact_id' => $this->ids['contact'][0],
       'application_received_date' => 'now',
       'decision_date' => 'next Monday',
-      'amount_total' => '500',
+      'amount_total' => '500.00',
       'status_id' => 1,
       'rationale' => 'Just Because',
       'currency' => 'USD',
index fb0195d35e70fe2cfb0505afc0ff322e4f12f7a7..e2f6cbd5e262cde0d1e728286d6b8f057f8b0f99 100644 (file)
@@ -355,8 +355,8 @@ class api_v3_LoggingTest extends CiviUnitTestCase {
     // To protect against the modified date not changing due to the updates being too close together.
     sleep(1);
     $loggings = $this->callAPISuccess('Logging', 'get', ['log_conn_id' => 'bitty bot bot', 'tables' => ['civicrm_address']]);
-    $this->assertEquals('civicrm_address', $loggings['values'][0]['table'], CRM_Core_DAO::executeQuery('SELECT * FROM log_civicrm_address')->toArray());
-    $this->assertEquals(1, $loggings['count'], CRM_Core_DAO::executeQuery('SELECT * FROM log_civicrm_address')->toArray());
+    $this->assertEquals('civicrm_address', $loggings['values'][0]['table'], json_encode(CRM_Core_DAO::executeQuery('SELECT * FROM log_civicrm_address')->toArray()));
+    $this->assertEquals(1, $loggings['count'], json_encode(CRM_Core_DAO::executeQuery('SELECT * FROM log_civicrm_address')->toArray()));
     $this->assertEquals('27 Cool way', $loggings['values'][0]['from']);
     $this->assertEquals('25 Dorky way', $loggings['values'][0]['to']);
     $this->callAPISuccess('Logging', 'revert', ['log_conn_id' => 'bitty bot bot', 'tables' => ['civicrm_address']]);
index 328e8cf2a79d398f0e964a56094eea4f522d6441..775e0982c451d43db05c5355dbec9455b126fef0 100644 (file)
@@ -16,7 +16,6 @@
 class api_v3_MembershipTypeTest extends CiviUnitTestCase {
   protected $_contactID;
   protected $_contributionTypeID;
-  protected $_apiversion;
   protected $_entity = 'MembershipType';
 
   /**
@@ -25,7 +24,6 @@ class api_v3_MembershipTypeTest extends CiviUnitTestCase {
   public function setUp() {
     parent::setUp();
     $this->useTransaction(TRUE);
-    $this->_apiversion = 3;
     $this->_contactID = $this->organizationCreate();
   }
 
@@ -33,8 +31,10 @@ class api_v3_MembershipTypeTest extends CiviUnitTestCase {
    * Get the membership without providing an ID.
    *
    * This should return an empty array but not an error.
+   * @dataProvider versionThreeAndFour
    */
-  public function testGetWithoutId() {
+  public function testGetWithoutId($version) {
+    $this->_apiversion = $version;
     $params = [
       'name' => '60+ Membership',
       'description' => 'people above 60 are given health instructions',
@@ -51,8 +51,10 @@ class api_v3_MembershipTypeTest extends CiviUnitTestCase {
 
   /**
    * Test get works.
+   * @dataProvider versionThreeAndFour
    */
-  public function testGet() {
+  public function testGet($version) {
+    $this->_apiversion = $version;
     $id = $this->membershipTypeCreate(['member_of_contact_id' => $this->_contactID]);
 
     $params = [
@@ -70,8 +72,10 @@ class api_v3_MembershipTypeTest extends CiviUnitTestCase {
 
   /**
    * Test create with missing mandatory field.
+   * @dataProvider versionThreeAndFour
    */
-  public function testCreateWithoutMemberOfContactId() {
+  public function testCreateWithoutMemberOfContactId($version) {
+    $this->_apiversion = $version;
     $params = [
       'name' => '60+ Membership',
       'description' => 'people above 60 are given health instructions',
@@ -84,13 +88,16 @@ class api_v3_MembershipTypeTest extends CiviUnitTestCase {
       'visibility' => 'public',
     ];
 
-    $this->callAPIFailure('membership_type', 'create', $params, 'Mandatory key(s) missing from params array: member_of_contact_id');
+    $msg = $version === 4 ? 'Mandatory values missing from Api4 MembershipType::create: member_of_contact_id' : 'Mandatory key(s) missing from params array: member_of_contact_id';
+    $this->callAPIFailure('membership_type', 'create', $params, $msg);
   }
 
   /**
    * Test successful create.
+   * @dataProvider versionThreeAndFour
    */
-  public function testCreate() {
+  public function testCreate($version) {
+    $this->_apiversion = $version;
     $params = [
       'name' => '40+ Membership',
       'description' => 'people above 40 are given health instructions',
@@ -112,8 +119,10 @@ class api_v3_MembershipTypeTest extends CiviUnitTestCase {
   /**
    * Domain ID can be intuited..
    * DomainID is now optional on API, check that it gets set correctly and that the domain_id is not overwritten when not specified in create.
+   * @dataProvider versionThreeAndFour
    */
-  public function testCreateWithoutDomainId() {
+  public function testCreateWithoutDomainId($version) {
+    $this->_apiversion = $version;
     $params = [
       'name' => '60+ Membership',
       'description' => 'people above 60 are given health instructions',
@@ -142,8 +151,10 @@ class api_v3_MembershipTypeTest extends CiviUnitTestCase {
 
   /**
    *  CRM-20010 Tests period_type is required for MemberType create
+   * @dataProvider versionThreeAndFour
    */
-  public function testMemberTypePeriodiTypeRequired() {
+  public function testMemberTypePeriodiTypeRequired($version) {
+    $this->_apiversion = $version;
     $this->callAPIFailure('MembershipType', 'create', [
       'domain_id' => "Default Domain Name",
       'member_of_contact_id' => 1,
@@ -157,8 +168,10 @@ class api_v3_MembershipTypeTest extends CiviUnitTestCase {
 
   /**
    * Test update.
+   * @dataProvider versionThreeAndFour
    */
-  public function testUpdate() {
+  public function testUpdate($version) {
+    $this->_apiversion = $version;
     $id = $this->membershipTypeCreate(['member_of_contact_id' => $this->_contactID, 'financial_type_id' => 2]);
     $newMemberOrgParams = [
       'organization_name' => 'New membership organisation',
@@ -183,8 +196,10 @@ class api_v3_MembershipTypeTest extends CiviUnitTestCase {
 
   /**
    * Test successful delete.
+   * @dataProvider versionThreeAndFour
    */
-  public function testDelete() {
+  public function testDelete($version) {
+    $this->_apiversion = $version;
     $membershipTypeID = $this->membershipTypeCreate(['member_of_contact_id' => $this->organizationCreate()]);
     $params = [
       'id' => $membershipTypeID,
index 52a15df535d4e61d55834ac08e86cc20d25cd2a7..c01bf4b60829a788b9f8e740af85491642485d2a 100644 (file)
@@ -1074,4 +1074,64 @@ class api_v3_PaymentTest extends CiviUnitTestCase {
     $this->validateAllPayments();
   }
 
+  /**
+   * This test was introduced in
+   * https://github.com/civicrm/civicrm-core/pull/17688 to ensure that a
+   * contribution's date is not set to today's date when a payment is received,
+   * and that the contribution's trxn_id is set to that of the payment.
+   *
+   * This tests the current behaviour, but there are questions about whether
+   * that's right.
+   *
+   * The current behaviour is that when a payment is received that completes a
+   * contribution: the contribution's receive_date is set to that of the
+   * payment (passed to Payment.create as trxn_date).
+   *
+   * But why *should* we update the receive_date at all?
+   *
+   * If we decide that receive_date should not be touched, just change
+   * $trxnDate for $trxnID as detailed in the code comment below, which will
+   * still make sure we're not setting today's date, as well as confirming
+   * that the original date is not changed.
+   *
+   * @see https://github.com/civicrm/civicrm-core/pull/17688
+   * @see https://lab.civicrm.org/dev/financial/-/issues/139
+   *
+   */
+  public function testPaymentCreateTrxnIdAndDates() {
+
+    $trxnDate = '2010-01-01 09:00:00';
+    $trxnID = 'aabbccddeeffggh';
+    $originalReceiveDate = '2010-02-02 22:22:22';
+
+    $contributionID = $this->contributionCreate([
+      'contact_id'             => $this->individualCreate(),
+      'total_amount'           => 100,
+      'contribution_status_id' => 'Pending',
+      'receive_date'           => $originalReceiveDate,
+    ]);
+
+    $payment = $this->callAPISuccess('Payment', 'create', [
+      'total_amount' => 100,
+      'order_id'     => $contributionID,
+      'trxn_date'    => $trxnDate,
+      'trxn_id'      => $trxnID,
+    ]);
+
+    $contribution = $this->callAPISuccessGetSingle('Contribution', ['id' => $contributionID]);
+    $this->assertEquals('Completed', $contribution['contribution_status']);
+
+    $this->assertEquals($trxnID, $contribution['trxn_id'],
+      "Contribution trxn_id should have been set to that of the payment.");
+
+    // change $trxnDate for $receiveDate if we agree that transactions should NOT
+    // update contributions.
+    $this->assertEquals($trxnDate, $contribution['receive_date'],
+      "Contribution receive date was changed, but should not have been.");
+
+    $this->validateAllPayments();
+    $this->validateAllContributions();
+
+  }
+
 }
index 63d54bd375a9ba2042d976b1567a8cee89dd08fa..05819b0d2ff9e1d1263d11875ecf3b5c79fc30e3 100644 (file)
@@ -1317,6 +1317,7 @@ class api_v3_SyntaxConformanceTest extends CiviUnitTestCase {
       return;
     }
 
+    $floatFields = [];
     $baoString = _civicrm_api3_get_BAO($entityName);
     $this->assertNotEmpty($baoString, $entityName);
     $this->assertNotEmpty($entityName, $entityName);
@@ -1438,6 +1439,7 @@ class api_v3_SyntaxConformanceTest extends CiviUnitTestCase {
 
         case CRM_Utils_Type::T_FLOAT:
         case CRM_Utils_Type::T_MONEY:
+          $floatFields[] = $field;
           $entity[$field] = '22.75';
           break;
 
@@ -1505,6 +1507,9 @@ class api_v3_SyntaxConformanceTest extends CiviUnitTestCase {
         $entity[$field] = CRM_Core_DAO::serializeField($checkEntity[$field], $specs['serialize']);
       }
 
+      foreach ($floatFields as $floatField) {
+        $checkEntity[$floatField] = rtrim($checkEntity[$floatField], "0");
+      }
       $this->assertAPIArrayComparison($entity, $checkEntity, [], "checking if $fieldName was correctly updated\n" . print_r([
         'update-params' => $updateParams,
         'update-result' => $update,
index daf2b3470eab21374bdc9d995b1a503772a0aeb4..b71f2683a787b55783c305ef56643eb8f9d574ee 100644 (file)
@@ -45,7 +45,9 @@ class BasicActionsTest extends UnitTestCase {
     MockBasicEntity::update()->addWhere('id', '=', $id2)->addValue('foo', 'new')->execute();
 
     $result = MockBasicEntity::get()->addOrderBy('id', 'DESC')->setLimit(1)->execute();
-    $this->assertCount(1, $result);
+    // The object's count() method will account for all results, ignoring limit, while the array results are limited
+    $this->assertCount(2, $result);
+    $this->assertCount(1, (array) $result);
     $this->assertEquals('new', $result->first()['foo']);
 
     $result = MockBasicEntity::save()
index e859e144bd27bbad4f61c6acc4a916a083dd60ad..b5b44dc8f19b4a99822bfa7e9dc3778a8ba3ec12 100644 (file)
@@ -23,6 +23,7 @@ namespace api\v4\Action;
 
 use api\v4\UnitTestCase;
 use Civi\Api4\Activity;
+use Civi\Api4\Contact;
 
 /**
  * @group headless
@@ -57,9 +58,27 @@ class ComplexQueryTest extends UnitTestCase {
   }
 
   /**
-   * Fetch all activities with a blue tag; and return all tags on the activities
+   *
    */
-  public function testGetAllTagsForBlueTaggedActivities() {
+  public function testGetWithCount() {
+    $myName = uniqid('count');
+    for ($i = 1; $i <= 20; ++$i) {
+      Contact::create()
+        ->addValue('first_name', "Contact $i")
+        ->addValue('last_name', $myName)
+        ->setCheckPermissions(FALSE)->execute();
+    }
+
+    $get1 = Contact::get()
+      ->addWhere('last_name', '=', $myName)
+      ->selectRowCount()
+      ->addSelect('first_name')
+      ->setLimit(10)
+      ->setDebug(TRUE)
+      ->setCheckPermissions(FALSE)->execute();
+
+    $this->assertEquals(20, $get1->count());
+    $this->assertCount(10, (array) $get1);
 
   }
 
index e1be3ca566cd962a1091ccc175bf794c4e82d56e..89730d593857cd1622cd2b7ecaa56d643b9e3770 100644 (file)
@@ -74,9 +74,22 @@ class ContactGetTest extends \api\v4\UnitTestCase {
       ->execute()->first();
 
     $num = Contact::get()->setCheckPermissions(FALSE)->selectRowCount()->execute()->count();
-    $this->assertCount($num - 1, Contact::get()->setCheckPermissions(FALSE)->setLimit(0)->setOffset(1)->execute());
-    $this->assertCount($num - 2, Contact::get()->setCheckPermissions(FALSE)->setLimit(0)->setOffset(2)->execute());
-    $this->assertCount(2, Contact::get()->setCheckPermissions(FALSE)->setLimit(2)->setOffset(0)->execute());
+
+    // The object's count() method will account for all results, ignoring limit & offset, while the array results are limited
+    $offset1 = Contact::get()->setCheckPermissions(FALSE)->setOffset(1)->execute();
+    $this->assertCount($num, $offset1);
+    $this->assertCount($num - 1, (array) $offset1);
+    $offset2 = Contact::get()->setCheckPermissions(FALSE)->setOffset(2)->execute();
+    $this->assertCount($num - 2, (array) $offset2);
+    $this->assertCount($num, $offset2);
+    // With limit, it doesn't fetch total count by default
+    $limit2 = Contact::get()->setCheckPermissions(FALSE)->setLimit(2)->execute();
+    $this->assertCount(2, (array) $limit2);
+    $this->assertCount(2, $limit2);
+    // With limit, you have to trigger the full row count manually
+    $limit2 = Contact::get()->setCheckPermissions(FALSE)->setLimit(2)->addSelect('sort_name', 'row_count')->execute();
+    $this->assertCount(2, (array) $limit2);
+    $this->assertCount($num, $limit2);
   }
 
 }
index 74eae3c752efdfda61005f7dc9075358a40acc13..b900dca8bb9d583ff8073f228a5877bdb8321e17 100644 (file)
@@ -36,7 +36,10 @@ class GetFromArrayTest extends UnitTestCase {
       ->execute();
     $this->assertEquals(3, $result[0]['field1']);
     $this->assertEquals(4, $result[1]['field1']);
-    $this->assertEquals(2, count($result));
+
+    // The object's count() method will account for all results, ignoring limit, while the array results are limited
+    $this->assertCount(2, (array) $result);
+    $this->assertCount(5, $result);
   }
 
   public function testArrayGetWithSort() {
index 6f243c4faed1e1eaf9e5ea51bd9f688966291990..31208f8aca8aeeeff9d5897bd53e27d5b4407b72 100644 (file)
@@ -129,7 +129,7 @@ class ParticipantTest extends UnitTestCase {
       ->addWhere('event_id', 'IN', [$firstEventId, $secondEventId])
       ->execute();
 
-    $firstResult = $result->first();
+    $firstResult = $firstTwo->first();
 
     // verify counts
     // count should either twice the first event count or one less
index a628b89106fa8d52cc1c51bd4c0f091c4f221149..d3bec5cd56ed3b63f1fead9321fd623e46d6a334 100644 (file)
@@ -52,13 +52,13 @@ class Api4SelectQueryTest extends UnitTestCase {
     $phoneNum = $this->getReference('test_phone_1')['phone'];
     $contact = $this->getReference('test_contact_1');
 
-    $api = \Civi\API\Request::create('Phone', 'get', ['version' => 4, 'checkPermissions' => FALSE]);
+    $api = \Civi\API\Request::create('Phone', 'get', [
+      'version' => 4,
+      'checkPermissions' => FALSE,
+      'select' => ['id', 'phone', 'contact.display_name', 'contact.first_name'],
+      'where' => [['phone', '=', $phoneNum]],
+    ]);
     $query = new Api4SelectQuery($api);
-    $query->select[] = 'id';
-    $query->select[] = 'phone';
-    $query->select[] = 'contact.display_name';
-    $query->select[] = 'contact.first_name';
-    $query->where[] = ['phone', '=', $phoneNum];
     $results = $query->run();
 
     $this->assertCount(1, $results);
@@ -67,20 +67,28 @@ class Api4SelectQueryTest extends UnitTestCase {
   }
 
   public function testInvaidSort() {
-    $api = \Civi\API\Request::create('Contact', 'get', ['version' => 4, 'checkPermissions' => FALSE]);
+    $api = \Civi\API\Request::create('Contact', 'get', [
+      'version' => 4,
+      'checkPermissions' => FALSE,
+      'select' => ['id', 'display_name'],
+      'where' => [['first_name', '=', 'phoney']],
+      'orderBy' => ['first_name' => 'sleep(1)'],
+    ]);
     $query = new Api4SelectQuery($api);
-    $query->select[] = 'id';
-    $query->select[] = 'first_name';
-    $query->select[] = 'phones.phone';
-    $query->where[] = ['first_name', '=', 'Phoney'];
-    $query->orderBy = ['first_name' => 'sleep(1)'];
     try {
       $results = $query->run();
       $this->fail('An Exception Should have been raised');
     }
     catch (\API_Exception $e) {
     }
-    $query->orderBy = ['sleep(1)', 'ASC'];
+    $api = \Civi\API\Request::create('Contact', 'get', [
+      'version' => 4,
+      'checkPermissions' => FALSE,
+      'select' => ['id', 'display_name'],
+      'where' => [['first_name', '=', 'phoney']],
+      'orderBy' => ['sleep(1)' => 'ASC'],
+    ]);
+    $query = new Api4SelectQuery($api);
     try {
       $results = $query->run();
       $this->fail('An Exception Should have been raised');
index eac88f25a0225c58a0186714d17972a5d122f820..39e0bd01417e8885d777ad817c80d82ef6166fbb 100644 (file)
@@ -48,11 +48,13 @@ class OptionValueJoinTest extends UnitTestCase {
   }
 
   public function testCommunicationMethodJoin() {
-    $api = \Civi\API\Request::create('Contact', 'get', ['version' => 4, 'checkPermissions' => FALSE]);
+    $api = \Civi\API\Request::create('Contact', 'get', [
+      'version' => 4,
+      'checkPermissions' => FALSE,
+      'select' => ['first_name', 'preferred_communication_method:label'],
+      'where' => [['preferred_communication_method', 'IS NOT NULL']],
+    ]);
     $query = new Api4SelectQuery($api);
-    $query->select[] = 'first_name';
-    $query->select[] = 'preferred_communication_method:label';
-    $query->where[] = ['preferred_communication_method', 'IS NOT NULL'];
     $results = $query->run();
     $first = array_shift($results);
     $keys = array_keys($first);
index fcb5d572b075a98fdcd74357c9744d91c061923a..308a7699e560a8edeb090f44583bf378d0042852 100644 (file)
@@ -3,10 +3,86 @@
 // AUTO-GENERATED FILE -- Civix may overwrite any changes made to this file
 
 /**
- * (Delegated) Implementation of hook_civicrm_config
+ * The ExtensionUtil class provides small stubs for accessing resources of this
+ * extension.
+ */
+class CRM_Angularex_ExtensionUtil {
+  const SHORT_NAME = "angularex";
+  const LONG_NAME = "org.civicrm.angularex";
+  const CLASS_PREFIX = "CRM_Angularex";
+
+  /**
+   * Translate a string using the extension's domain.
+   *
+   * If the extension doesn't have a specific translation
+   * for the string, fallback to the default translations.
+   *
+   * @param string $text
+   *   Canonical message text (generally en_US).
+   * @param array $params
+   * @return string
+   *   Translated text.
+   * @see ts
+   */
+  public static function ts($text, $params = []) {
+    if (!array_key_exists('domain', $params)) {
+      $params['domain'] = [self::LONG_NAME, NULL];
+    }
+    return ts($text, $params);
+  }
+
+  /**
+   * Get the URL of a resource file (in this extension).
+   *
+   * @param string|NULL $file
+   *   Ex: NULL.
+   *   Ex: 'css/foo.css'.
+   * @return string
+   *   Ex: 'http://example.org/sites/default/ext/org.example.foo'.
+   *   Ex: 'http://example.org/sites/default/ext/org.example.foo/css/foo.css'.
+   */
+  public static function url($file = NULL) {
+    if ($file === NULL) {
+      return rtrim(CRM_Core_Resources::singleton()->getUrl(self::LONG_NAME), '/');
+    }
+    return CRM_Core_Resources::singleton()->getUrl(self::LONG_NAME, $file);
+  }
+
+  /**
+   * Get the path of a resource file (in this extension).
+   *
+   * @param string|NULL $file
+   *   Ex: NULL.
+   *   Ex: 'css/foo.css'.
+   * @return string
+   *   Ex: '/var/www/example.org/sites/default/ext/org.example.foo'.
+   *   Ex: '/var/www/example.org/sites/default/ext/org.example.foo/css/foo.css'.
+   */
+  public static function path($file = NULL) {
+    // return CRM_Core_Resources::singleton()->getPath(self::LONG_NAME, $file);
+    return __DIR__ . ($file === NULL ? '' : (DIRECTORY_SEPARATOR . $file));
+  }
+
+  /**
+   * Get the name of a class within this extension.
+   *
+   * @param string $suffix
+   *   Ex: 'Page_HelloWorld' or 'Page\\HelloWorld'.
+   * @return string
+   *   Ex: 'CRM_Foo_Page_HelloWorld'.
+   */
+  public static function findClass($suffix) {
+    return self::CLASS_PREFIX . '_' . str_replace('\\', '_', $suffix);
+  }
+
+}
+
+use CRM_Angularex_ExtensionUtil as E;
+
+/**
+ * (Delegated) Implements hook_civicrm_config().
  *
- * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_config
- * @param null $config
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_config
  */
 function _angularex_civix_civicrm_config(&$config = NULL) {
   static $configured = FALSE;
@@ -32,10 +108,11 @@ function _angularex_civix_civicrm_config(&$config = NULL) {
 }
 
 /**
- * (Delegated) Implementation of hook_civicrm_xmlMenu
+ * (Delegated) Implements hook_civicrm_xmlMenu().
  *
  * @param $files array(string)
- * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_xmlMenu
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_xmlMenu
  */
 function _angularex_civix_civicrm_xmlMenu(&$files) {
   foreach (_angularex_civix_glob(__DIR__ . '/xml/Menu/*.xml') as $file) {
@@ -44,59 +121,74 @@ function _angularex_civix_civicrm_xmlMenu(&$files) {
 }
 
 /**
- * Implementation of hook_civicrm_install
+ * Implements hook_civicrm_install().
  *
- * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_install
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_install
  */
 function _angularex_civix_civicrm_install() {
   _angularex_civix_civicrm_config();
   if ($upgrader = _angularex_civix_upgrader()) {
-    return $upgrader->onInstall();
+    $upgrader->onInstall();
   }
 }
 
 /**
- * Implementation of hook_civicrm_uninstall
+ * Implements hook_civicrm_postInstall().
  *
- * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_uninstall
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_postInstall
+ */
+function _angularex_civix_civicrm_postInstall() {
+  _angularex_civix_civicrm_config();
+  if ($upgrader = _angularex_civix_upgrader()) {
+    if (is_callable([$upgrader, 'onPostInstall'])) {
+      $upgrader->onPostInstall();
+    }
+  }
+}
+
+/**
+ * Implements hook_civicrm_uninstall().
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_uninstall
  */
 function _angularex_civix_civicrm_uninstall() {
   _angularex_civix_civicrm_config();
   if ($upgrader = _angularex_civix_upgrader()) {
-    return $upgrader->onUninstall();
+    $upgrader->onUninstall();
   }
 }
 
 /**
- * (Delegated) Implementation of hook_civicrm_enable
+ * (Delegated) Implements hook_civicrm_enable().
  *
- * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_enable
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_enable
  */
 function _angularex_civix_civicrm_enable() {
   _angularex_civix_civicrm_config();
   if ($upgrader = _angularex_civix_upgrader()) {
     if (is_callable([$upgrader, 'onEnable'])) {
-      return $upgrader->onEnable();
+      $upgrader->onEnable();
     }
   }
 }
 
 /**
- * (Delegated) Implementation of hook_civicrm_disable
+ * (Delegated) Implements hook_civicrm_disable().
  *
- * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_disable
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_disable
+ * @return mixed
  */
 function _angularex_civix_civicrm_disable() {
   _angularex_civix_civicrm_config();
   if ($upgrader = _angularex_civix_upgrader()) {
     if (is_callable([$upgrader, 'onDisable'])) {
-      return $upgrader->onDisable();
+      $upgrader->onDisable();
     }
   }
 }
 
 /**
- * (Delegated) Implementation of hook_civicrm_upgrade
+ * (Delegated) Implements hook_civicrm_upgrade().
  *
  * @param $op string, the type of operation being performed; 'check' or 'enqueue'
  * @param $queue CRM_Queue_Queue, (for 'enqueue') the modifiable list of pending up upgrade tasks
@@ -104,7 +196,7 @@ function _angularex_civix_civicrm_disable() {
  * @return mixed  based on op. for 'check', returns array(boolean) (TRUE if upgrades are pending)
  *                for 'enqueue', returns void
  *
- * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_upgrade
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_upgrade
  */
 function _angularex_civix_civicrm_upgrade($op, CRM_Queue_Queue $queue = NULL) {
   if ($upgrader = _angularex_civix_upgrader()) {
@@ -125,13 +217,14 @@ function _angularex_civix_upgrader() {
 }
 
 /**
- * Search directory tree for files which match a glob pattern
+ * Search directory tree for files which match a glob pattern.
  *
  * Note: Dot-directories (like "..", ".git", or ".svn") will be ignored.
  * Note: In Civi 4.3+, delegate to CRM_Utils_File::findFiles()
  *
- * @param $dir string, base dir
- * @param $pattern string, glob pattern, eg "*.txt"
+ * @param string $dir base dir
+ * @param string $pattern , glob pattern, eg "*.txt"
+ *
  * @return array(string)
  */
 function _angularex_civix_find_files($dir, $pattern) {
@@ -162,22 +255,24 @@ function _angularex_civix_find_files($dir, $pattern) {
   }
   return $result;
 }
-
 /**
- * (Delegated) Implementation of hook_civicrm_managed
+ * (Delegated) Implements hook_civicrm_managed().
  *
  * Find any *.mgd.php files, merge their content, and return.
  *
- * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_managed
- * @param $entities
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_managed
  */
 function _angularex_civix_civicrm_managed(&$entities) {
   $mgdFiles = _angularex_civix_find_files(__DIR__, '*.mgd.php');
+  sort($mgdFiles);
   foreach ($mgdFiles as $file) {
     $es = include $file;
     foreach ($es as $e) {
       if (empty($e['module'])) {
-        $e['module'] = 'org.civicrm.angularex';
+        $e['module'] = E::LONG_NAME;
+      }
+      if (empty($e['params']['version'])) {
+        $e['params']['version'] = '3';
       }
       $entities[] = $e;
     }
@@ -185,15 +280,13 @@ function _angularex_civix_civicrm_managed(&$entities) {
 }
 
 /**
- * (Delegated) Implementation of hook_civicrm_caseTypes
+ * (Delegated) Implements hook_civicrm_caseTypes().
  *
  * Find any and return any files matching "xml/case/*.xml"
  *
  * Note: This hook only runs in CiviCRM 4.4+.
  *
- * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_caseTypes
- * @param $caseTypes
- * @throws \Exception
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_caseTypes
  */
 function _angularex_civix_civicrm_caseTypes(&$caseTypes) {
   if (!is_dir(__DIR__ . '/xml/case')) {
@@ -204,17 +297,60 @@ function _angularex_civix_civicrm_caseTypes(&$caseTypes) {
     $name = preg_replace('/\.xml$/', '', basename($file));
     if ($name != CRM_Case_XMLProcessor::mungeCaseType($name)) {
       $errorMessage = sprintf("Case-type file name is malformed (%s vs %s)", $name, CRM_Case_XMLProcessor::mungeCaseType($name));
-      CRM_Core_Error::fatal($errorMessage);
-      // throw new CRM_Core_Exception($errorMessage);
+      throw new CRM_Core_Exception($errorMessage);
     }
     $caseTypes[$name] = [
-      'module' => 'org.civicrm.angularex',
+      'module' => E::LONG_NAME,
       'name' => $name,
       'file' => $file,
     ];
   }
 }
 
+/**
+ * (Delegated) Implements hook_civicrm_angularModules().
+ *
+ * Find any and return any files matching "ang/*.ang.php"
+ *
+ * Note: This hook only runs in CiviCRM 4.5+.
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_angularModules
+ */
+function _angularex_civix_civicrm_angularModules(&$angularModules) {
+  if (!is_dir(__DIR__ . '/ang')) {
+    return;
+  }
+
+  $files = _angularex_civix_glob(__DIR__ . '/ang/*.ang.php');
+  foreach ($files as $file) {
+    $name = preg_replace(':\.ang\.php$:', '', basename($file));
+    $module = include $file;
+    if (empty($module['ext'])) {
+      $module['ext'] = E::LONG_NAME;
+    }
+    $angularModules[$name] = $module;
+  }
+}
+
+/**
+ * (Delegated) Implements hook_civicrm_themes().
+ *
+ * Find any and return any files matching "*.theme.php"
+ */
+function _angularex_civix_civicrm_themes(&$themes) {
+  $files = _angularex_civix_glob(__DIR__ . '/*.theme.php');
+  foreach ($files as $file) {
+    $themeMeta = include $file;
+    if (empty($themeMeta['name'])) {
+      $themeMeta['name'] = preg_replace(':\.theme\.php$:', '', basename($file));
+    }
+    if (empty($themeMeta['ext'])) {
+      $themeMeta['ext'] = E::LONG_NAME;
+    }
+    $themes[$themeMeta['name']] = $themeMeta;
+  }
+}
+
 /**
  * Glob wrapper which is guaranteed to return an array.
  *
@@ -225,6 +361,7 @@ function _angularex_civix_civicrm_caseTypes(&$caseTypes) {
  *
  * @link http://php.net/glob
  * @param string $pattern
+ *
  * @return array, possibly empty
  */
 function _angularex_civix_glob($pattern) {
@@ -233,34 +370,24 @@ function _angularex_civix_glob($pattern) {
 }
 
 /**
- * Inserts a navigation menu item at a given place in the hierarchy
+ * Inserts a navigation menu item at a given place in the hierarchy.
+ *
+ * @param array $menu - menu hierarchy
+ * @param string $path - path to parent of this item, e.g. 'my_extension/submenu'
+ *    'Mailing', or 'Administer/System Settings'
+ * @param array $item - the item to insert (parent/child attributes will be
+ *    filled for you)
  *
- * $menu - menu hierarchy
- * $path - path where insertion should happen (ie. Administer/System Settings)
- * $item - menu you need to insert (parent/child attributes will be filled for you)
- * $parentId - used internally to recurse in the menu structure
- * @param $menu
- * @param $path
- * @param $item
- * @param null $parentId
  * @return bool
  */
-function _angularex_civix_insert_navigation_menu(&$menu, $path, $item, $parentId = NULL) {
-  static $navId;
-
+function _angularex_civix_insert_navigation_menu(&$menu, $path, $item) {
   // If we are done going down the path, insert menu
   if (empty($path)) {
-    if (!$navId) {
-      $navId = CRM_Core_DAO::singleValueQuery("SELECT max(id) FROM civicrm_navigation");
-    }
-    $navId++;
-    $menu[$navId] = [
-      'attributes' => array_merge($item, [
-        'label' => $item['name'] ?? NULL,
-        'active' => 1,
-        'parentID' => $parentId,
-        'navID' => $navId,
-      ]),
+    $menu[] = [
+      'attributes' => array_merge([
+        'label'      => CRM_Utils_Array::value('name', $item),
+        'active'     => 1,
+      ], $item),
     ];
     return TRUE;
   }
@@ -271,10 +398,10 @@ function _angularex_civix_insert_navigation_menu(&$menu, $path, $item, $parentId
     $first = array_shift($path);
     foreach ($menu as $key => &$entry) {
       if ($entry['attributes']['name'] == $first) {
-        if (!$entry['child']) {
+        if (!isset($entry['child'])) {
           $entry['child'] = [];
         }
-        $found = _angularex_civix_insert_navigation_menu($entry['child'], implode('/', $path), $item, $key);
+        $found = _angularex_civix_insert_navigation_menu($entry['child'], implode('/', $path), $item);
       }
     }
     return $found;
@@ -282,20 +409,69 @@ function _angularex_civix_insert_navigation_menu(&$menu, $path, $item, $parentId
 }
 
 /**
- * (Delegated) Implementation of hook_civicrm_alterSettingsFolders
- *
- * @link http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_alterSettingsFolders
- * @param null $metaDataFolders
+ * (Delegated) Implements hook_civicrm_navigationMenu().
  */
-function _angularex_civix_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) {
-  static $configured = FALSE;
-  if ($configured) {
-    return;
+function _angularex_civix_navigationMenu(&$nodes) {
+  if (!is_callable(['CRM_Core_BAO_Navigation', 'fixNavigationMenu'])) {
+    _angularex_civix_fixNavigationMenu($nodes);
   }
-  $configured = TRUE;
+}
 
+/**
+ * Given a navigation menu, generate navIDs for any items which are
+ * missing them.
+ */
+function _angularex_civix_fixNavigationMenu(&$nodes) {
+  $maxNavID = 1;
+  array_walk_recursive($nodes, function($item, $key) use (&$maxNavID) {
+    if ($key === 'navID') {
+      $maxNavID = max($maxNavID, $item);
+    }
+  });
+  _angularex_civix_fixNavigationMenuItems($nodes, $maxNavID, NULL);
+}
+
+function _angularex_civix_fixNavigationMenuItems(&$nodes, &$maxNavID, $parentID) {
+  $origKeys = array_keys($nodes);
+  foreach ($origKeys as $origKey) {
+    if (!isset($nodes[$origKey]['attributes']['parentID']) && $parentID !== NULL) {
+      $nodes[$origKey]['attributes']['parentID'] = $parentID;
+    }
+    // If no navID, then assign navID and fix key.
+    if (!isset($nodes[$origKey]['attributes']['navID'])) {
+      $newKey = ++$maxNavID;
+      $nodes[$origKey]['attributes']['navID'] = $newKey;
+      $nodes[$newKey] = $nodes[$origKey];
+      unset($nodes[$origKey]);
+      $origKey = $newKey;
+    }
+    if (isset($nodes[$origKey]['child']) && is_array($nodes[$origKey]['child'])) {
+      _angularex_civix_fixNavigationMenuItems($nodes[$origKey]['child'], $maxNavID, $nodes[$origKey]['attributes']['navID']);
+    }
+  }
+}
+
+/**
+ * (Delegated) Implements hook_civicrm_alterSettingsFolders().
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterSettingsFolders
+ */
+function _angularex_civix_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) {
   $settingsDir = __DIR__ . DIRECTORY_SEPARATOR . 'settings';
-  if (is_dir($settingsDir) && !in_array($settingsDir, $metaDataFolders)) {
+  if (!in_array($settingsDir, $metaDataFolders) && is_dir($settingsDir)) {
     $metaDataFolders[] = $settingsDir;
   }
 }
+
+/**
+ * (Delegated) Implements hook_civicrm_entityTypes().
+ *
+ * Find any *.entityType.php files, merge their content, and return.
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes
+ */
+
+function _angularex_civix_civicrm_entityTypes(&$entityTypes) {
+  $entityTypes = array_merge($entityTypes, array (
+  ));
+}
index 2e682bc0db51253824050b4d71b2a6a467c760d8..37f1e3f672fd1a019d2ffc41da73a9fd2d5f2dad 100755 (executable)
@@ -15,7 +15,17 @@ $argFilters = [];
 if (PHP_SAPI !== 'cli') {
   die("phpunit can only be run from command line.");
 }
-if (version_compare(PHP_VERSION, '7.0', '>=')) {
+if (version_compare(PHP_VERSION, '7.1', '>=')) {
+  $phpunit = findCommand('phpunit7');
+  $argFilters[] = function ($argv) {
+    $pos = array_search('--tap', $argv);
+    if ($pos !== FALSE) {
+      array_splice($argv, $pos, 1, ['--printer', '\Civi\Test\TAP']);
+    }
+    return $argv;
+  };
+}
+elseif (version_compare(PHP_VERSION, '7.0', '>=')) {
   $phpunit = findCommand('phpunit6');
   $argFilters[] = function ($argv) {
     $pos = array_search('--tap', $argv);
index 8b322d0953c97d81d9a046037dfa1b36c7f5d3de..8a37ea3d76156f28972b2e351b017acfc9d004cd 100644 (file)
@@ -6,6 +6,7 @@
   <comment>Other Activity details stored here include contact, location, details.</comment>
   <add>1.1</add>
   <log>true</log>
+  <icon>fa-tasks</icon>
   <field>
     <name>id</name>
     <uniqueName>activity_id</uniqueName>
   <field>
     <name>activity_date_time</name>
     <import>true</import>
+    <required>false</required>
+    <export>true</export>
+    <default>CURRENT_TIMESTAMP</default>
     <title>Activity Date</title>
     <type>datetime</type>
     <headerPattern>/(activity.)?date(.time$)?/i</headerPattern>
     <name>index_medium_id</name>
     <fieldName>medium_id</fieldName>
     <add>2.2</add>
+    <drop>5.28</drop>
   </index>
   <field>
     <name>is_auto</name>
     <comment>When was the activity was created.</comment>
     <required>false</required>
     <export>true</export>
-    <default>NULL</default>
+    <default>CURRENT_TIMESTAMP</default>
     <add>4.7</add>
   </field>
   <field>
index da4ec8cbb073ac9872b0409bac7504a324889899..0f4648d3cb2adb8c2f84deded362745172142969 100644 (file)
@@ -5,7 +5,7 @@
   <name>civicrm_campaign</name>
   <comment>Campaign Details.</comment>
   <add>3.3</add>
-
+  <icon>fa-bullhorn</icon>
   <field>
     <name>id</name>
     <title>Campaign ID</title>
index 4e810ccb85e2937841c1960f27f7d734e2de6bbd..5d13bbd79b4ab94f30a4e6fbd8d0a1f7c3133b05 100644 (file)
@@ -5,7 +5,7 @@
   <name>civicrm_survey</name>
   <comment>Campaign Survey Details.</comment>
   <add>3.2</add>
-
+  <icon>fa-clipboard</icon>
   <field>
     <name>id</name>
     <title>Survey ID</title>
index 17db8122e16886d7b64b8fd5630c0afc366deb5d..a91e955a55eb23023095746ff079285cc0c32825 100644 (file)
@@ -6,6 +6,7 @@
   <comment>This table stores information about cases grouping activities.</comment>
   <add>1.8</add>
   <log>true</log>
+  <icon>fa-folder-open</icon>
   <field>
     <name>id</name>
     <type>int unsigned</type>
index 036ad4edd3cbc6a6c51631cfec10d18559757535..923619b754e994e54384e334bbc900797da68d36 100644 (file)
@@ -7,6 +7,7 @@
   <comment>Contact objects are defined by a civicrm_contact record plus a related civicrm_contact_type record.</comment>
   <add>1.1</add>
   <log>true</log>
+  <icon>fa-address-book-o</icon>
   <field>
     <name>id</name>
     <type>int unsigned</type>
index 8a701d53e032fc1af454ec918318895b7f237c76..a09c6e14244eef71a4ecad23287b3e4dcdfa8ae0 100644 (file)
@@ -24,6 +24,7 @@
     <length>64</length>
     <comment>Internal name of Contact Type (or Subtype).</comment>
     <add>3.1</add>
+    <required>true</required>
   </field>
   <index>
     <name>contact_type</name>
@@ -84,6 +85,7 @@
     <name>is_active</name>
     <title>Contact Type Is Active?</title>
     <type>boolean</type>
+    <default>1</default>
     <comment>Is this entry active?</comment>
     <add>3.1</add>
   </field>
@@ -91,6 +93,7 @@
     <name>is_reserved</name>
     <title>Contact Type is Reserved?</title>
     <type>boolean</type>
+    <default>0</default>
     <comment>Is this contact type a predefined system type</comment>
     <add>3.1</add>
   </field>
index 330e1a42dbc35b86bcdca5c8e9ca165b7c03d22e..509f20debcc3751cae8216a4dc326594292fe068 100644 (file)
@@ -7,6 +7,7 @@
   <comment>Provide grouping of related contacts</comment>
   <add>1.1</add>
   <log>true</log>
+  <icon>fa-users</icon>
   <field>
     <name>id</name>
     <type>int unsigned</type>
index 3228534dcd3059711d96b00a3a21d4917b220f9e..f073e75587aee0d6852ad0a2c7a227e71b8964ed 100644 (file)
@@ -7,6 +7,7 @@
   <comment>Relationship between any 2 types of contacts.</comment>
   <add>1.1</add>
   <log>true</log>
+  <icon>fa-handshake-o</icon>
   <field>
     <name>id</name>
     <type>int unsigned</type>
index ad1656a1be5480a7905127c7597d0235608b9b08..246c55bd32abbbd2aa7b8a85fe9e649bd155b7e6 100644 (file)
@@ -6,6 +6,7 @@
   <name>civicrm_contribution</name>
   <add>1.3</add>
   <log>true</log>
+  <icon>fa-credit-card</icon>
   <field>
     <name>id</name>
     <uniqueName>contribution_id</uniqueName>
index d5295ff4557c05bb75489b2a7e6707500094b456..eddc342d9c5ad8e6f719d84646a96a9ddae02343 100644 (file)
@@ -5,6 +5,7 @@
   <name>civicrm_contribution_recur</name>
   <add>1.6</add>
   <log>true</log>
+  <title>Recurring Contributions</title>
   <field>
     <name>id</name>
     <uniqueName>contribution_recur_id</uniqueName>
index 49bbcc38b5b12dd2b8014aeab7a61dcec6b7f7b0..d4dd2a49df6816087581d4418faf75ca474a7040 100644 (file)
@@ -7,6 +7,7 @@
   <comment>Stores the physical street / mailing address. This format should be capable of storing ALL international addresses.</comment>
   <add>1.1</add>
   <log>true</log>
+  <icon>fa-map-marker</icon>
   <field>
     <name>id</name>
     <uniqueName>address_id</uniqueName>
index 1f64dc3b836578c47d9da2729b2fc897c630aed1..e0f424ddfc49ed037432389bf02b1682d6d3bfc5 100644 (file)
     <comment>Is this property public?</comment>
     <add>4.7</add>
   </field>
+  <field>
+    <name>icon</name>
+    <title>Icon</title>
+    <type>varchar</type>
+    <length>255</length>
+    <default>NULL</default>
+    <comment>crm-i icon class</comment>
+    <add>5.28</add>
+  </field>
 </table>
index 1dc87d1bc93a049f77f56c95b1166e9795bbbc02..ddb2a0dc6a2fde41068815f620a48d1aa11df71b 100644 (file)
     <type>text</type>
     <title>Supported Languages</title>
     <comment>list of locales supported by the current db state (NULL for single-lang install)</comment>
+    <serialize>SEPARATOR_TRIMMED</serialize>
     <add>2.1</add>
   </field>
   <field>
index 90f7a7bef53230c6642967eca5870a6d5c71f57d..3a07e9e06ab170198bf8dbbb88dbb525ca072d61 100644 (file)
@@ -7,6 +7,7 @@
   <comment>Email information for a specific location.</comment>
   <add>1.1</add>
   <log>true</log>
+  <icon>fa-envelope-o</icon>
   <field>
     <name>id</name>
     <title>Email ID</title>
index 74b0cd8e6c794483e7a28a49afb11cd3d77bc481..f7738d969cbcb3a5ebc102954d0e87c60502beac 100644 (file)
@@ -7,6 +7,8 @@
   <comment>IM information for a specific location.</comment>
   <add>1.1</add>
   <log>true</log>
+  <title>Instant Messaging</title>
+  <icon>fa-comments-o</icon>
   <field>
     <name>id</name>
     <title>Instant Messenger ID</title>
index 8a60e331656812d737daac4eb6de596e7b349d13..5de7ea9d379a7ca98191ca087f2e894adb607fa3 100644 (file)
   </field>
   <field>
     <name>has_separator</name>
-    <title>Use separator</title>
-    <type>boolean</type>
-    <comment>If separator needs to be added after this menu item</comment>
+    <title>Separator</title>
+    <type>tinyint</type>
+    <comment>Place a separator either before or after this menu item.</comment>
+    <default>0</default>
     <add>3.0</add>
+    <pseudoconstant>
+      <callback>CRM_Core_SelectValues::navigationMenuSeparator</callback>
+    </pseudoconstant>
   </field>
   <field>
     <name>weight</name>
index 473277f3b553b903809b3976955e9719ffdf607d..a9466da05d9fd976fa995b7f38aba69dbaf3ec79 100644 (file)
@@ -7,6 +7,7 @@
   <comment>Notes can be linked to any object in the application.</comment>
   <add>1.1</add>
   <log>true</log>
+  <icon>fa-sticky-note</icon>
   <field>
     <name>id</name>
     <title>Note ID</title>
index f6531dbf7cae8210899178f660d8a9284167564e..453c64db5f5eaf6523e62c34002408ffef1a10be 100644 (file)
@@ -7,6 +7,7 @@
   <comment>Phone information for a specific location.</comment>
   <add>1.1</add>
   <log>true</log>
+  <icon>fa-phone</icon>
   <field>
     <name>id</name>
     <title>Phone ID</title>
index db74bb8e0196b0472cb8c81e297758b82fdc1bf3..6ea2e8e1e27aae12b9d594540a019df0d8f340a9 100644 (file)
@@ -7,6 +7,7 @@
   <comment>Provides support for flat or hierarchical classification of various types of entities (contacts, groups, actions...).</comment>
   <add>1.1</add>
   <log>true</log>
+  <icon>fa-tag</icon>
   <field>
     <name>id</name>
     <title>Tag ID</title>
index 7eda447a1081ef57eb44983ffe2e50d4775de29d..e94f80ecc238390da30c7dfad833e4b677ae6b6d 100644 (file)
@@ -6,6 +6,7 @@
   <name>civicrm_website</name>
   <comment>Website information for a specific location.</comment>
   <add>3.2</add>
+  <icon>fa-desktop</icon>
   <field>
     <name>id</name>
     <type>int unsigned</type>
index 4dd1e206b67a16140693d65ef0851b185e3930b9..d4c9c65299dfa31b57f30e1687622fe03d3e2b7c 100644 (file)
@@ -6,6 +6,7 @@
   <name>civicrm_event</name>
   <add>1.7</add>
   <log>true</log>
+  <icon>fa-calendar</icon>
   <field>
     <name>id</name>
     <type>int unsigned</type>
@@ -85,7 +86,7 @@
     <type>int unsigned</type>
     <uniqueName>participant_listing_id</uniqueName>
     <title>Participant Listing</title>
-    <default>0</default>
+    <default>NULL</default>
     <pseudoconstant>
       <optionGroupName>participant_listing</optionGroupName>
     </pseudoconstant>
index 96db3000eb9a2c9b4b64ff6e6ff6d78fe6288531..cefaeef59b3ab7c22545bf93effdccbdb88428ce 100644 (file)
@@ -6,6 +6,7 @@
   <name>civicrm_participant</name>
   <add>1.7</add>
   <log>true</log>
+  <icon>fa-ticket</icon>
   <field>
     <name>id</name>
     <uniqueName>participant_id</uniqueName>
index d76e52bd5668e405390bc2b077dc0c604e5e6d71..6e222f8e0d6995c37a57f1aec0e910cf3bd7abaa 100644 (file)
@@ -6,6 +6,7 @@
   <comment>This table stores information about grants given to a contact.</comment>
   <add>1.8</add>
   <log>true</log>
+  <icon>fa-money</icon>
   <field>
     <name>id</name>
     <type>int unsigned</type>
index 975e67d15e1663e1662ee4a10be87c1981f4d722..389b30be964d2d99ef448e7616bbfdbd28f83e5f 100644 (file)
@@ -6,6 +6,7 @@
   <name>civicrm_mailing</name>
   <comment>Stores information about a mailing.</comment>
   <archive>true</archive>
+  <icon>fa-envelope-o</icon>
   <field>
     <name>id</name>
     <title>Mailing ID</title>
index 15d53ab3a2e15dc660b2d891e1bc219ecc62bf01..f4e769f4b00fe7adf7709a88f03493b55e9ff701 100644 (file)
@@ -7,6 +7,7 @@
   <comment>Contact Membership records.</comment>
   <add>1.5</add>
   <log>true</log>
+  <icon>fa-id-badge</icon>
   <field>
     <name>id</name>
     <uniqueName>membership_id</uniqueName>
index 7fd1cf35cc2c5c8e74100cafb2d7f1d0c11de829..b8e7e2006be2b9ead45fe18c8c4b7cb15d30d6e4 100644 (file)
@@ -5,6 +5,7 @@
   <name>civicrm_pledge</name>
   <add>2.1</add>
   <log>true</log>
+  <icon>fa-paper-plane</icon>
   <field>
     <name>id</name>
     <uniqueName>pledge_id</uniqueName>
index 8811719e4a28acfa1dfd0c75941afbc48712c760..028c6fb722e8612d0149ced4cc1e666cd1b6eac9 100644 (file)
@@ -6,6 +6,8 @@
   <name>civicrm_report_instance</name>
   <comment>Users can save their report instance and put in a cron tab etc.</comment>
   <add>2.2</add>
+  <title>Reports</title>
+  <icon>fa-bar-chart</icon>
   <field>
     <name>id</name>
     <title>Report Instance ID</title>
index ac6b477ec3f292522942041013e0c9beea0d4d62..41ce2252f407bc75fa092e5d80859208d9499e55 100644 (file)
@@ -20,6 +20,14 @@ class {$table.className} extends CRM_Core_DAO {ldelim}
       */
       public static $_tableName = '{$table.name}';
 
+   {if $table.icon}
+     /**
+      * Icon associated with this entity.
+      *
+      * @var string
+      */
+      public static $_icon = '{$table.icon}';
+   {/if}
       /**
        * Should CiviCRM log any modifications to this table in the civicrm_log table.
        *
@@ -48,6 +56,15 @@ class {$table.className} extends CRM_Core_DAO {ldelim}
         parent::__construct( );
     {rdelim}
 
+    /**
+     * Returns localized title of this entity.
+     */
+    public static function getEntityTitle() {ldelim}
+        return ts('{$table.title}');
+    {rdelim}
+
+
+
 {if $table.foreignKey || $table.dynamicForeignKey}
     /**
      * Returns foreign keys and entity references.
index 9add4f3b90a57efb3e338e4942fd61112c6d530e..b4ea674e664a87e58bd9dd6c7601e6c2c804a5e7 100644 (file)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="iso-8859-1" ?>
 <version>
-  <version_no>5.27.beta1</version_no>
+  <version_no>5.28.alpha1</version_no>
 </version>