From: Matthew Wire Date: Wed, 9 Oct 2019 15:44:42 +0000 (+0200) Subject: Merge pull request #15322 from alifrumin/removePrintIcon X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=491e51af3abb85d803cfb72cf0d8fbd5ecbf09cb;hp=58b2cf18c25a82fcf1b6bfe222a48f2cd14739cf;p=civicrm-core.git Merge pull request #15322 from alifrumin/removePrintIcon Remove Print Icon --- diff --git a/CRM/Admin/Form/Preferences/Mailing.php b/CRM/Admin/Form/Preferences/Mailing.php index ab6069fbed..ef5e76fd0b 100644 --- a/CRM/Admin/Form/Preferences/Mailing.php +++ b/CRM/Admin/Form/Preferences/Mailing.php @@ -59,7 +59,9 @@ class CRM_Admin_Form_Preferences_Mailing extends CRM_Admin_Form_Preferences { // see logging setting for eg. $existingViewOptions = Civi::settings()->get('contact_view_options'); - $displayValue = CRM_Core_OptionGroup::getValue('contact_view_options', 'CiviMail', 'name'); + $displayViewOptions = CRM_Core_OptionGroup::values('contact_view_options', TRUE, FALSE, FALSE, NULL, 'name'); + $displayValue = $displayViewOptions['CiviMail']; + $viewOptions = explode(CRM_Core_DAO::VALUE_SEPARATOR, $existingViewOptions); if (!in_array($displayValue, $viewOptions)) { diff --git a/CRM/Admin/Form/Setting/Mapping.php b/CRM/Admin/Form/Setting/Mapping.php index 2d71f739df..fa741e6d85 100644 --- a/CRM/Admin/Form/Setting/Mapping.php +++ b/CRM/Admin/Form/Setting/Mapping.php @@ -67,10 +67,6 @@ class CRM_Admin_Form_Setting_Mapping extends CRM_Admin_Form_Setting { $errors['_qf_default'] = ts('Mapping features require PHP version 5 or greater'); } - if (!$fields['mapAPIKey'] && ($fields['mapProvider'] != '' && $fields['mapProvider'] == 'Yahoo')) { - $errors['mapAPIKey'] = "Map Provider key is a required field."; - } - if ($fields['mapProvider'] == 'OpenStreetMaps' && $fields['geoProvider'] == '') { $errors['geoProvider'] = "Please select a Geocoding Provider - Open Street Maps does not provide geocoding."; } diff --git a/CRM/Admin/Form/Setting/Miscellaneous.php b/CRM/Admin/Form/Setting/Miscellaneous.php index 8b92a4b411..d1277923a8 100644 --- a/CRM/Admin/Form/Setting/Miscellaneous.php +++ b/CRM/Admin/Form/Setting/Miscellaneous.php @@ -38,6 +38,7 @@ class CRM_Admin_Form_Setting_Miscellaneous extends CRM_Admin_Form_Setting { protected $_settings = [ 'max_attachments' => CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, + 'max_attachments_backend' => CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, 'contact_undelete' => CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, 'empoweredBy' => CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, 'logging' => CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, @@ -73,6 +74,7 @@ class CRM_Admin_Form_Setting_Miscellaneous extends CRM_Admin_Form_Setting { $this->assign('pure_config_settings', [ 'empoweredBy', 'max_attachments', + 'max_attachments_backend', 'maxFileSize', 'secondDegRelPermissions', 'recentItemsMaxCount', diff --git a/CRM/Admin/Form/Setting/Smtp.php b/CRM/Admin/Form/Setting/Smtp.php index 45dc52dcce..706bf874e9 100644 --- a/CRM/Admin/Form/Setting/Smtp.php +++ b/CRM/Admin/Form/Setting/Smtp.php @@ -54,14 +54,24 @@ class CRM_Admin_Form_Setting_Smtp extends CRM_Admin_Form_Setting { ]; $this->addRadio('outBound_option', ts('Select Mailer'), $outBoundOption); + $props = array(); + $settings = Civi::settings()->getMandatory('mailing_backend') ?? []; + //Load input as readonly whose values are overridden in civicrm.settings.php. + foreach ($settings as $setting => $value) { + if (isset($value)) { + $props[$setting]['readonly'] = TRUE; + $setStatus = TRUE; + } + } + CRM_Utils_System::setTitle(ts('Settings - Outbound Mail')); $this->add('text', 'sendmail_path', ts('Sendmail Path')); $this->add('text', 'sendmail_args', ts('Sendmail Argument')); - $this->add('text', 'smtpServer', ts('SMTP Server')); - $this->add('text', 'smtpPort', ts('SMTP Port')); - $this->addYesNo('smtpAuth', ts('Authentication?')); - $this->addElement('text', 'smtpUsername', ts('SMTP Username')); - $this->addElement('password', 'smtpPassword', ts('SMTP Password')); + $this->add('text', 'smtpServer', ts('SMTP Server'), CRM_Utils_Array::value('smtpServer', $props)); + $this->add('text', 'smtpPort', ts('SMTP Port'), CRM_Utils_Array::value('smtpPort', $props)); + $this->addYesNo('smtpAuth', ts('Authentication?'), CRM_Utils_Array::value('smtpAuth', $props)); + $this->addElement('text', 'smtpUsername', ts('SMTP Username'), CRM_Utils_Array::value('smtpUsername', $props)); + $this->addElement('password', 'smtpPassword', ts('SMTP Password'), CRM_Utils_Array::value('smtpPassword', $props)); $this->_testButtonName = $this->getButtonName('refresh', 'test'); @@ -70,6 +80,10 @@ class CRM_Admin_Form_Setting_Smtp extends CRM_Admin_Form_Setting { $buttons = $this->getElement('buttons')->getElements(); $buttons[] = $this->createElement('submit', $this->_testButtonName, ts('Save & Send Test Email'), ['crm-icon' => 'fa-envelope-o']); $this->getElement('buttons')->setElements($buttons); + + if (!empty($setStatus)) { + CRM_Core_Session::setStatus("Some fields are loaded as 'readonly' as they have been set (overridden) in civicrm.settings.php.", '', 'info', array('expires' => 0)); + } } /** diff --git a/CRM/Admin/Form/SettingTrait.php b/CRM/Admin/Form/SettingTrait.php index 1642b79ddf..ec6e15cfa7 100644 --- a/CRM/Admin/Form/SettingTrait.php +++ b/CRM/Admin/Form/SettingTrait.php @@ -250,6 +250,10 @@ trait CRM_Admin_Form_SettingTrait { //temp hack @todo fix to get from metadata $this->addRule('max_attachments', ts('Value should be a positive number'), 'positiveInteger'); } + if ($setting == 'max_attachments_backend') { + //temp hack @todo fix to get from metadata + $this->addRule('max_attachments_backend', ts('Value should be a positive number'), 'positiveInteger'); + } if ($setting == 'maxFileSize') { //temp hack $this->addRule('maxFileSize', ts('Value should be a positive number'), 'positiveInteger'); diff --git a/CRM/Admin/Page/Extensions.php b/CRM/Admin/Page/Extensions.php index e190d36f63..40bd1bfbbe 100644 --- a/CRM/Admin/Page/Extensions.php +++ b/CRM/Admin/Page/Extensions.php @@ -175,16 +175,21 @@ class CRM_Admin_Page_Extensions extends CRM_Core_Page_Basic { $row = self::createExtendedInfo($obj); $row['id'] = $obj->key; + $row['action'] = ''; // assign actions $action = 0; switch ($row['status']) { case CRM_Extension_Manager::STATUS_UNINSTALLED: - $action += CRM_Core_Action::ADD; + if (!$manager->isIncompatible($row['id'])) { + $action += CRM_Core_Action::ADD; + } break; case CRM_Extension_Manager::STATUS_DISABLED: - $action += CRM_Core_Action::ENABLE; + if (!$manager->isIncompatible($row['id'])) { + $action += CRM_Core_Action::ENABLE; + } $action += CRM_Core_Action::DELETE; break; @@ -201,18 +206,17 @@ class CRM_Admin_Page_Extensions extends CRM_Core_Page_Basic { } // TODO if extbrowser is enabled and extbrowser has newer version than extcontainer, // then $action += CRM_Core_Action::UPDATE - $row['action'] = CRM_Core_Action::formLink(self::links(), - $action, - [ - 'id' => $row['id'], - 'key' => $obj->key, - ], - ts('more'), - FALSE, - 'extension.local.action', - 'Extension', - $row['id'] - ); + if ($action) { + $row['action'] = CRM_Core_Action::formLink(self::links(), + $action, + ['id' => $row['id'], 'key' => $obj->key], + ts('more'), + FALSE, + 'extension.local.action', + 'Extension', + $row['id'] + ); + } // Key would be better to send, but it's not an integer. Moreover, sending the // values to hook_civicrm_links means that you can still get at the key diff --git a/CRM/Api4/Page/AJAX.php b/CRM/Api4/Page/AJAX.php new file mode 100644 index 0000000000..e560c85cc8 --- /dev/null +++ b/CRM/Api4/Page/AJAX.php @@ -0,0 +1,105 @@ +urlPath[3])) { + $calls = CRM_Utils_Request::retrieve('calls', 'String', CRM_Core_DAO::$_nullObject, TRUE, NULL, 'POST', TRUE); + $calls = json_decode($calls, TRUE); + $response = []; + foreach ($calls as $index => $call) { + $response[$index] = call_user_func_array([$this, 'execute'], $call); + } + } + // Call single + else { + $entity = $this->urlPath[3]; + $action = $this->urlPath[4]; + $params = CRM_Utils_Request::retrieve('params', 'String'); + $params = $params ? json_decode($params, TRUE) : []; + $index = CRM_Utils_Request::retrieve('index', 'String'); + $response = $this->execute($entity, $action, $params, $index); + } + } + catch (Exception $e) { + http_response_code(500); + $response = [ + 'error_code' => $e->getCode(), + ]; + if (CRM_Core_Permission::check('view debug output')) { + $response['error_message'] = $e->getMessage(); + if (\Civi::settings()->get('backtrace')) { + $response['backtrace'] = $e->getTrace(); + } + } + } + CRM_Utils_System::setHttpHeader('Content-Type', 'application/json'); + echo json_encode($response); + CRM_Utils_System::civiExit(); + } + + /** + * Run api call & prepare result for json encoding + * + * @param string $entity + * @param string $action + * @param array $params + * @param string $index + * @return array + */ + protected function execute($entity, $action, $params = [], $index = NULL) { + $params['checkPermissions'] = TRUE; + + // Handle numeric indexes later so we can get the count + $itemAt = CRM_Utils_Type::validate($index, 'Integer', FALSE); + + $result = civicrm_api4($entity, $action, $params, isset($itemAt) ? NULL : $index); + + // Convert arrayObject into something more suitable for json + $vals = ['values' => isset($itemAt) ? $result->itemAt($itemAt) : (array) $result]; + foreach (get_class_vars(get_class($result)) as $key => $val) { + $vals[$key] = $result->$key; + } + $vals['count'] = $result->count(); + return $vals; + } + +} diff --git a/CRM/Api4/Page/Api4Explorer.php b/CRM/Api4/Page/Api4Explorer.php new file mode 100644 index 0000000000..820392339a --- /dev/null +++ b/CRM/Api4/Page/Api4Explorer.php @@ -0,0 +1,62 @@ + \CRM_Core_DAO::acceptedSQLOperators(), + 'basePath' => Civi::resources()->getUrl('civicrm'), + 'schema' => (array) \Civi\Api4\Entity::get()->setChain(['fields' => ['$name', 'getFields']])->execute(), + 'links' => (array) \Civi\Api4\Entity::getLinks()->execute(), + ]; + Civi::resources() + ->addVars('api4', $vars) + ->addScriptFile('civicrm', 'js/load-bootstrap.js') + ->addScriptFile('civicrm', 'bower_components/js-yaml/dist/js-yaml.min.js') + ->addScriptFile('civicrm', 'bower_components/google-code-prettify/bin/prettify.min.js') + ->addStyleFile('civicrm', 'bower_components/google-code-prettify/bin/prettify.min.css'); + + $loader = new Civi\Angular\AngularLoader(); + $loader->setModules(['api4Explorer']); + $loader->setPageName('civicrm/api4'); + $loader->useApp([ + 'defaultRoute' => '/explorer', + ]); + $loader->load(); + parent::run(); + } + +} diff --git a/CRM/Api4/Services.php b/CRM/Api4/Services.php new file mode 100644 index 0000000000..03dcf6c5af --- /dev/null +++ b/CRM/Api4/Services.php @@ -0,0 +1,114 @@ +load('Civi/Api4/services.xml'); + + self::loadServices('Civi\Api4\Service\Spec\Provider', 'spec_provider', $container); + self::loadServices('Civi\Api4\Event\Subscriber', 'event_subscriber', $container); + + $container->getDefinition('civi_api_kernel')->addMethodCall( + 'registerApiProvider', + [new Reference('action_object_provider')] + ); + + // add event subscribers$container->get( + $dispatcher = $container->getDefinition('dispatcher'); + $subscribers = $container->findTaggedServiceIds('event_subscriber'); + + foreach (array_keys($subscribers) as $subscriber) { + $dispatcher->addMethodCall( + 'addSubscriber', + [new Reference($subscriber)] + ); + } + + // add spec providers + $providers = $container->findTaggedServiceIds('spec_provider'); + $gatherer = $container->getDefinition('spec_gatherer'); + + foreach (array_keys($providers) as $provider) { + $gatherer->addMethodCall( + 'addSpecProvider', + [new Reference($provider)] + ); + } + + if (defined('CIVICRM_UF') && CIVICRM_UF === 'UnitTests') { + $loader->load('tests/phpunit/api/v4/services.xml'); + } + } + + /** + * Load all services in a given directory + * + * @param string $namespace + * @param string $tag + * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container + */ + public static function loadServices($namespace, $tag, $container) { + $namespace = \CRM_Utils_File::addTrailingSlash($namespace, '\\'); + $locations = array_merge([\Civi::paths()->getPath('[civicrm.root]/Civi.php')], + array_column(\CRM_Extension_System::singleton()->getMapper()->getActiveModuleFiles(), 'filePath') + ); + foreach ($locations as $location) { + $path = \CRM_Utils_File::addTrailingSlash(dirname($location)) . str_replace('\\', DIRECTORY_SEPARATOR, $namespace); + $container->addResource(new \Symfony\Component\Config\Resource\DirectoryResource($path, ';\.php$;')); + foreach (glob("$path*.php") as $file) { + $matches = []; + preg_match('/(\w*).php/', $file, $matches); + $serviceName = $namespace . array_pop($matches); + $serviceClass = new \ReflectionClass($serviceName); + if ($serviceClass->isInstantiable()) { + $definition = $container->register(str_replace('\\', '_', $serviceName), $serviceName); + $definition->addTag($tag); + } + } + } + } + +} diff --git a/CRM/Contact/BAO/Group.php b/CRM/Contact/BAO/Group.php index 552db8f9d1..074fcf2623 100644 --- a/CRM/Contact/BAO/Group.php +++ b/CRM/Contact/BAO/Group.php @@ -421,7 +421,6 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group { $group->name = substr($group->name, 0, -4) . "_{$group->id}"; } - $group->buildClause(); $group->save(); // add custom field values @@ -501,25 +500,6 @@ class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group { return $group; } - /** - * Given a saved search compute the clause and the tables - * and store it for future use - */ - public function buildClause() { - $params = [['group', 'IN', [$this->id], 0, 0]]; - - if (!empty($params)) { - $tables = $whereTables = []; - $this->where_clause = CRM_Contact_BAO_Query::getWhereClause($params, NULL, $tables, $whereTables); - if (!empty($tables)) { - $this->select_tables = serialize($tables); - } - if (!empty($whereTables)) { - $this->where_tables = serialize($whereTables); - } - } - } - /** * Defines a new smart group. * diff --git a/CRM/Contact/BAO/Query.php b/CRM/Contact/BAO/Query.php index 9d5e64a38a..56acef4c36 100644 --- a/CRM/Contact/BAO/Query.php +++ b/CRM/Contact/BAO/Query.php @@ -6419,6 +6419,10 @@ AND displayRelType.is_active = 1 if (!empty($pseudoConstantMetadata['optionGroupName']) || $this->isPseudoFieldAnFK($fieldSpec) ) { + // dev/core#1305 @todo this is not the right thing to do but for now avoid fatal error + if (empty($fieldSpec['bao'])) { + continue; + } $sortedOptions = $fieldSpec['bao']::buildOptions($fieldSpec['name'], NULL, [ 'orderColumn' => CRM_Utils_Array::value('labelColumn', $pseudoConstantMetadata, 'label'), ]); diff --git a/CRM/Contact/BAO/Relationship.php b/CRM/Contact/BAO/Relationship.php index b210da587a..bf270e363d 100644 --- a/CRM/Contact/BAO/Relationship.php +++ b/CRM/Contact/BAO/Relationship.php @@ -43,6 +43,12 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship { */ const NONE = 0, EDIT = 1, VIEW = 2; + /** + * The list of column headers + * @var array + */ + private static $columnHeaders; + /** * Create function - use the API instead. * @@ -2200,6 +2206,10 @@ AND cc.sort_name LIKE '%$name%'"; } } + $columnHeaders = self::getColumnHeaders(); + $selector = NULL; + CRM_Utils_Hook::searchColumns('relationship.rows', $columnHeaders, $contactRelationships, $selector); + $relationshipsDT = []; $relationshipsDT['data'] = $contactRelationships; $relationshipsDT['recordsTotal'] = $params['total']; @@ -2208,6 +2218,59 @@ AND cc.sort_name LIKE '%$name%'"; return $relationshipsDT; } + /** + * @return array + */ + public static function getColumnHeaders() { + return [ + 'relation' => [ + 'name' => ts('Relationship'), + 'sort' => 'relation', + 'direction' => CRM_Utils_Sort::ASCENDING, + ], + 'sort_name' => [ + 'name' => '', + 'sort' => 'sort_name', + 'direction' => CRM_Utils_Sort::ASCENDING, + ], + 'start_date' => [ + 'name' => ts('Start'), + 'sort' => 'start_date', + 'direction' => CRM_Utils_Sort::DONTCARE, + ], + 'end_date' => [ + 'name' => ts('End'), + 'sort' => 'end_date', + 'direction' => CRM_Utils_Sort::DONTCARE, + ], + 'city' => [ + 'name' => ts('City'), + 'sort' => 'city', + 'direction' => CRM_Utils_Sort::DONTCARE, + ], + 'state' => [ + 'name' => ts('State/Prov'), + 'sort' => 'state', + 'direction' => CRM_Utils_Sort::DONTCARE, + ], + 'email' => [ + 'name' => ts('Email'), + 'sort' => 'email', + 'direction' => CRM_Utils_Sort::DONTCARE, + ], + 'phone' => [ + 'name' => ts('Phone'), + 'sort' => 'phone', + 'direction' => CRM_Utils_Sort::DONTCARE, + ], + 'links' => [ + 'name' => '', + 'sort' => 'links', + 'direction' => CRM_Utils_Sort::DONTCARE, + ], + ]; + } + /** * @inheritdoc */ diff --git a/CRM/Contact/BAO/SavedSearch.php b/CRM/Contact/BAO/SavedSearch.php index 749a716a49..396cb3826a 100644 --- a/CRM/Contact/BAO/SavedSearch.php +++ b/CRM/Contact/BAO/SavedSearch.php @@ -324,43 +324,6 @@ LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_ } } - /** - * Given a saved search compute the clause and the tables and store it for future use. - */ - public function buildClause() { - $fv = unserialize($this->form_values); - - if ($this->mapping_id) { - $params = CRM_Core_BAO_Mapping::formattedFields($fv); - } - else { - $params = CRM_Contact_BAO_Query::convertFormValues($fv); - } - - if (!empty($params)) { - $tables = $whereTables = []; - $this->where_clause = CRM_Contact_BAO_Query::getWhereClause($params, NULL, $tables, $whereTables); - if (!empty($tables)) { - $this->select_tables = serialize($tables); - } - if (!empty($whereTables)) { - $this->where_tables = serialize($whereTables); - } - } - } - - /** - * Save the search. - * - * @param bool $hook - */ - public function save($hook = TRUE) { - // first build the computed fields - $this->buildClause(); - - parent::save($hook); - } - /** * Given an id, get the name of the saved search. * diff --git a/CRM/Contact/Form/Edit/Address.php b/CRM/Contact/Form/Edit/Address.php index 8cc795e56a..21dbd8cf68 100644 --- a/CRM/Contact/Form/Edit/Address.php +++ b/CRM/Contact/Form/Edit/Address.php @@ -46,6 +46,8 @@ class CRM_Contact_Form_Edit_Address { * False, if we want to skip the address sharing features. * @param bool $inlineEdit * True when edit used in inline edit. + * + * @throws \CiviCRM_API3_Exception */ public static function buildQuickForm(&$form, $addressBlockCount = NULL, $sharing = TRUE, $inlineEdit = FALSE) { // passing this via the session is AWFUL. we need to fix this @@ -130,13 +132,13 @@ class CRM_Contact_Form_Edit_Address { continue; } } - if ($name == 'address_name') { + if ($name === 'address_name') { $name = 'name'; } $params = ['entity' => 'address']; - if ($name == 'postal_code_suffix') { + if ($name === 'postal_code_suffix') { $params['label'] = ts('Suffix'); } @@ -366,12 +368,12 @@ class CRM_Contact_Form_Edit_Address { $requireOmission = NULL; foreach ($groupTree as $csId => $csVal) { // only process Address entity fields - if ($csVal['extends'] != 'Address') { + if ($csVal['extends'] !== 'Address') { continue; } foreach ($csVal['fields'] as $cdId => $cdVal) { - if ($cdVal['is_required']) { + if (!empty($cdVal['is_required'])) { $elementName = $cdVal['element_name']; if (in_array($elementName, $form->_required)) { // store the omitted rule for a element, to be used later on @@ -391,6 +393,9 @@ class CRM_Contact_Form_Edit_Address { * @param CRM_Core_Form $form * @param int $entityId * @param int $blockId + * + * @throws \CRM_Core_Exception + * @throws \CiviCRM_API3_Exception */ protected static function addCustomDataToForm(&$form, $entityId, $blockId) { $groupTree = CRM_Core_BAO_CustomGroup::getTree('Address', NULL, $entityId); @@ -417,7 +422,7 @@ class CRM_Contact_Form_Edit_Address { continue; } - // inorder to set correct defaults for checkbox custom data, we need to converted flat key to array + // in order to set correct defaults for checkbox custom data, we need to converted flat key to array // this works for all types custom data $keyValues = explode('[', str_replace(']', '', $key)); $addressDefaults[$keyValues[0]][$keyValues[1]][$keyValues[2]] = $val; diff --git a/CRM/Contact/Form/Search.php b/CRM/Contact/Form/Search.php index 0d854ff10f..96fb7810d0 100644 --- a/CRM/Contact/Form/Search.php +++ b/CRM/Contact/Form/Search.php @@ -757,13 +757,6 @@ class CRM_Contact_Form_Search extends CRM_Core_Form_Search { $controller->moveFromSessionToTemplate(); } - /** - * @return array - */ - public function &getFormValues() { - return $this->_formValues; - } - /** * Common post processing. */ diff --git a/CRM/Contact/Form/Search/Advanced.php b/CRM/Contact/Form/Search/Advanced.php index 0fcb3e7364..a3f46e68de 100644 --- a/CRM/Contact/Form/Search/Advanced.php +++ b/CRM/Contact/Form/Search/Advanced.php @@ -386,10 +386,7 @@ class CRM_Contact_Form_Search_Advanced extends CRM_Contact_Form_Search { * * @return array */ - public function normalizeDefaultValues(&$defaults) { - if (!is_array($defaults)) { - $defaults = array(); - } + public function normalizeDefaultValues($defaults) { $this->loadDefaultCountryBasedOnState($defaults); if ($this->_ssID && empty($_POST)) { $defaults = array_merge($defaults, CRM_Contact_BAO_SavedSearch::getFormValues($this->_ssID)); diff --git a/CRM/Contact/Form/Task/PDFLetterCommon.php b/CRM/Contact/Form/Task/PDFLetterCommon.php index c5b8439801..a0424e1d6c 100644 --- a/CRM/Contact/Form/Task/PDFLetterCommon.php +++ b/CRM/Contact/Form/Task/PDFLetterCommon.php @@ -180,7 +180,7 @@ class CRM_Contact_Form_Task_PDFLetterCommon extends CRM_Core_Form_Task_PDFLetter } $tee = NULL; - if ($isLiveMode && Civi::settings()->get('recordGeneratedLetters') === 'combined-attached') { + if (self::isLiveMode($form) && Civi::settings()->get('recordGeneratedLetters') === 'combined-attached') { if (count($activityIds) !== 1) { throw new CRM_Core_Exception("When recordGeneratedLetters=combined-attached, there should only be one activity."); } diff --git a/CRM/Contact/Page/View/Relationship.php b/CRM/Contact/Page/View/Relationship.php index cc05f439e2..f6004c1090 100644 --- a/CRM/Contact/Page/View/Relationship.php +++ b/CRM/Contact/Page/View/Relationship.php @@ -158,6 +158,10 @@ class CRM_Contact_Page_View_Relationship extends CRM_Core_Page { */ public function browse() { // do nothing :) we are using datatable for rendering relationship selectors + $columnHeaders = CRM_Contact_BAO_Relationship::getColumnHeaders(); + $contactRelationships = $selector = NULL; + CRM_Utils_Hook::searchColumns('relationship.columns', $columnHeaders, $contactRelationships, $selector); + $this->assign('columnHeaders', $columnHeaders); } /** diff --git a/CRM/Contact/Page/View/UserDashBoard.php b/CRM/Contact/Page/View/UserDashBoard.php index a1cd4da843..91aacb1bba 100644 --- a/CRM/Contact/Page/View/UserDashBoard.php +++ b/CRM/Contact/Page/View/UserDashBoard.php @@ -144,6 +144,10 @@ class CRM_Contact_Page_View_UserDashBoard extends CRM_Core_Page { // CRM-16512 - Hide related contact table if user lacks permission to view self if (!empty($dashboardOptions['Permissioned Orgs']) && CRM_Core_Permission::check('view my contact')) { + $columnHeaders = CRM_Contact_BAO_Relationship::getColumnHeaders(); + $contactRelationships = $selector = NULL; + CRM_Utils_Hook::searchColumns('relationship.columns', $columnHeaders, $contactRelationships, $selector); + $this->assign('columnHeaders', $columnHeaders); $dashboardElements[] = [ 'class' => 'crm-dashboard-permissionedOrgs', 'templatePath' => 'CRM/Contact/Page/View/RelationshipSelector.tpl', diff --git a/CRM/Contribute/BAO/Contribution.php b/CRM/Contribute/BAO/Contribution.php index f2995582e1..3a78b420d5 100644 --- a/CRM/Contribute/BAO/Contribution.php +++ b/CRM/Contribute/BAO/Contribution.php @@ -664,7 +664,7 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution { public static function resolveDefaults(&$defaults, $reverse = FALSE) { self::lookupValue($defaults, 'financial_type', CRM_Contribute_PseudoConstant::financialType(), $reverse); self::lookupValue($defaults, 'payment_instrument', CRM_Contribute_PseudoConstant::paymentInstrument(), $reverse); - self::lookupValue($defaults, 'contribution_status', CRM_Contribute_PseudoConstant::contributionStatus(), $reverse); + self::lookupValue($defaults, 'contribution_status', CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), $reverse); self::lookupValue($defaults, 'pcp', CRM_Contribute_PseudoConstant::pcPage(), $reverse); } @@ -1101,13 +1101,14 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution { * * @param array $params * @param string $context - * @param array $previousContributionStatus - * @param string $currentContributionStatus * * @return bool[] * Return indicates whether the updateFinancialAccounts function should continue & whether this is a refund. */ - private static function updateFinancialAccountsOnContributionStatusChange(&$params, $context, $previousContributionStatus, $currentContributionStatus) { + private static function updateFinancialAccountsOnContributionStatusChange(&$params, $context) { + $previousContributionStatus = CRM_Contribute_PseudoConstant::contributionStatus($params['prevContribution']->contribution_status_id, 'name'); + $currentContributionStatus = CRM_Core_PseudoConstant::getName('CRM_Contribute_BAO_Contribution', 'contribution_status_id', $params['contribution']->contribution_status_id); + $isARefund = FALSE; if ((($previousContributionStatus == 'Partially paid' && $currentContributionStatus == 'Completed') || ($previousContributionStatus == 'Pending refund' && $currentContributionStatus == 'Completed') @@ -1634,7 +1635,7 @@ GROUP BY p.id $params[$contributionDAO->id]['amount'] = CRM_Utils_Money::format($contributionDAO->total_amount, $contributionDAO->currency); $params[$contributionDAO->id]['source'] = $contributionDAO->source; $params[$contributionDAO->id]['receive_date'] = $contributionDAO->receive_date; - $params[$contributionDAO->id]['contribution_status'] = CRM_Contribute_PseudoConstant::contributionStatus($contributionDAO->contribution_status_id); + $params[$contributionDAO->id]['contribution_status'] = CRM_Contribute_PseudoConstant::contributionStatus($contributionDAO->contribution_status_id, 'label'); } } @@ -3348,7 +3349,7 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac WHERE con.id = %1 LIMIT 1"; $params = [1 => [$contributionId, 'Integer']]; $statusId = CRM_Core_DAO::singleValueQuery($sql, $params); - $status = CRM_Contribute_PseudoConstant::contributionStatus($statusId); + $status = CRM_Contribute_PseudoConstant::contributionStatus($statusId, 'name'); if ($status == 'Cancelled') { return TRUE; } @@ -3717,11 +3718,9 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac $trxnID = NULL; $inputParams = $params; $isARefund = FALSE; - $currentContributionStatus = CRM_Core_PseudoConstant::getName('CRM_Contribute_BAO_Contribution', 'contribution_status_id', $params['contribution']->contribution_status_id); - $previousContributionStatus = CRM_Contribute_PseudoConstant::contributionStatus($params['prevContribution']->contribution_status_id, 'name'); if ($context == 'changedStatus') { - list($continue, $isARefund) = self::updateFinancialAccountsOnContributionStatusChange($params, $context, $previousContributionStatus, $currentContributionStatus); + list($continue, $isARefund) = self::updateFinancialAccountsOnContributionStatusChange($params, $context); // @todo - it may be that this is always false & the parent function is just a confusing wrapper for the child fn. if (!$continue) { return; @@ -4089,7 +4088,7 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac 2 => [$feeFinancialAccount, 'Integer'], ]; $resultDAO = CRM_Core_DAO::executeQuery($sql, $queryParams); - $statuses = CRM_Contribute_PseudoConstant::contributionStatus(); + $statuses = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); while ($resultDAO->fetch()) { $paidByLabel = CRM_Core_PseudoConstant::getLabel('CRM_Core_BAO_FinancialTrxn', 'payment_instrument_id', $resultDAO->payment_instrument_id); diff --git a/CRM/Contribute/BAO/ContributionRecur.php b/CRM/Contribute/BAO/ContributionRecur.php index 233377eb15..7f80887281 100644 --- a/CRM/Contribute/BAO/ContributionRecur.php +++ b/CRM/Contribute/BAO/ContributionRecur.php @@ -428,14 +428,31 @@ INNER JOIN civicrm_contribution con ON ( con.id = mp.contribution_id ) * @throws \CiviCRM_API3_Exception */ public static function getTemplateContribution($id, $overrides = []) { - $templateContribution = civicrm_api3('Contribution', 'get', [ - 'contribution_recur_id' => $id, - 'options' => ['limit' => 1, 'sort' => ['id DESC']], - 'sequential' => 1, - 'contribution_test' => '', + // use api3 because api4 doesn't handle ContributionRecur yet... + $is_test = civicrm_api3('ContributionRecur', 'getvalue', [ + 'return' => "is_test", + 'id' => $id, ]); - if ($templateContribution['count']) { - $result = array_merge($templateContribution['values'][0], $overrides); + // First look for new-style template contribution with is_template=1 + $templateContributions = \Civi\Api4\Contribution::get() + ->addWhere('contribution_recur_id', '=', $id) + ->addWhere('is_template', '=', 1) + ->addWhere('is_test', '=', $is_test) + ->addOrderBy('id', 'DESC') + ->setLimit(1) + ->execute(); + if (!$templateContributions->count()) { + // Fall back to old style template contributions + $templateContributions = \Civi\Api4\Contribution::get() + ->addWhere('contribution_recur_id', '=', $id) + ->addWhere('is_test', '=', $is_test) + ->addOrderBy('id', 'DESC') + ->setLimit(1) + ->execute(); + } + if ($templateContributions->count()) { + $templateContribution = $templateContributions->first(); + $result = array_merge($templateContribution, $overrides); $result['line_item'] = CRM_Contribute_BAO_ContributionRecur::calculateRecurLineItems($id, $result['total_amount'], $result['financial_type_id']); return $result; } @@ -757,7 +774,7 @@ INNER JOIN civicrm_contribution con ON ( con.id = mp.contribution_id ) // Add field for contribution status $form->addSelect('contribution_recur_contribution_status_id', - ['entity' => 'contribution', 'multiple' => 'multiple', 'context' => 'search', 'options' => CRM_Contribute_PseudoConstant::contributionStatus()] + ['entity' => 'contribution', 'multiple' => 'multiple', 'context' => 'search', 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label')] ); $form->addElement('text', 'contribution_recur_processor_id', ts('Processor ID'), CRM_Core_DAO::getAttribute('CRM_Contribute_DAO_ContributionRecur', 'processor_id')); diff --git a/CRM/Contribute/BAO/Query.php b/CRM/Contribute/BAO/Query.php index 1e160fc352..8d5e16ee5c 100644 --- a/CRM/Contribute/BAO/Query.php +++ b/CRM/Contribute/BAO/Query.php @@ -160,24 +160,14 @@ class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query { $quoteValue = "\"$value\""; } - // These are legacy names. - // @todo enotices when these are hit so we can start to elimnate them. - $fieldAliases = [ - 'financial_type' => 'financial_type_id', - 'contribution_page' => 'contribution_page_id', - 'payment_instrument' => 'payment_instrument_id', - // or payment_instrument_id? - 'contribution_payment_instrument' => 'contribution_payment_instrument_id', - 'contribution_status' => 'contribution_status_id', - ]; + $fieldAliases = self::getLegacySupportedFields(); - $name = isset($fieldAliases[$name]) ? $fieldAliases[$name] : $name; + $fieldName = $name = self::getFieldName($values); $qillName = $name; if (in_array($name, $fieldAliases)) { $qillName = array_search($name, $fieldAliases); } $pseudoExtraParam = []; - $fieldName = str_replace(['_high', '_low'], '', $name); $fieldSpec = CRM_Utils_Array::value($fieldName, $fields, []); $tableName = CRM_Utils_Array::value('table_name', $fieldSpec, 'civicrm_contribution'); $dataType = CRM_Utils_Type::typeToString(CRM_Utils_Array::value('type', $fieldSpec)); diff --git a/CRM/Contribute/DAO/Contribution.php b/CRM/Contribute/DAO/Contribution.php index a30e2042ea..018f1e0c1f 100644 --- a/CRM/Contribute/DAO/Contribution.php +++ b/CRM/Contribute/DAO/Contribution.php @@ -6,7 +6,7 @@ * * Generated from xml/schema/CRM/Contribute/Contribution.xml * DO NOT EDIT. Generated by CRM_Core_CodeGen - * (GenCodeChecksum:b4e84298d9ba23d3b2fae0768fc5cb58) + * (GenCodeChecksum:a9f83aa612e82ee87ace74e75fe23466) */ /** @@ -226,6 +226,13 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO { */ public $revenue_recognition_date; + /** + * Shows this is a template for recurring contributions. + * + * @var bool + */ + public $is_template; + /** * Class constructor. */ @@ -839,6 +846,23 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO { 'formatType' => 'activityDateTime', ], ], + 'is_template' => [ + 'name' => 'is_template', + 'type' => CRM_Utils_Type::T_BOOLEAN, + 'title' => ts('Is a Template Contribution'), + 'description' => ts('Shows this is a template for recurring contributions.'), + 'import' => TRUE, + 'where' => 'civicrm_contribution.is_template', + 'export' => TRUE, + 'default' => '0', + 'table_name' => 'civicrm_contribution', + 'entity' => 'Contribution', + 'bao' => 'CRM_Contribute_BAO_Contribution', + 'localizable' => 0, + 'html' => [ + 'type' => 'CheckBox', + ], + ], ]; CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']); } diff --git a/CRM/Contribute/DAO/ContributionPage.php b/CRM/Contribute/DAO/ContributionPage.php index 4ba652bdae..69a3cefef8 100644 --- a/CRM/Contribute/DAO/ContributionPage.php +++ b/CRM/Contribute/DAO/ContributionPage.php @@ -6,7 +6,7 @@ * * Generated from xml/schema/CRM/Contribute/ContributionPage.xml * DO NOT EDIT. Generated by CRM_Core_CodeGen - * (GenCodeChecksum:70763e4804af1e4e3ddbac7b60cbd242) + * (GenCodeChecksum:35e26556fcbed13acc434279f2ebaee5) */ /** @@ -343,6 +343,13 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO { */ public $is_billing_required; + /** + * Contribution Page Public title + * + * @var string + */ + public $frontend_title; + /** * Class constructor. */ @@ -993,6 +1000,23 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO { 'bao' => 'CRM_Contribute_BAO_ContributionPage', 'localizable' => 0, ], + 'contribution_page_frontend_title' => [ + 'name' => 'frontend_title', + 'type' => CRM_Utils_Type::T_STRING, + 'title' => ts('Public Title'), + 'description' => ts('Contribution Page Public title'), + 'maxlength' => 255, + 'size' => CRM_Utils_Type::HUGE, + 'where' => 'civicrm_contribution_page.frontend_title', + 'default' => 'NULL', + 'table_name' => 'civicrm_contribution_page', + 'entity' => 'ContributionPage', + 'bao' => 'CRM_Contribute_BAO_ContributionPage', + 'localizable' => 1, + 'html' => [ + 'type' => 'Text', + ], + ], ]; CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']); } diff --git a/CRM/Contribute/Form/AbstractEditPayment.php b/CRM/Contribute/Form/AbstractEditPayment.php index aafbf0a423..bc37b6f8a9 100644 --- a/CRM/Contribute/Form/AbstractEditPayment.php +++ b/CRM/Contribute/Form/AbstractEditPayment.php @@ -578,9 +578,7 @@ WHERE contribution_id = {$id} $this->_params['month'] = CRM_Core_Payment_Form::getCreditCardExpirationMonth($this->_params); } $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_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(); diff --git a/CRM/Contribute/Form/AdditionalPayment.php b/CRM/Contribute/Form/AdditionalPayment.php index fdb7c478f3..e6aceaa3dd 100644 --- a/CRM/Contribute/Form/AdditionalPayment.php +++ b/CRM/Contribute/Form/AdditionalPayment.php @@ -108,18 +108,18 @@ class CRM_Contribute_Form_AdditionalPayment extends CRM_Contribute_Form_Abstract $this->_fromEmails['from_email_id'] = CRM_Core_BAO_Email::getFromEmail(); } - $paymentInfo = CRM_Core_BAO_FinancialTrxn::getPartialPaymentWithType($this->_id, $entityType); $paymentDetails = CRM_Contribute_BAO_Contribution::getPaymentInfo($this->_id, $this->_component, FALSE, TRUE); + $paymentAmt = CRM_Contribute_BAO_Contribution::getContributionBalance($this->_id); $this->_amtPaid = $paymentDetails['paid']; $this->_amtTotal = $paymentDetails['total']; - if (!empty($paymentInfo['refund_due'])) { - $paymentAmt = $this->_refund = $paymentInfo['refund_due']; + if ($paymentAmt < 0) { + $this->_refund = $paymentAmt; $this->_paymentType = 'refund'; } - elseif (!empty($paymentInfo['amount_owed'])) { - $paymentAmt = $this->_owed = $paymentInfo['amount_owed']; + elseif ($paymentAmt > 0) { + $this->_owed = $paymentAmt; $this->_paymentType = 'owed'; } else { @@ -520,18 +520,18 @@ class CRM_Contribute_Form_AdditionalPayment extends CRM_Contribute_Form_Abstract if (!empty($params['contribution_id'])) { $this->_contributionId = $params['contribution_id']; - $paymentInfo = CRM_Core_BAO_FinancialTrxn::getPartialPaymentWithType($this->_contributionId, $entityType); $paymentDetails = CRM_Contribute_BAO_Contribution::getPaymentInfo($this->_contributionId, $entityType, FALSE, TRUE); + $paymentAmount = CRM_Contribute_BAO_Contribution::getContributionBalance($this->_contributionId); $this->_amtPaid = $paymentDetails['paid']; $this->_amtTotal = $paymentDetails['total']; - if (!empty($paymentInfo['refund_due'])) { - $this->_refund = $paymentInfo['refund_due']; + if ($paymentAmount < 0) { + $this->_refund = $paymentAmount; $this->_paymentType = 'refund'; } - elseif (!empty($paymentInfo['amount_owed'])) { - $this->_owed = $paymentInfo['amount_owed']; + elseif ($paymentAmount > 0) { + $this->_owed = $paymentAmount; $this->_paymentType = 'owed'; } } diff --git a/CRM/Contribute/Form/Contribution/Confirm.php b/CRM/Contribute/Form/Contribution/Confirm.php index 8f7e170fdd..a977f45dde 100644 --- a/CRM/Contribute/Form/Contribution/Confirm.php +++ b/CRM/Contribute/Form/Contribution/Confirm.php @@ -1537,8 +1537,9 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr if (!empty($form->_params['membership_source'])) { $membershipSource = $form->_params['membership_source']; } - elseif (isset($form->_values['title']) && !empty($form->_values['title'])) { - $membershipSource = ts('Online Contribution:') . ' ' . $form->_values['title']; + elseif ((isset($form->_values['title']) && !empty($form->_values['title'])) || (isset($form->_values['frontend_title']) && !empty($form->_values['frontend_title']))) { + $title = !empty($form->_values['frontend_title']) ? $form->_values['frontend_title'] : $form->_values['title']; + $membershipSource = ts('Online Contribution:') . ' ' . $title; } $isPayLater = NULL; if (isset($form->_params)) { @@ -1554,7 +1555,7 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr // @todo Move this into CRM_Member_BAO_Membership::processMembership if (!empty($membershipContribution)) { - $pending = ($membershipContribution->contribution_status_id == array_search('Pending', CRM_Contribute_PseudoConstant::contributionStatus())) ? TRUE : FALSE; + $pending = ($membershipContribution->contribution_status_id == CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'contribution_status_id', 'Pending')) ? TRUE : FALSE; } else { $pending = $this->getIsPending(); @@ -1575,8 +1576,6 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr } if (!empty($membershipContribution)) { - // update recurring id for membership record - CRM_Member_BAO_Membership::updateRecurMembership($membership, $membershipContribution); // Next line is probably redundant. Checks prevent it happening twice. $membershipPaymentParams = [ 'membership_id' => $membership->id, @@ -2058,7 +2057,8 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr } } // add a description field at the very beginning - $this->_params['description'] = ts('Online Contribution') . ': ' . (($this->_pcpInfo['title']) ? $this->_pcpInfo['title'] : $this->_values['title']); + $title = !empty($this->_values['frontend_title']) ? $this->_values['frontend_title'] : $this->_values['title']; + $this->_params['description'] = ts('Online Contribution') . ': ' . (!empty($this->_pcpInfo['title']) ? $this->_pcpInfo['title'] : $title); $this->_params['accountingCode'] = CRM_Utils_Array::value('accountingCode', $this->_values); diff --git a/CRM/Contribute/Form/Contribution/Main.php b/CRM/Contribute/Form/Contribution/Main.php index 6b8d915b8d..1a23147d47 100644 --- a/CRM/Contribute/Form/Contribution/Main.php +++ b/CRM/Contribute/Form/Contribution/Main.php @@ -1217,7 +1217,8 @@ class CRM_Contribute_Form_Contribution_Main extends CRM_Contribute_Form_Contribu $invoiceID = md5(uniqid(rand(), TRUE)); $this->set('invoiceID', $invoiceID); $params['invoiceID'] = $invoiceID; - $params['description'] = ts('Online Contribution') . ': ' . ((!empty($this->_pcpInfo['title']) ? $this->_pcpInfo['title'] : $this->_values['title'])); + $title = !empty($this->_values['frontend_title']) ? $this->_values['frontend_title'] : $this->_values['title']; + $params['description'] = ts('Online Contribution') . ': ' . ((!empty($this->_pcpInfo['title']) ? $this->_pcpInfo['title'] : $title)); $params['button'] = $this->controller->getButtonName(); // required only if is_monetary and valid positive amount // @todo it seems impossible for $memFee to be greater than 0 & $params['amount'] not to diff --git a/CRM/Contribute/Form/ContributionBase.php b/CRM/Contribute/Form/ContributionBase.php index f51adb5fc6..21cc18e75a 100644 --- a/CRM/Contribute/Form/ContributionBase.php +++ b/CRM/Contribute/Form/ContributionBase.php @@ -468,7 +468,9 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form { CRM_Utils_Array::value('cancelSubscriptionUrl', $this->_values) ); - $this->setTitle(($this->_pcpId ? $this->_pcpInfo['title'] : $this->_values['title'])); + $title = !empty($this->_values['frontend_title']) ? $this->_values['frontend_title'] : $this->_values['title']; + + $this->setTitle(($this->_pcpId ? $this->_pcpInfo['title'] : $title)); $this->_defaults = []; $this->_amount = $this->get('amount'); diff --git a/CRM/Contribute/Form/ContributionCharts.php b/CRM/Contribute/Form/ContributionCharts.php index ac5866da5b..70c58ce2cb 100644 --- a/CRM/Contribute/Form/ContributionCharts.php +++ b/CRM/Contribute/Form/ContributionCharts.php @@ -177,7 +177,7 @@ class CRM_Contribute_Form_ContributionCharts extends CRM_Core_Form { $funName = ($chartType == 'bvg') ? 'barChart' : 'pieChart'; // build the chart objects. - $values['object'] = CRM_Utils_OpenFlashChart::$funName($values); + $values['object'] = CRM_Utils_Chart::$funName($values); //build the urls. $urlCnt = 0; @@ -230,8 +230,8 @@ class CRM_Contribute_Form_ContributionCharts extends CRM_Core_Form { // finally assign this chart data to template. $this->assign('hasYearlyChart', $yearlyChart); $this->assign('hasByMonthChart', $monthlyChart); - $this->assign('hasOpenFlashChart', empty($chartData) ? FALSE : TRUE); - $this->assign('openFlashChartData', json_encode($chartData)); + $this->assign('hasChart', empty($chartData) ? FALSE : TRUE); + $this->assign('chartData', json_encode($chartData ?? [])); } } diff --git a/CRM/Contribute/Form/ContributionPage/Settings.php b/CRM/Contribute/Form/ContributionPage/Settings.php index 0e7ae3ae58..55fe85b695 100644 --- a/CRM/Contribute/Form/ContributionPage/Settings.php +++ b/CRM/Contribute/Form/ContributionPage/Settings.php @@ -135,6 +135,7 @@ class CRM_Contribute_Form_ContributionPage_Settings extends CRM_Contribute_Form_ // name $this->add('text', 'title', ts('Title'), $attributes['title'], TRUE); + $this->addField('contribution_page_frontend_title', ['entity' => 'ContributionPage']); //CRM-7362 --add campaigns. CRM_Campaign_BAO_Campaign::addCampaign($this, CRM_Utils_Array::value('campaign_id', $this->_values)); diff --git a/CRM/Contribute/Form/Search.php b/CRM/Contribute/Form/Search.php index fe892ed801..6923169fe6 100644 --- a/CRM/Contribute/Form/Search.php +++ b/CRM/Contribute/Form/Search.php @@ -86,14 +86,7 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { $this->loadStandardSearchOptionsFromUrl(); - // get user submitted values - // get it from controller only if form has been submitted, else preProcess has set this - if (!empty($_POST)) { - $this->_formValues = $this->controller->exportValues($this->_name); - } - else { - $this->_formValues = $this->get('formValues'); - } + $this->_formValues = $this->getFormValues(); //membership ID $memberShipId = CRM_Utils_Request::retrieve('memberId', 'Positive', $this); @@ -106,12 +99,7 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { } if ($this->_force) { - // Search field metadata is normally added in buildForm but we are bypassing that in this flow - // (I've always found the flow kinda confusing & perhaps that is the problem but this mitigates) - $this->addSearchFieldMetadata(['Contribution' => CRM_Contribute_BAO_Query::getSearchFieldMetadata()]); - $this->addSearchFieldMetadata(['ContributionRecur' => CRM_Contribute_BAO_ContributionRecur::getContributionRecurSearchFieldMetadata()]); - $this->postProcess(); - $this->set('force', 0); + $this->handleForcedSearch(); } $sortID = NULL; @@ -482,4 +470,14 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { return ts('Find Contributions'); } + /** + * Set the metadata for the form. + * + * @throws \CiviCRM_API3_Exception + */ + protected function setSearchMetadata() { + $this->addSearchFieldMetadata(['Contribution' => CRM_Contribute_BAO_Query::getSearchFieldMetadata()]); + $this->addSearchFieldMetadata(['ContributionRecur' => CRM_Contribute_BAO_ContributionRecur::getContributionRecurSearchFieldMetadata()]); + } + } diff --git a/CRM/Contribute/Form/Task/Invoice.php b/CRM/Contribute/Form/Task/Invoice.php index 55447fd77a..23cea476ed 100644 --- a/CRM/Contribute/Form/Task/Invoice.php +++ b/CRM/Contribute/Form/Task/Invoice.php @@ -94,9 +94,9 @@ class CRM_Contribute_Form_Task_Invoice extends CRM_Contribute_Form_Task { parent::preProcess(); } - // check that all the contribution ids have status Completed, Pending, Refunded. + // check that all the contribution ids have status Completed, Pending, Refunded, or Partially Paid. $this->_contributionStatusId = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name'); - $status = ['Completed', 'Pending', 'Refunded']; + $status = ['Completed', 'Pending', 'Refunded', 'Partially paid']; $statusId = []; foreach ($this->_contributionStatusId as $key => $value) { if (in_array($value, $status)) { @@ -107,7 +107,7 @@ class CRM_Contribute_Form_Task_Invoice extends CRM_Contribute_Form_Task { $query = "SELECT count(*) FROM civicrm_contribution WHERE contribution_status_id NOT IN ($Id) AND {$this->_componentClause}"; $count = CRM_Core_DAO::singleValueQuery($query); if ($count != 0) { - CRM_Core_Error::statusBounce(ts('Please select only contributions with Completed, Pending, Refunded status.')); + CRM_Core_Error::statusBounce(ts('Please select only contributions with Completed, Pending, Refunded, or Partially Paid status.')); } // we have all the contribution ids, so now we get the contact ids diff --git a/CRM/Contribute/Form/Task/Status.php b/CRM/Contribute/Form/Task/Status.php index 388362b05c..b310d416dc 100644 --- a/CRM/Contribute/Form/Task/Status.php +++ b/CRM/Contribute/Form/Task/Status.php @@ -84,7 +84,7 @@ AND {$this->_componentClause}"; * Build the form object. */ public function buildQuickForm() { - $status = CRM_Contribute_PseudoConstant::contributionStatus(); + $status = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); unset($status[2]); unset($status[5]); unset($status[6]); diff --git a/CRM/Contribute/Import/Parser/Contribution.php b/CRM/Contribute/Import/Parser/Contribution.php index 7fc5fe9ac2..49cb0522e8 100644 --- a/CRM/Contribute/Import/Parser/Contribution.php +++ b/CRM/Contribute/Import/Parser/Contribution.php @@ -896,7 +896,7 @@ class CRM_Contribute_Import_Parser_Contribution extends CRM_Contribute_Import_Pa // giving respect to pledge_payment flag. if (empty($params['pledge_payment'])) { - continue; + break; } // get total amount of from import fields diff --git a/CRM/Contribute/Page/Tab.php b/CRM/Contribute/Page/Tab.php index b93544e307..742e47ec63 100644 --- a/CRM/Contribute/Page/Tab.php +++ b/CRM/Contribute/Page/Tab.php @@ -33,14 +33,22 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { /** - * The action links that we need to display for the browse screen. + * The permission we have on this contact * - * @var array + * @var string */ - public static $_links = NULL; - public static $_recurLinks = NULL; public $_permission = NULL; + + /** + * The contact ID for the contributions we are acting on + * @var int + */ public $_contactId = NULL; + + /** + * The recurring contribution ID (if any) + * @var int + */ public $_crid = NULL; /** @@ -55,59 +63,56 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { * * @return array */ - public static function &recurLinks($recurID = FALSE, $context = 'contribution') { - if (!(self::$_links)) { - self::$_links = [ - CRM_Core_Action::VIEW => [ - 'name' => ts('View'), - 'title' => ts('View Recurring Payment'), - 'url' => 'civicrm/contact/view/contributionrecur', - 'qs' => "reset=1&id=%%crid%%&cid=%%cid%%&context={$context}", - ], - CRM_Core_Action::UPDATE => [ - 'name' => ts('Edit'), - 'title' => ts('Edit Recurring Payment'), - 'url' => 'civicrm/contribute/updaterecur', - 'qs' => "reset=1&action=update&crid=%%crid%%&cid=%%cid%%&context={$context}", - ], - CRM_Core_Action::DISABLE => [ - 'name' => ts('Cancel'), - 'title' => ts('Cancel'), - 'ref' => 'crm-enable-disable', - ], - ]; - } + public static function recurLinks($recurID = FALSE, $context = 'contribution') { + $links = [ + CRM_Core_Action::VIEW => [ + 'name' => ts('View'), + 'title' => ts('View Recurring Payment'), + 'url' => 'civicrm/contact/view/contributionrecur', + 'qs' => "reset=1&id=%%crid%%&cid=%%cid%%&context={$context}", + ], + CRM_Core_Action::UPDATE => [ + 'name' => ts('Edit'), + 'title' => ts('Edit Recurring Payment'), + 'url' => 'civicrm/contribute/updaterecur', + 'qs' => "reset=1&action=update&crid=%%crid%%&cid=%%cid%%&context={$context}", + ], + CRM_Core_Action::DISABLE => [ + 'name' => ts('Cancel'), + 'title' => ts('Cancel'), + 'ref' => 'crm-enable-disable', + ], + ]; if ($recurID) { - $links = self::$_links; $paymentProcessorObj = CRM_Contribute_BAO_ContributionRecur::getPaymentProcessorObject($recurID); - if (!$paymentProcessorObj) { - unset($links[CRM_Core_Action::DISABLE]); - unset($links[CRM_Core_Action::UPDATE]); - return $links; - } - if ($paymentProcessorObj->supports('cancelRecurring')) { - unset($links[CRM_Core_Action::DISABLE]['extra'], $links[CRM_Core_Action::DISABLE]['ref']); - $links[CRM_Core_Action::DISABLE]['url'] = "civicrm/contribute/unsubscribe"; - $links[CRM_Core_Action::DISABLE]['qs'] = "reset=1&crid=%%crid%%&cid=%%cid%%&context={$context}"; - } + if ($paymentProcessorObj) { + if ($paymentProcessorObj->supports('cancelRecurring')) { + unset($links[CRM_Core_Action::DISABLE]['extra'], $links[CRM_Core_Action::DISABLE]['ref']); + $links[CRM_Core_Action::DISABLE]['url'] = "civicrm/contribute/unsubscribe"; + $links[CRM_Core_Action::DISABLE]['qs'] = "reset=1&crid=%%crid%%&cid=%%cid%%&context={$context}"; + } - if ($paymentProcessorObj->supports('UpdateSubscriptionBillingInfo')) { - $links[CRM_Core_Action::RENEW] = [ - 'name' => ts('Change Billing Details'), - 'title' => ts('Change Billing Details'), - 'url' => 'civicrm/contribute/updatebilling', - 'qs' => "reset=1&crid=%%crid%%&cid=%%cid%%&context={$context}", - ]; - } + if ($paymentProcessorObj->supports('UpdateSubscriptionBillingInfo')) { + $links[CRM_Core_Action::RENEW] = [ + 'name' => ts('Change Billing Details'), + 'title' => ts('Change Billing Details'), + 'url' => 'civicrm/contribute/updatebilling', + 'qs' => "reset=1&crid=%%crid%%&cid=%%cid%%&context={$context}", + ]; + } - if (!$paymentProcessorObj->supports('ChangeSubscriptionAmount') && !$paymentProcessorObj->supports('EditRecurringContribution')) { + if (!$paymentProcessorObj->supports('ChangeSubscriptionAmount') && !$paymentProcessorObj->supports('EditRecurringContribution')) { + unset($links[CRM_Core_Action::UPDATE]); + } + } + else { + unset($links[CRM_Core_Action::DISABLE]); unset($links[CRM_Core_Action::UPDATE]); } - return $links; } - return self::$_links; + return $links; } /** @@ -196,7 +201,7 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { * Loads active recurring contributions for the current contact and formats * them to be used on the form. * - * @return array; + * @return array */ private function getActiveRecurringContributions() { try { @@ -218,7 +223,7 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { * Loads inactive recurring contributions for the current contact and formats * them to be used on the form. * - * @return array; + * @return array */ private function getInactiveRecurringContributions() { try { @@ -239,7 +244,7 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { /** * @param $recurContributions * - * @return mixed + * @return array */ private function buildRecurringContributionsArray($recurContributions) { $liveRecurringContributionCount = 0; @@ -327,6 +332,10 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { return $controller->run(); } + /** + * @throws \CRM_Core_Exception + * @throws \CiviCRM_API3_Exception + */ public function preProcess() { $context = CRM_Utils_Request::retrieve('context', 'Alphanumeric', $this); $this->_action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE, 'browse'); @@ -361,7 +370,8 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { * the main function that is called when the page * loads, it decides the which action has to be taken for the page. * - * @return null + * @throws \CRM_Core_Exception + * @throws \CiviCRM_API3_Exception */ public function run() { $this->preProcess(); @@ -381,9 +391,12 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { $this->browse(); } - return parent::run(); + parent::run(); } + /** + * @throws \CRM_Core_Exception + */ public function setContext() { $qfKey = CRM_Utils_Request::retrieve('key', 'String', $this); $context = CRM_Utils_Request::retrieve('context', 'Alphanumeric', diff --git a/CRM/Contribute/Page/UserDashboard.php b/CRM/Contribute/Page/UserDashboard.php index 289051836a..c0a635ad4d 100644 --- a/CRM/Contribute/Page/UserDashboard.php +++ b/CRM/Contribute/Page/UserDashboard.php @@ -96,7 +96,7 @@ class CRM_Contribute_Page_UserDashboard extends CRM_Contact_Page_View_UserDashBo $recur->is_test = 0; $recur->find(); - $recurStatus = CRM_Contribute_PseudoConstant::contributionStatus(); + $recurStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); $recurRow = []; $recurIDs = []; diff --git a/CRM/Core/BAO/CustomField.php b/CRM/Core/BAO/CustomField.php index 26907960b8..e5c013ddf7 100644 --- a/CRM/Core/BAO/CustomField.php +++ b/CRM/Core/BAO/CustomField.php @@ -596,6 +596,9 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField { ) { continue; } + if (!empty($values['text_length'])) { + $values['maxlength'] = (int) $values['text_length']; + } /* generate the key for the fields array */ diff --git a/CRM/Core/BAO/Dashboard.php b/CRM/Core/BAO/Dashboard.php index 2c89838c40..a94154d178 100644 --- a/CRM/Core/BAO/Dashboard.php +++ b/CRM/Core/BAO/Dashboard.php @@ -357,13 +357,39 @@ class CRM_Core_BAO_Dashboard extends CRM_Core_DAO_Dashboard { } } - // Disable inactive widgets - $dashletClause = $dashletIDs ? "dashboard_id NOT IN (" . implode(',', $dashletIDs) . ")" : '(1)'; + // Find dashlets in this domain. + $domainDashlets = civicrm_api3('Dashboard', 'get', [ + 'return' => array('id'), + 'domain_id' => CRM_Core_Config::domainID(), + 'options' => ['limit' => 0], + ]); + + // Get the array of IDs. + $domainDashletIDs = []; + if ($domainDashlets['is_error'] == 0) { + $domainDashletIDs = CRM_Utils_Array::collect('id', $domainDashlets['values']); + } + + // Restrict query to Dashlets in this domain. + $domainDashletClause = !empty($domainDashletIDs) ? "dashboard_id IN (" . implode(',', $domainDashletIDs) . ")" : '(1)'; + + // Target only those Dashlets which are inactive. + $dashletClause = $dashletIDs ? "dashboard_id NOT IN (" . implode(',', $dashletIDs) . ")" : '(1)'; + + // Build params. + $params = [ + 1 => [$contactID, 'Integer'], + ]; + + // Build query. $updateQuery = "UPDATE civicrm_dashboard_contact SET is_active = 0 - WHERE $dashletClause AND contact_id = {$contactID}"; + WHERE $domainDashletClause + AND $dashletClause + AND contact_id = %1"; - CRM_Core_DAO::executeQuery($updateQuery); + // Disable inactive widgets. + CRM_Core_DAO::executeQuery($updateQuery, $params); } /** diff --git a/CRM/Core/BAO/File.php b/CRM/Core/BAO/File.php index a0a28476ed..7bf3ae3918 100644 --- a/CRM/Core/BAO/File.php +++ b/CRM/Core/BAO/File.php @@ -40,6 +40,13 @@ class CRM_Core_BAO_File extends CRM_Core_DAO_File { public static $_signableFields = ['entityTable', 'entityID', 'fileID']; + /** + * If there is no setting configured on the admin screens, maximum number + * of attachments to try to process when given a list of attachments to + * process. + */ + const DEFAULT_MAX_ATTACHMENTS_BACKEND = 100; + /** * Takes an associative array and creates a File object. * @@ -596,24 +603,37 @@ AND CEF.entity_id = %2"; * @param int $entityID */ public static function processAttachment(&$params, $entityTable, $entityID) { - $numAttachments = Civi::settings()->get('max_attachments'); + $numAttachments = Civi::settings()->get('max_attachments_backend') ?? self::DEFAULT_MAX_ATTACHMENTS_BACKEND; for ($i = 1; $i <= $numAttachments; $i++) { - if ( - isset($params["attachFile_$i"]) && - is_array($params["attachFile_$i"]) - ) { - self::filePostProcess( - $params["attachFile_$i"]['location'], - NULL, - $entityTable, - $entityID, - NULL, - TRUE, - $params["attachFile_$i"], - "attachFile_$i", - $params["attachFile_$i"]['type'] - ); + if (isset($params["attachFile_$i"])) { + /** + * Moved the second condition into its own if block to avoid changing + * how it works if there happens to be an entry that is not an array, + * since we now might exit loop early via newly added break below. + */ + if (is_array($params["attachFile_$i"])) { + self::filePostProcess( + $params["attachFile_$i"]['location'], + NULL, + $entityTable, + $entityID, + NULL, + TRUE, + $params["attachFile_$i"], + "attachFile_$i", + $params["attachFile_$i"]['type'] + ); + } + } + else { + /** + * No point looping 100 times if there aren't any more. + * This assumes the array is continuous and doesn't skip array keys, + * but (a) where would it be doing that, and (b) it would have caused + * problems before anyway if there were skipped keys. + */ + break; } } } diff --git a/CRM/Core/BAO/FinancialTrxn.php b/CRM/Core/BAO/FinancialTrxn.php index b02538e429..995fb6403a 100644 --- a/CRM/Core/BAO/FinancialTrxn.php +++ b/CRM/Core/BAO/FinancialTrxn.php @@ -454,6 +454,7 @@ WHERE ceft.entity_id = %1"; * @return array */ public static function getPartialPaymentWithType($entityId, $entityName = 'participant', $lineItemTotal = NULL) { + CRM_Core_Error::deprecatedFunctionWarning('CRM_Contribute_BAO_Contribution::getContributionBalance'); $value = NULL; if (empty($entityName)) { return $value; diff --git a/CRM/Core/BAO/Query.php b/CRM/Core/BAO/Query.php index 5e700a7ae0..f6b3374890 100644 --- a/CRM/Core/BAO/Query.php +++ b/CRM/Core/BAO/Query.php @@ -58,6 +58,27 @@ class CRM_Core_BAO_Query { } } + /** + * Get legacy fields which we still maybe support. + * + * These are contribution specific but I think it's ok to have one list of legacy supported + * params in a central place. + * + * @return array + */ + protected static function getLegacySupportedFields(): array { + // @todo enotices when these are hit so we can start to elimnate them. + $fieldAliases = [ + 'financial_type' => 'financial_type_id', + 'contribution_page' => 'contribution_page_id', + 'payment_instrument' => 'payment_instrument_id', + // or payment_instrument_id? + 'contribution_payment_instrument' => 'contribution_payment_instrument_id', + 'contribution_status' => 'contribution_status_id', + ]; + return $fieldAliases; + } + /** * Getter for the qill object. * @@ -80,4 +101,22 @@ class CRM_Core_BAO_Query { */ public static function tableNames(&$tables) {} + /** + * Get the name of the field. + * + * @param array $values + * + * @return string + */ + protected static function getFieldName($values) { + $name = $values[0]; + $fieldAliases = self::getLegacySupportedFields(); + if (isset($fieldAliases[$name])) { + CRM_Core_Error::deprecatedFunctionWarning('These parameters should be standardised before we get here'); + return $fieldAliases[$name]; + } + + return str_replace(['_high', '_low'], '', $name); + } + } diff --git a/CRM/Core/BAO/UFGroup.php b/CRM/Core/BAO/UFGroup.php index c3974fbdd7..5c5ab2a478 100644 --- a/CRM/Core/BAO/UFGroup.php +++ b/CRM/Core/BAO/UFGroup.php @@ -2123,7 +2123,7 @@ AND ( entity_id IS NULL OR entity_id <= 0 ) ); } elseif ($fieldName === 'contribution_status_id') { - $contributionStatuses = CRM_Contribute_PseudoConstant::contributionStatus(); + $contributionStatuses = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); $statusName = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name'); foreach (['In Progress', 'Overdue', 'Refunded'] as $suppress) { unset($contributionStatuses[CRM_Utils_Array::key($suppress, $statusName)]); diff --git a/CRM/Core/ClassLoader.php b/CRM/Core/ClassLoader.php index 51dbcf9b1d..b7fa50df73 100644 --- a/CRM/Core/ClassLoader.php +++ b/CRM/Core/ClassLoader.php @@ -193,7 +193,7 @@ class CRM_Core_ClassLoader { // we do this to prevent a autoloader errors with joomla / 3rd party packages // Use absolute path, since we don't know the content of include_path yet. // CRM-11304 - $file = dirname(__FILE__) . '/../../packages/IDS/vendors/htmlpurifer/HTMLPurifier/Bootstrap.php'; + $file = dirname(__FILE__) . '/../../packages/IDS/vendors/htmlpurifier/HTMLPurifier/Bootstrap.php'; if (file_exists($file)) { return $file; } diff --git a/CRM/Core/Config/MagicMerge.php b/CRM/Core/Config/MagicMerge.php index 30188ce3bf..4fedbc69af 100644 --- a/CRM/Core/Config/MagicMerge.php +++ b/CRM/Core/Config/MagicMerge.php @@ -168,6 +168,7 @@ class CRM_Core_Config_MagicMerge { 'maxFileSize' => ['setting'], // renamed. 'maxAttachments' => ['setting', 'max_attachments'], + 'maxAttachmentsBackend' => ['setting', 'max_attachments_backend'], 'monetaryDecimalPoint' => ['setting'], 'monetaryThousandSeparator' => ['setting'], 'moneyformat' => ['setting'], diff --git a/CRM/Core/Config/Runtime.php b/CRM/Core/Config/Runtime.php index d64c5ce5f9..da2abcec7b 100644 --- a/CRM/Core/Config/Runtime.php +++ b/CRM/Core/Config/Runtime.php @@ -163,6 +163,8 @@ class CRM_Core_Config_Runtime extends CRM_Core_Config_MagicMerge { \CRM_Utils_Array::value('HTTP_HOST', $_SERVER, ''), // e.g. port-based vhosts \CRM_Utils_Array::value('SERVER_PORT', $_SERVER, ''), + // e.g. unit testing + defined('CIVICRM_TEST') ? 1 : 0, // Depending on deployment arch, these signals *could* be redundant, but who cares? ])); } diff --git a/CRM/Core/DAO/Address.php b/CRM/Core/DAO/Address.php index 96de13e2c4..8e97d3e336 100644 --- a/CRM/Core/DAO/Address.php +++ b/CRM/Core/DAO/Address.php @@ -6,7 +6,7 @@ * * Generated from xml/schema/CRM/Core/Address.xml * DO NOT EDIT. Generated by CRM_Core_CodeGen - * (GenCodeChecksum:e026e63074a6ffc2f4fda166e6ea6b5a) + * (GenCodeChecksum:4e3b66ed828527539c525b2ffc71e606) */ /** @@ -889,6 +889,15 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO { 'localizable' => FALSE, 'sig' => 'civicrm_address::0::city', ], + 'index_geo_code_1_geo_code_2' => [ + 'name' => 'index_geo_code_1_geo_code_2', + 'field' => [ + 0 => 'geo_code_1', + 1 => 'geo_code_2', + ], + 'localizable' => FALSE, + 'sig' => 'civicrm_address::0::geo_code_1::geo_code_2', + ], ]; return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices; } diff --git a/CRM/Core/DAO/StatusPreference.php b/CRM/Core/DAO/StatusPreference.php index 3e2bf54ec0..1cbbc92187 100644 --- a/CRM/Core/DAO/StatusPreference.php +++ b/CRM/Core/DAO/StatusPreference.php @@ -6,7 +6,7 @@ * * Generated from xml/schema/CRM/Core/StatusPreference.xml * DO NOT EDIT. Generated by CRM_Core_CodeGen - * (GenCodeChecksum:bb8e5ce5e19462083928dc256fe1ebf2) + * (GenCodeChecksum:ce861431549af8024fdbfe418607202f) */ /** @@ -77,6 +77,13 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO { */ public $check_info; + /** + * Is this status check active? + * + * @var bool + */ + public $is_active; + /** * Class constructor. */ @@ -211,6 +218,18 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO { 'bao' => 'CRM_Core_BAO_StatusPreference', 'localizable' => 0, ], + 'is_active' => [ + 'name' => 'is_active', + 'type' => CRM_Utils_Type::T_BOOLEAN, + 'title' => ts('Check Is Active'), + 'description' => ts('Is this status check active?'), + 'where' => 'civicrm_status_pref.is_active', + 'default' => '1', + 'table_name' => 'civicrm_status_pref', + 'entity' => 'StatusPreference', + 'bao' => 'CRM_Core_BAO_StatusPreference', + 'localizable' => 0, + ], ]; CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']); } diff --git a/CRM/Core/Form.php b/CRM/Core/Form.php index db02ed542a..5f61bbd296 100644 --- a/CRM/Core/Form.php +++ b/CRM/Core/Form.php @@ -862,8 +862,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page { $params = array_merge($params, $addressParams); } - // @fixme it would be really nice to have a comment here so I had a clue why we are setting $fields[$name] = 1 - // Also how does relate to similar code in CRM_Contact_BAO_Contact::addBillingNameFieldsIfOtherwiseNotSet() + // How does this relate to similar code in CRM_Contact_BAO_Contact::addBillingNameFieldsIfOtherwiseNotSet()? $nameFields = ['first_name', 'middle_name', 'last_name']; foreach ($nameFields as $name) { if (array_key_exists("billing_$name", $params)) { @@ -871,6 +870,16 @@ class CRM_Core_Form extends HTML_QuickForm_Page { $params['preserveDBName'] = TRUE; } } + + // 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); + } + + // Assign IP address parameter + $params['ip_address'] = CRM_Utils_System::ipAddress(); + return $params; } diff --git a/CRM/Core/Form/Search.php b/CRM/Core/Form/Search.php index 7fab1da759..50499e9a51 100644 --- a/CRM/Core/Form/Search.php +++ b/CRM/Core/Form/Search.php @@ -129,7 +129,7 @@ class CRM_Core_Form_Search extends CRM_Core_Form { * * @return array|NULL * reference to the array of default values - * @throws \Exception + * @throws \CRM_Core_Exception */ public function setDefaultValues() { $defaults = (array) $this->_formValues; @@ -145,12 +145,7 @@ class CRM_Core_Form_Search extends CRM_Core_Form { * @throws \Exception */ protected function setFormValues() { - if (!empty($_POST) && !$this->_force) { - $this->_formValues = $this->controller->exportValues($this->_name); - } - elseif ($this->_force) { - $this->_formValues = $this->setDefaultValues(); - } + $this->_formValues = $this->getFormValues(); $this->convertTextStringsToUseLikeOperator(); } @@ -477,4 +472,44 @@ class CRM_Core_Form_Search extends CRM_Core_Form { } } + /** + * Get the form values. + * + * @todo consolidate with loadFormValues() + * + * @return array + * + * @throws \CRM_Core_Exception + */ + protected function getFormValues() { + if (!empty($_POST) && !$this->_force) { + return $this->controller->exportValues($this->_name); + } + if ($this->_force) { + return $this->setDefaultValues(); + } + return (array) $this->get('formValues'); + } + + /** + * Set the metadata for the form. + * + * @throws \CiviCRM_API3_Exception + */ + protected function setSearchMetadata() {} + + /** + * Handle force=1 in the url. + * + * Search field metadata is normally added in buildForm but we are bypassing that in this flow + * (I've always found the flow kinda confusing & perhaps that is the problem but this mitigates) + * + * @throws \CiviCRM_API3_Exception + */ + protected function handleForcedSearch() { + $this->setSearchMetadata(); + $this->postProcess(); + $this->set('force', 0); + } + } diff --git a/CRM/Core/I18n.php b/CRM/Core/I18n.php index f6ef3f4de1..02557bbb7b 100644 --- a/CRM/Core/I18n.php +++ b/CRM/Core/I18n.php @@ -326,6 +326,7 @@ class CRM_Core_I18n { * The params of the translation (if any). * - domain: string|array a list of translation domains to search (in order) * - context: string + * - skip_translation: flag (do only escape/replacement, skip the actual translation) * * @return string * the translated string @@ -378,24 +379,26 @@ class CRM_Core_I18n { $raw = !empty($params['raw']); unset($params['raw']); - if (!empty($domain)) { - // It might be prettier to cast to an array, but this is high-traffic stuff. - if (is_array($domain)) { - foreach ($domain as $d) { - $candidate = $this->crm_translate_raw($text, $d, $count, $plural, $context); - if ($candidate != $text) { - $text = $candidate; - break; + if (!isset($params['skip_translation'])) { + if (!empty($domain)) { + // It might be prettier to cast to an array, but this is high-traffic stuff. + if (is_array($domain)) { + foreach ($domain as $d) { + $candidate = $this->crm_translate_raw($text, $d, $count, $plural, $context); + if ($candidate != $text) { + $text = $candidate; + break; + } } } + else { + $text = $this->crm_translate_raw($text, $domain, $count, $plural, $context); + } } else { - $text = $this->crm_translate_raw($text, $domain, $count, $plural, $context); + $text = $this->crm_translate_raw($text, NULL, $count, $plural, $context); } } - else { - $text = $this->crm_translate_raw($text, NULL, $count, $plural, $context); - } // replace the numbered %1, %2, etc. params if present if (count($params) && !$raw) { @@ -768,7 +771,7 @@ class CRM_Core_I18n { * the translated string */ function ts($text, $params = []) { - static $areSettingsAvailable = FALSE; + static $bootstrapReady = FALSE; static $lastLocale = NULL; static $i18n = NULL; static $function = NULL; @@ -778,14 +781,19 @@ function ts($text, $params = []) { } // When the settings become available, lookup customTranslateFunction. - if (!$areSettingsAvailable) { - $areSettingsAvailable = (bool) \Civi\Core\Container::getBootService('settings_manager'); - if ($areSettingsAvailable) { + if (!$bootstrapReady) { + $bootstrapReady = (bool) \Civi\Core\Container::isContainerBooted(); + if ($bootstrapReady) { + // just got ready: determine whether there is a working custom translation function $config = CRM_Core_Config::singleton(); if (isset($config->customTranslateFunction) and function_exists($config->customTranslateFunction)) { $function = $config->customTranslateFunction; } } + else { + // don't _translate_ anything until bootstrap has progressed enough + $params['skip_translation'] = 1; + } } $activeLocale = CRM_Core_I18n::getLocale(); diff --git a/CRM/Core/I18n/SchemaStructure.php b/CRM/Core/I18n/SchemaStructure.php index 899d844231..a093cbbff5 100644 --- a/CRM/Core/I18n/SchemaStructure.php +++ b/CRM/Core/I18n/SchemaStructure.php @@ -123,6 +123,7 @@ class CRM_Core_I18n_SchemaStructure { 'receipt_from_name' => "varchar(255) COMMENT 'FROM email name used for receipts generated by contributions to this contribution page.'", 'receipt_text' => "text COMMENT 'text to include above standard receipt info on receipt email. emails are text-only, so do not allow html for now'", 'footer_text' => "text COMMENT 'Text and html allowed. Displayed at the bottom of the first page of the contribution wizard.'", + 'frontend_title' => "varchar(255) DEFAULT NULL COMMENT 'Contribution Page Public title'", ], 'civicrm_product' => [ 'name' => "varchar(255) NOT NULL COMMENT 'Required product/premium name'", @@ -476,6 +477,9 @@ class CRM_Core_I18n_SchemaStructure { 'rows' => "6", 'cols' => "50", ], + 'frontend_title' => [ + 'type' => "Text", + ], ], 'civicrm_product' => [ 'name' => [ diff --git a/CRM/Core/I18n/SchemaStructure_5_20_alpha1.php b/CRM/Core/I18n/SchemaStructure_5_20_alpha1.php new file mode 100644 index 0000000000..d7bf2afbfb --- /dev/null +++ b/CRM/Core/I18n/SchemaStructure_5_20_alpha1.php @@ -0,0 +1,726 @@ + [ + 'display_name' => "varchar(64) COMMENT 'Location Type Display Name.'", + ], + 'civicrm_option_group' => [ + 'title' => "varchar(255) COMMENT 'Option Group title.'", + 'description' => "varchar(255) COMMENT 'Option group description.'", + ], + 'civicrm_relationship_type' => [ + 'label_a_b' => "varchar(64) COMMENT 'label for relationship of contact_a to contact_b.'", + 'label_b_a' => "varchar(64) COMMENT 'Optional label for relationship of contact_b to contact_a.'", + 'description' => "varchar(255) COMMENT 'Optional verbose description of the relationship type.'", + ], + 'civicrm_contact_type' => [ + 'label' => "varchar(64) COMMENT 'localized Name of Contact Type.'", + 'description' => "text COMMENT 'localized Optional verbose description of the type.'", + ], + 'civicrm_batch' => [ + 'title' => "varchar(255) COMMENT 'Friendly Name.'", + 'description' => "text COMMENT 'Description of this batch set.'", + ], + 'civicrm_premiums' => [ + 'premiums_intro_title' => "varchar(255) COMMENT 'Title for Premiums section.'", + 'premiums_intro_text' => "text COMMENT 'Displayed in
at top of Premiums section of page. Text and HTML allowed.'", + 'premiums_nothankyou_label' => "varchar(255) COMMENT 'Label displayed for No Thank-you option in premiums block (e.g. No thank you)'", + ], + 'civicrm_membership_status' => [ + 'label' => "varchar(128) COMMENT 'Label for Membership Status'", + ], + 'civicrm_survey' => [ + 'title' => "varchar(255) NOT NULL COMMENT 'Title of the Survey.'", + 'instructions' => "text COMMENT 'Script instructions for volunteers to use for the survey.'", + 'thankyou_title' => "varchar(255) COMMENT 'Title for Thank-you page (header title tag, and display at the top of the page).'", + 'thankyou_text' => "text COMMENT 'text and html allowed. displayed above result on success page'", + ], + 'civicrm_participant_status_type' => [ + 'label' => "varchar(255) COMMENT 'localized label for display of this status type'", + ], + 'civicrm_case_type' => [ + 'title' => "varchar(64) NOT NULL COMMENT 'Natural language name for Case Type'", + 'description' => "varchar(255) COMMENT 'Description of the Case Type'", + ], + 'civicrm_tell_friend' => [ + 'title' => "varchar(255)", + 'intro' => "text COMMENT 'Introductory message to contributor or participant displayed on the Tell a Friend form.'", + 'suggested_message' => "text COMMENT 'Suggested message to friends, provided as default on the Tell A Friend form.'", + 'thankyou_title' => "varchar(255) COMMENT 'Text for Tell a Friend thank you page header and HTML title.'", + 'thankyou_text' => "text COMMENT 'Thank you message displayed on success page.'", + ], + 'civicrm_custom_group' => [ + 'title' => "varchar(64) NOT NULL COMMENT 'Friendly Name.'", + 'help_pre' => "text COMMENT 'Description and/or help text to display before fields in form.'", + 'help_post' => "text COMMENT 'Description and/or help text to display after fields in form.'", + ], + 'civicrm_custom_field' => [ + 'label' => "varchar(255) NOT NULL COMMENT 'Text for form field label (also friendly name for administering this custom property).'", + 'help_pre' => "text COMMENT 'Description and/or help text to display before this field.'", + 'help_post' => "text COMMENT 'Description and/or help text to display after this field.'", + ], + 'civicrm_option_value' => [ + 'label' => "varchar(512) NOT NULL COMMENT 'Option string as displayed to users - e.g. the label in an HTML OPTION tag.'", + 'description' => "text COMMENT 'Optional description.'", + ], + 'civicrm_group' => [ + 'title' => "varchar(64) COMMENT 'Name of Group.'", + ], + 'civicrm_contribution_page' => [ + 'title' => "varchar(255) COMMENT 'Contribution Page title. For top of page display'", + 'intro_text' => "text COMMENT 'Text and html allowed. Displayed below title.'", + 'pay_later_text' => "text COMMENT 'The text displayed to the user in the main form'", + 'pay_later_receipt' => "text COMMENT 'The receipt sent to the user instead of the normal receipt text'", + 'initial_amount_label' => "varchar(255) COMMENT 'Initial amount label for partial payment'", + 'initial_amount_help_text' => "text COMMENT 'Initial amount help text for partial payment'", + 'thankyou_title' => "varchar(255) COMMENT 'Title for Thank-you page (header title tag, and display at the top of the page).'", + 'thankyou_text' => "text COMMENT 'text and html allowed. displayed above result on success page'", + 'thankyou_footer' => "text COMMENT 'Text and html allowed. displayed at the bottom of the success page. Common usage is to include link(s) to other pages such as tell-a-friend, etc.'", + 'receipt_from_name' => "varchar(255) COMMENT 'FROM email name used for receipts generated by contributions to this contribution page.'", + 'receipt_text' => "text COMMENT 'text to include above standard receipt info on receipt email. emails are text-only, so do not allow html for now'", + 'footer_text' => "text COMMENT 'Text and html allowed. Displayed at the bottom of the first page of the contribution wizard.'", + 'frontend_title' => "varchar(255) COMMENT 'Contribution Page Public title'", + ], + 'civicrm_product' => [ + 'name' => "varchar(255) NOT NULL COMMENT 'Required product/premium name'", + 'description' => "text COMMENT 'Optional description of the product/premium.'", + 'options' => "text COMMENT 'Store comma-delimited list of color, size, etc. options for the product.'", + ], + 'civicrm_payment_processor' => [ + 'title' => "varchar(127) COMMENT 'Payment Processor Descriptive Name.'", + ], + 'civicrm_membership_type' => [ + 'name' => "varchar(128) COMMENT 'Name of Membership Type'", + 'description' => "varchar(255) COMMENT 'Description of Membership Type'", + ], + 'civicrm_membership_block' => [ + 'new_title' => "varchar(255) COMMENT 'Title to display at top of block'", + 'new_text' => "text COMMENT 'Text to display below title'", + 'renewal_title' => "varchar(255) COMMENT 'Title for renewal'", + 'renewal_text' => "text COMMENT 'Text to display for member renewal'", + ], + 'civicrm_price_set' => [ + 'title' => "varchar(255) NOT NULL COMMENT 'Displayed title for the Price Set.'", + 'help_pre' => "text COMMENT 'Description and/or help text to display before fields in form.'", + 'help_post' => "text COMMENT 'Description and/or help text to display after fields in form.'", + ], + 'civicrm_dashboard' => [ + 'label' => "varchar(255) COMMENT 'dashlet title'", + ], + 'civicrm_uf_group' => [ + 'title' => "varchar(64) NOT NULL COMMENT 'Form title.'", + 'frontend_title' => "varchar(64) COMMENT 'Profile Form Public title'", + 'help_pre' => "text COMMENT 'Description and/or help text to display before fields in form.'", + 'help_post' => "text COMMENT 'Description and/or help text to display after fields in form.'", + 'cancel_button_text' => "varchar(64) DEFAULT NULL COMMENT 'Custom Text to display on the Cancel button when used in create or edit mode'", + 'submit_button_text' => "varchar(64) DEFAULT NULL COMMENT 'Custom Text to display on the submit button on profile edit/create screens'", + ], + 'civicrm_uf_field' => [ + 'help_post' => "text COMMENT 'Description and/or help text to display after this field.'", + 'help_pre' => "text COMMENT 'Description and/or help text to display before this field.'", + 'label' => "varchar(255) NOT NULL COMMENT 'To save label for fields.'", + ], + 'civicrm_price_field' => [ + 'label' => "varchar(255) NOT NULL COMMENT 'Text for form field label (also friendly name for administering this field).'", + 'help_pre' => "text COMMENT 'Description and/or help text to display before this field.'", + 'help_post' => "text COMMENT 'Description and/or help text to display after this field.'", + ], + 'civicrm_price_field_value' => [ + 'label' => "varchar(255) COMMENT 'Price field option label'", + 'description' => "text DEFAULT NULL COMMENT 'Price field option description.'", + 'help_pre' => "text DEFAULT NULL COMMENT 'Price field option pre help text.'", + 'help_post' => "text DEFAULT NULL COMMENT 'Price field option post field help.'", + ], + 'civicrm_pcp_block' => [ + 'link_text' => "varchar(255) DEFAULT NULL COMMENT 'Link text for PCP.'", + ], + 'civicrm_event' => [ + 'title' => "varchar(255) COMMENT 'Event Title (e.g. Fall Fundraiser Dinner)'", + 'summary' => "text COMMENT 'Brief summary of event. Text and html allowed. Displayed on Event Registration form and can be used on other CMS pages which need an event summary.'", + 'description' => "text COMMENT 'Full description of event. Text and html allowed. Displayed on built-in Event Information screens.'", + 'registration_link_text' => "varchar(255) COMMENT 'Text for link to Event Registration form which is displayed on Event Information screen when is_online_registration is true.'", + 'event_full_text' => "text COMMENT 'Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address/info about getting on a waiting list, etc. Text and html allowed.'", + 'fee_label' => "varchar(255)", + 'intro_text' => "text COMMENT 'Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.'", + 'footer_text' => "text COMMENT 'Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.'", + 'confirm_title' => "varchar(255) DEFAULT NULL COMMENT 'Title for Confirmation page.'", + 'confirm_text' => "text COMMENT 'Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.'", + 'confirm_footer_text' => "text COMMENT 'Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.'", + 'confirm_email_text' => "text COMMENT 'text to include above standard event info on confirmation email. emails are text-only, so do not allow html for now'", + 'confirm_from_name' => "varchar(255) COMMENT 'FROM email name used for confirmation emails.'", + 'thankyou_title' => "varchar(255) DEFAULT NULL COMMENT 'Title for ThankYou page.'", + 'thankyou_text' => "text COMMENT 'ThankYou Text.'", + 'thankyou_footer_text' => "text COMMENT 'Footer message.'", + 'pay_later_text' => "text COMMENT 'The text displayed to the user in the main form'", + 'pay_later_receipt' => "text COMMENT 'The receipt sent to the user instead of the normal receipt text'", + 'initial_amount_label' => "varchar(255) COMMENT 'Initial amount label for partial payment'", + 'initial_amount_help_text' => "text COMMENT 'Initial amount help text for partial payment'", + 'waitlist_text' => "text COMMENT 'Text to display when the event is full, but participants can signup for a waitlist.'", + 'approval_req_text' => "text COMMENT 'Text to display when the approval is required to complete registration for an event.'", + 'template_title' => "varchar(255) COMMENT 'Event Template Title'", + ], + ]; + } + return $result; + } + + /** + * Get a table indexed array of the indices for translatable fields. + * + * @return array + * Indices for translatable fields. + */ + public static function &indices() { + static $result = NULL; + if (!$result) { + $result = [ + 'civicrm_custom_group' => [ + 'UI_title_extends' => [ + 'name' => 'UI_title_extends', + 'field' => [ + 'title', + 'extends', + ], + 'unique' => 1, + ], + ], + 'civicrm_custom_field' => [ + 'UI_label_custom_group_id' => [ + 'name' => 'UI_label_custom_group_id', + 'field' => [ + 'label', + 'custom_group_id', + ], + 'unique' => 1, + ], + ], + 'civicrm_group' => [ + 'UI_title' => [ + 'name' => 'UI_title', + 'field' => [ + 'title', + ], + 'unique' => 1, + ], + ], + ]; + } + return $result; + } + + /** + * Get tables with translatable fields. + * + * @return array + * Array of names of tables with fields that can be translated. + */ + public static function &tables() { + static $result = NULL; + if (!$result) { + $result = array_keys(self::columns()); + } + return $result; + } + + /** + * Get a list of widgets for editing translatable fields. + * + * @return array + * Array of the widgets for editing translatable fields. + */ + public static function &widgets() { + static $result = NULL; + if (!$result) { + $result = [ + 'civicrm_location_type' => [ + 'display_name' => [ + 'type' => "Text", + ], + ], + 'civicrm_option_group' => [ + 'title' => [ + 'type' => "Text", + ], + 'description' => [ + 'type' => "Text", + ], + ], + 'civicrm_relationship_type' => [ + 'label_a_b' => [ + 'type' => "Text", + ], + 'label_b_a' => [ + 'type' => "Text", + ], + 'description' => [ + 'type' => "Text", + ], + ], + 'civicrm_contact_type' => [ + 'label' => [ + 'type' => "Text", + ], + 'description' => [ + 'type' => "TextArea", + 'rows' => "2", + 'cols' => "60", + ], + ], + 'civicrm_batch' => [ + 'title' => [ + 'type' => "Text", + ], + 'description' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "80", + ], + ], + 'civicrm_premiums' => [ + 'premiums_intro_title' => [ + 'type' => "Text", + ], + 'premiums_intro_text' => [ + 'type' => "Text", + ], + 'premiums_nothankyou_label' => [ + 'type' => "Text", + ], + ], + 'civicrm_membership_status' => [ + 'label' => [ + 'type' => "Text", + ], + ], + 'civicrm_survey' => [ + 'title' => [ + 'type' => "Text", + 'required' => "true", + ], + 'instructions' => [ + 'type' => "TextArea", + 'rows' => "20", + 'cols' => "80", + ], + 'thankyou_title' => [ + 'type' => "Text", + ], + 'thankyou_text' => [ + 'type' => "TextArea", + 'rows' => "8", + 'cols' => "60", + ], + ], + 'civicrm_participant_status_type' => [ + 'label' => [ + 'type' => "Text", + ], + ], + 'civicrm_case_type' => [ + 'title' => [ + 'type' => "Text", + 'required' => "true", + ], + 'description' => [ + 'type' => "Text", + ], + ], + 'civicrm_tell_friend' => [ + 'title' => [ + 'type' => "Text", + ], + 'intro' => [ + 'type' => "Text", + ], + 'suggested_message' => [ + 'type' => "Text", + ], + 'thankyou_title' => [ + 'type' => "Text", + ], + 'thankyou_text' => [ + 'type' => "Text", + ], + ], + 'civicrm_custom_group' => [ + 'title' => [ + 'type' => "Text", + 'required' => "true", + ], + 'help_pre' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "80", + ], + 'help_post' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "80", + ], + ], + 'civicrm_custom_field' => [ + 'label' => [ + 'type' => "Text", + 'required' => "true", + ], + 'help_pre' => [ + 'type' => "Text", + ], + 'help_post' => [ + 'type' => "Text", + ], + ], + 'civicrm_option_value' => [ + 'label' => [ + 'type' => "Text", + 'required' => "true", + ], + 'description' => [ + 'type' => "TextArea", + 'rows' => "8", + 'cols' => "60", + ], + ], + 'civicrm_group' => [ + 'title' => [ + 'type' => "Text", + ], + ], + 'civicrm_contribution_page' => [ + 'title' => [ + 'type' => "Text", + ], + 'intro_text' => [ + 'type' => "RichTextEditor", + 'rows' => "6", + 'cols' => "50", + ], + 'pay_later_text' => [ + 'type' => "Text", + ], + 'pay_later_receipt' => [ + 'type' => "Text", + ], + 'initial_amount_label' => [ + 'type' => "Text", + ], + 'initial_amount_help_text' => [ + 'type' => "Text", + ], + 'thankyou_title' => [ + 'type' => "Text", + ], + 'thankyou_text' => [ + 'type' => "RichTextEditor", + 'rows' => "8", + 'cols' => "60", + ], + 'thankyou_footer' => [ + 'type' => "RichTextEditor", + 'rows' => "8", + 'cols' => "60", + ], + 'receipt_from_name' => [ + 'type' => "Text", + ], + 'receipt_text' => [ + 'type' => "TextArea", + 'rows' => "6", + 'cols' => "50", + ], + 'footer_text' => [ + 'type' => "RichTextEditor", + 'rows' => "6", + 'cols' => "50", + ], + 'frontend_title' => [ + 'type' => "Text", + ], + ], + 'civicrm_product' => [ + 'name' => [ + 'type' => "Text", + 'required' => "true", + ], + 'description' => [ + 'type' => "Text", + ], + 'options' => [ + 'type' => "Text", + ], + ], + 'civicrm_payment_processor' => [ + 'title' => [ + 'type' => "Text", + ], + ], + 'civicrm_membership_type' => [ + 'name' => [ + 'type' => "Text", + 'label' => "Name", + ], + 'description' => [ + 'type' => "TextArea", + 'rows' => "6", + 'cols' => "50", + 'label' => "Description", + ], + ], + 'civicrm_membership_block' => [ + 'new_title' => [ + 'type' => "Text", + ], + 'new_text' => [ + 'type' => "Text", + ], + 'renewal_title' => [ + 'type' => "Text", + ], + 'renewal_text' => [ + 'type' => "Text", + ], + ], + 'civicrm_price_set' => [ + 'title' => [ + 'type' => "Text", + 'required' => "true", + ], + 'help_pre' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "80", + ], + 'help_post' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "80", + ], + ], + 'civicrm_dashboard' => [ + 'label' => [ + 'type' => "Text", + ], + ], + 'civicrm_uf_group' => [ + 'title' => [ + 'type' => "Text", + 'required' => "true", + ], + 'frontend_title' => [ + 'type' => "Text", + ], + 'help_pre' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "80", + ], + 'help_post' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "80", + ], + 'cancel_button_text' => [ + 'type' => "Text", + ], + 'submit_button_text' => [ + 'type' => "Text", + ], + ], + 'civicrm_uf_field' => [ + 'help_post' => [ + 'type' => "Text", + ], + 'help_pre' => [ + 'type' => "Text", + ], + 'label' => [ + 'type' => "Text", + 'required' => "true", + ], + ], + 'civicrm_price_field' => [ + 'label' => [ + 'type' => "Text", + 'required' => "true", + ], + 'help_pre' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "80", + ], + 'help_post' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "80", + ], + ], + 'civicrm_price_field_value' => [ + 'label' => [ + 'type' => "Text", + ], + 'description' => [ + 'type' => "TextArea", + 'rows' => "2", + 'cols' => "60", + ], + 'help_pre' => [ + 'type' => "TextArea", + 'rows' => "2", + 'cols' => "60", + ], + 'help_post' => [ + 'type' => "TextArea", + 'rows' => "2", + 'cols' => "60", + ], + ], + 'civicrm_pcp_block' => [ + 'link_text' => [ + 'type' => "Text", + ], + ], + 'civicrm_event' => [ + 'title' => [ + 'type' => "Text", + ], + 'summary' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "60", + ], + 'description' => [ + 'type' => "RichTextEditor", + 'rows' => "8", + 'cols' => "60", + ], + 'registration_link_text' => [ + 'type' => "Text", + ], + 'event_full_text' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "60", + ], + 'fee_label' => [ + 'type' => "Text", + ], + 'intro_text' => [ + 'type' => "RichTextEditor", + 'rows' => "6", + 'cols' => "50", + ], + 'footer_text' => [ + 'type' => "RichTextEditor", + 'rows' => "6", + 'cols' => "50", + ], + 'confirm_title' => [ + 'type' => "Text", + ], + 'confirm_text' => [ + 'type' => "RichTextEditor", + 'rows' => "6", + 'cols' => "50", + ], + 'confirm_footer_text' => [ + 'type' => "RichTextEditor", + 'rows' => "6", + 'cols' => "50", + ], + 'confirm_email_text' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "50", + ], + 'confirm_from_name' => [ + 'type' => "Text", + ], + 'thankyou_title' => [ + 'type' => "Text", + ], + 'thankyou_text' => [ + 'type' => "RichTextEditor", + 'rows' => "6", + 'cols' => "50", + ], + 'thankyou_footer_text' => [ + 'type' => "RichTextEditor", + 'rows' => "6", + 'cols' => "50", + ], + 'pay_later_text' => [ + 'type' => "RichTextEditor", + ], + 'pay_later_receipt' => [ + 'type' => "Text", + ], + 'initial_amount_label' => [ + 'type' => "Text", + ], + 'initial_amount_help_text' => [ + 'type' => "Text", + ], + 'waitlist_text' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "60", + ], + 'approval_req_text' => [ + 'type' => "TextArea", + 'rows' => "4", + 'cols' => "60", + ], + 'template_title' => [ + 'type' => "Text", + ], + ], + ]; + } + return $result; + } + +} diff --git a/CRM/Core/IDS.php b/CRM/Core/IDS.php index b43f262669..10bfa7216b 100644 --- a/CRM/Core/IDS.php +++ b/CRM/Core/IDS.php @@ -126,7 +126,7 @@ class CRM_Core_IDS { 'filter_type' => 'xml', 'filter_path' => "{$civicrm_root}/packages/IDS/default_filter.xml", 'tmp_path' => $tmpDir, - 'HTML_Purifier_Path' => $civicrm_root . 'packages/IDS/vendors/htmlpurifer/HTMLPurifier.auto.php', + 'HTML_Purifier_Path' => $civicrm_root . 'packages/IDS/vendors/htmlpurifier/HTMLPurifier.auto.php', 'HTML_Purifier_Cache' => $tmpDir, 'scan_keys' => '', 'exceptions' => ['__utmz', '__utmc'], diff --git a/CRM/Core/PseudoConstant.php b/CRM/Core/PseudoConstant.php index 14e2e7fcf2..cb5f8d1759 100644 --- a/CRM/Core/PseudoConstant.php +++ b/CRM/Core/PseudoConstant.php @@ -1454,6 +1454,7 @@ WHERE id = %1 */ public static function &getExtensions() { if (!self::$extensions) { + $compat = CRM_Extension_System::getCompatibilityInfo(); self::$extensions = []; $sql = ' SELECT full_name, label @@ -1462,6 +1463,9 @@ WHERE id = %1 '; $dao = CRM_Core_DAO::executeQuery($sql); while ($dao->fetch()) { + if (!empty($compat[$dao->full_name]['force-uninstall'])) { + continue; + } self::$extensions[$dao->full_name] = $dao->label; } } diff --git a/CRM/Core/xml/Menu/Api4.xml b/CRM/Core/xml/Menu/Api4.xml new file mode 100644 index 0000000000..1973f23437 --- /dev/null +++ b/CRM/Core/xml/Menu/Api4.xml @@ -0,0 +1,14 @@ + + + + civicrm/ajax/api4 + CRM_Api4_Page_AJAX + access CiviCRM + + + civicrm/api4 + CRM_Api4_Page_Api4Explorer + CiviCRM + access CiviCRM + + diff --git a/CRM/Event/BAO/Event.php b/CRM/Event/BAO/Event.php index 09f06ac9cc..ec9d0e6b48 100644 --- a/CRM/Event/BAO/Event.php +++ b/CRM/Event/BAO/Event.php @@ -1143,6 +1143,15 @@ WHERE civicrm_event.is_active = 1 // @todo - the goal is that all params available to the message template are explicitly defined here rather than // 'in a smattering of places'. Note that leakage can happen between mailings when not explicitly defined. + if ($postProfileID) { + $customPostTitles = empty($profilePost[1]) ? NULL : []; + foreach ($postProfileID as $offset => $id) { + $customPostTitles[$offset] = CRM_Core_BAO_UFGroup::getFrontEndTitle((int) $id); + } + } + else { + $customPostTitles = NULL; + } $tplParams = array_merge($values, $participantParams, [ 'email' => $email, 'confirm_email_text' => CRM_Utils_Array::value('confirm_email_text', $values['event']), @@ -1152,7 +1161,7 @@ WHERE civicrm_event.is_active = 1 'customPre' => $profilePre[0], 'customPre_grouptitle' => empty($profilePre[1]) ? NULL : [CRM_Core_BAO_UFGroup::getFrontEndTitle((int) $preProfileID)], 'customPost' => $profilePost[0], - 'customPost_grouptitle' => empty($profilePost[1]) ? NULL : [CRM_Core_BAO_UFGroup::getFrontEndTitle((int) $postProfileID)], + 'customPost_grouptitle' => $customPostTitles, 'participantID' => $participantId, 'conference_sessions' => $sessions, 'credit_card_number' => CRM_Utils_System::mungeCreditCard(CRM_Utils_Array::value('credit_card_number', $participantParams)), diff --git a/CRM/Event/Cart/Form/Checkout/Payment.php b/CRM/Event/Cart/Form/Checkout/Payment.php index ece09d61d1..5c6ec96fff 100644 --- a/CRM/Event/Cart/Form/Checkout/Payment.php +++ b/CRM/Event/Cart/Form/Checkout/Payment.php @@ -597,21 +597,12 @@ class CRM_Event_Cart_Form_Checkout_Payment extends CRM_Event_Cart_Form_Cart { * @throws Exception */ public function make_payment(&$params) { - $config = CRM_Core_Config::singleton(); - if (isset($params["billing_state_province_id-{$this->_bltID}"]) && $params["billing_state_province_id-{$this->_bltID}"]) { - $params["billing_state_province-{$this->_bltID}"] = CRM_Core_PseudoConstant::stateProvinceAbbreviation($params["billing_state_province_id-{$this->_bltID}"]); - } - - if (isset($params["billing_country_id-{$this->_bltID}"]) && $params["billing_country_id-{$this->_bltID}"]) { - $params["billing_country-{$this->_bltID}"] = CRM_Core_PseudoConstant::countryIsoCode($params["billing_country_id-{$this->_bltID}"]); - } - $params['ip_address'] = CRM_Utils_System::ipAddress(); - $params['currencyID'] = $config->defaultCurrency; + $params = $this->prepareParamsForPaymentProcessor($params); + $params['currencyID'] = CRM_Core_Config::singleton()->defaultCurrency; $payment = Civi\Payment\System::singleton()->getByProcessor($this->_paymentProcessor); CRM_Core_Payment_Form::mapParams($this->_bltID, $params, $params, TRUE); - $params['month'] = $params['credit_card_exp_date']['M']; - $params['year'] = $params['credit_card_exp_date']['Y']; + try { $result = $payment->doPayment($params); } diff --git a/CRM/Event/Form/ManageEvent/Location.php b/CRM/Event/Form/ManageEvent/Location.php index 7e2c8a8889..3573106ad5 100644 --- a/CRM/Event/Form/ManageEvent/Location.php +++ b/CRM/Event/Form/ManageEvent/Location.php @@ -262,8 +262,7 @@ class CRM_Event_Form_ManageEvent_Location extends CRM_Event_Form_ManageEvent { } // create/update event location - $location = CRM_Core_BAO_Location::create($params, TRUE, 'event'); - $params['loc_block_id'] = $location['id']; + $params['loc_block_id'] = CRM_Core_BAO_Location::create($params, TRUE, 'event')['id']; // finally update event params $params['id'] = $this->_id; diff --git a/CRM/Event/Form/Participant.php b/CRM/Event/Form/Participant.php index bc1d548dee..dbb46acb79 100644 --- a/CRM/Event/Form/Participant.php +++ b/CRM/Event/Form/Participant.php @@ -1228,9 +1228,7 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment if ($this->_mode) { // add all the additional payment params we need - $this->_params["state_province-{$this->_bltID}"] = $this->_params["billing_state_province-{$this->_bltID}"] = CRM_Core_PseudoConstant::stateProvinceAbbreviation($this->_params["billing_state_province_id-{$this->_bltID}"]); - $this->_params["country-{$this->_bltID}"] = $this->_params["billing_country-{$this->_bltID}"] = CRM_Core_PseudoConstant::countryIsoCode($this->_params["billing_country_id-{$this->_bltID}"]); - + $this->_params = $this->prepareParamsForPaymentProcessor($this->_params); $this->_params['amount'] = $params['fee_amount']; $this->_params['amount_level'] = $params['amount_level']; $this->_params['currencyID'] = $config->defaultCurrency; @@ -1483,8 +1481,6 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment $ppDAO->save(); } } - // next create the transaction record - $transaction = new CRM_Core_Transaction(); // CRM-11124 if ($this->_params['discount_id']) { @@ -1495,7 +1491,6 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment CRM_Price_BAO_PriceSet::parseFirstPriceSetValueIDFromParams($this->_params) ); } - $transaction->commit(); } } diff --git a/CRM/Event/Form/Registration.php b/CRM/Event/Form/Registration.php index 48fb9ed91c..c313e911d9 100644 --- a/CRM/Event/Form/Registration.php +++ b/CRM/Event/Form/Registration.php @@ -694,12 +694,10 @@ class CRM_Event_Form_Registration extends CRM_Core_Form { * Handle process after the confirmation of payment by User. * * @param int $contactID - * @param null $contribution - * @param null $payment + * @param \CRM_Contribute_BAO_Contribution $contribution */ - public function confirmPostProcess($contactID = NULL, $contribution = NULL, $payment = NULL) { + public function confirmPostProcess($contactID = NULL, $contribution = NULL) { // add/update contact information - $fields = array(); unset($this->_params['note']); //to avoid conflict overwrite $this->_params @@ -1595,7 +1593,7 @@ class CRM_Event_Form_Registration extends CRM_Core_Form { } $this->set('value', $value); - $this->confirmPostProcess($contactID, NULL, NULL); + $this->confirmPostProcess($contactID, NULL); //lets get additional participant id to cancel. if ($this->_allowConfirmation && is_array($cancelledIds)) { diff --git a/CRM/Event/Form/Registration/Confirm.php b/CRM/Event/Form/Registration/Confirm.php index 18e9ca607c..65d6560c50 100644 --- a/CRM/Event/Form/Registration/Confirm.php +++ b/CRM/Event/Form/Registration/Confirm.php @@ -90,21 +90,9 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration { if (!$this->preProcessExpress()) { //process only primary participant params. $registerParams = $this->_params[0]; - if (isset($registerParams["billing_state_province_id-{$this->_bltID}"]) - && $registerParams["billing_state_province_id-{$this->_bltID}"] - ) { - $registerParams["billing_state_province-{$this->_bltID}"] = CRM_Core_PseudoConstant::stateProvinceAbbreviation($registerParams["billing_state_province_id-{$this->_bltID}"]); - } + $registerParams = $this->prepareParamsForPaymentProcessor($registerParams); - if (isset($registerParams["billing_country_id-{$this->_bltID}"]) && $registerParams["billing_country_id-{$this->_bltID}"]) { - $registerParams["billing_country-{$this->_bltID}"] = CRM_Core_PseudoConstant::countryIsoCode($registerParams["billing_country_id-{$this->_bltID}"]); - } - if (isset($registerParams['credit_card_exp_date'])) { - $registerParams['year'] = CRM_Core_Payment_Form::getCreditCardExpirationYear($registerParams); - $registerParams['month'] = CRM_Core_Payment_Form::getCreditCardExpirationMonth($registerParams); - } if ($this->_values['event']['is_monetary']) { - $registerParams['ip_address'] = CRM_Utils_System::ipAddress(); $registerParams['currencyID'] = $this->_params[0]['currencyID']; } //assign back primary participant params. @@ -472,7 +460,6 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration { $payment = $registerByID = $primaryCurrencyID = $contribution = NULL; $paymentObjError = ts('The system did not record payment details for this payment and so could not process the transaction. Please report this error to the site administrator.'); - $this->participantIDS = []; $fields = []; foreach ($params as $key => $value) { CRM_Event_Form_Registration_Confirm::fixLocationFields($value, $fields, $this); @@ -674,7 +661,7 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration { } $this->assign('register_date', $registerDate); - $this->confirmPostProcess($contactID, $contribution, $payment); + $this->confirmPostProcess($contactID, $contribution); } //handle if no additional participant. @@ -1196,13 +1183,13 @@ class CRM_Event_Form_Registration_Confirm extends CRM_Event_Form_Registration { } //get email primary first if exist - $subscribtionEmail = ['email' => CRM_Utils_Array::value('email-Primary', $params)]; - if (!$subscribtionEmail['email']) { - $subscribtionEmail['email'] = CRM_Utils_Array::value("email-{$form->_bltID}", $params); + $subscriptionEmail = ['email' => CRM_Utils_Array::value('email-Primary', $params)]; + if (!$subscriptionEmail['email']) { + $subscriptionEmail['email'] = CRM_Utils_Array::value("email-{$form->_bltID}", $params); } // subscribing contact to groups - if (!empty($subscribeGroupIds) && $subscribtionEmail['email']) { - CRM_Mailing_Event_BAO_Subscribe::commonSubscribe($subscribeGroupIds, $subscribtionEmail, $contactID); + if (!empty($subscribeGroupIds) && $subscriptionEmail['email']) { + CRM_Mailing_Event_BAO_Subscribe::commonSubscribe($subscribeGroupIds, $subscriptionEmail, $contactID); } return $contactID; diff --git a/CRM/Event/Form/Registration/Register.php b/CRM/Event/Form/Registration/Register.php index 77297e325a..bb69047bc3 100644 --- a/CRM/Event/Form/Registration/Register.php +++ b/CRM/Event/Form/Registration/Register.php @@ -1105,23 +1105,9 @@ class CRM_Event_Form_Registration_Register extends CRM_Event_Form_Registration { $this->set('contributeMode', 'direct'); // This code is duplicated multiple places and should be consolidated. - if (isset($params["state_province_id-{$this->_bltID}"]) && - $params["state_province_id-{$this->_bltID}"] - ) { - $params["state_province-{$this->_bltID}"] = CRM_Core_PseudoConstant::stateProvinceAbbreviation($params["state_province_id-{$this->_bltID}"]); - } + $params = $this->prepareParamsForPaymentProcessor($params); - if (isset($params["country_id-{$this->_bltID}"]) && - $params["country_id-{$this->_bltID}"] - ) { - $params["country-{$this->_bltID}"] = CRM_Core_PseudoConstant::countryIsoCode($params["country_id-{$this->_bltID}"]); - } - if (isset($params['credit_card_exp_date'])) { - $params['year'] = CRM_Core_Payment_Form::getCreditCardExpirationYear($params); - $params['month'] = CRM_Core_Payment_Form::getCreditCardExpirationMonth($params); - } if ($this->_values['event']['is_monetary']) { - $params['ip_address'] = CRM_Utils_System::ipAddress(); $params['currencyID'] = $config->defaultCurrency; $params['invoiceID'] = $invoiceID; } diff --git a/CRM/Export/BAO/Export.php b/CRM/Export/BAO/Export.php index a95df716d8..1541cb9e8e 100644 --- a/CRM/Export/BAO/Export.php +++ b/CRM/Export/BAO/Export.php @@ -128,6 +128,9 @@ INSERT INTO {$componentTable} SELECT distinct gc.contact_id FROM civicrm_group_c if ($processor->isMergeSameAddress()) { foreach (array_keys($processor->getAdditionalFieldsForSameAddressMerge()) as $field) { + if ($field === 'id') { + $field = 'civicrm_primary_id'; + } $processor->setColumnAsCalculationOnly($field); } } diff --git a/CRM/Export/BAO/ExportProcessor.php b/CRM/Export/BAO/ExportProcessor.php index b46e41e283..9a5d5f92c8 100644 --- a/CRM/Export/BAO/ExportProcessor.php +++ b/CRM/Export/BAO/ExportProcessor.php @@ -173,7 +173,7 @@ class CRM_Export_BAO_ExportProcessor { $fields = ['is_deceased', 'do_not_mail', 'street_address', 'supplemental_address_1']; foreach ($fields as $index => $field) { if (!empty($this->getReturnProperties()[$field])) { - unset($field[$index]); + unset($fields[$index]); } } $this->additionalFieldsForPostalExport = array_fill_keys($fields, 1); @@ -803,7 +803,7 @@ class CRM_Export_BAO_ExportProcessor { $addressWhere .= " OR civicrm_address.supplemental_address_1 <> ''"; } } - $whereClauses['address'] = $addressWhere; + $whereClauses['address'] = '(' . $addressWhere . ')'; } } @@ -2376,6 +2376,7 @@ WHERE id IN ( $deleteIDString ) $query = "SELECT * FROM $exportTempTable"; + $this->instantiateTempTable($headerRows); while (1) { $limitQuery = $query . " LIMIT $offset, $limit @@ -2395,16 +2396,38 @@ LIMIT $offset, $limit } $componentDetails[] = $row; } - CRM_Core_Report_Excel::writeCSVFile($this->getExportFileName(), - $headerRows, - $componentDetails, - NULL, - $writeHeader - ); - - $writeHeader = FALSE; + $this->writeRows($headerRows, $componentDetails); + $offset += $limit; } } + /** + * Set up the temp table. + * + * @param array $headerRows + */ + protected function instantiateTempTable(array $headerRows) { + CRM_Utils_System::download(CRM_Utils_String::munge($this->getExportFileName()), + 'text/x-csv', + CRM_Core_DAO::$_nullObject, + 'csv', + FALSE + ); + CRM_Core_Report_Excel::makeCSVTable($headerRows, [], NULL, TRUE, TRUE); + } + + /** + * @param array $headerRows + * @param array $componentDetails + */ + protected function writeRows(array $headerRows, array $componentDetails) { + CRM_Core_Report_Excel::writeCSVFile($this->getExportFileName(), + $headerRows, + $componentDetails, + NULL, + FALSE + ); + } + } diff --git a/CRM/Extension/Manager.php b/CRM/Extension/Manager.php index abc344c737..234b3d8fc0 100644 --- a/CRM/Extension/Manager.php +++ b/CRM/Extension/Manager.php @@ -54,12 +54,12 @@ class CRM_Extension_Manager { const STATUS_UNKNOWN = 'unknown'; /** - * The extension is fully installed and enabled + * The extension is installed but the code is not accessible */ const STATUS_INSTALLED_MISSING = 'installed-missing'; /** - * The extension is fully installed and enabled + * The extension was installed and is now disabled; the code is not accessible */ const STATUS_DISABLED_MISSING = 'disabled-missing'; @@ -215,18 +215,31 @@ class CRM_Extension_Manager { /** * Add records of the extension to the database -- and enable it * - * @param array $keys - * List of extension keys. + * @param string|array $keys + * One or more extension keys. * @throws CRM_Extension_Exception */ public function install($keys) { + $keys = (array) $keys; $origStatuses = $this->getStatuses(); // TODO: to mitigate the risk of crashing during installation, scan // keys/statuses/types before doing anything + // Check compatibility + $incompatible = []; foreach ($keys as $key) { - // throws Exception + if ($this->isIncompatible($key)) { + $incompatible[] = $key; + } + } + if ($incompatible) { + throw new CRM_Extension_Exception('Cannot install incompatible extension: ' . implode(', ', $incompatible)); + } + + foreach ($keys as $key) { + /** @var CRM_Extension_Info $info */ + /** @var CRM_Extension_Manager_Base $typeManager */ list ($info, $typeManager) = $this->_getInfoTypeHandler($key); switch ($origStatuses[$key]) { @@ -308,13 +321,14 @@ class CRM_Extension_Manager { } /** - * Add records of the extension to the database -- and enable it + * Disable extension without removing record from db. * - * @param array $keys - * List of extension keys. + * @param string|array $keys + * One or more extension keys. * @throws CRM_Extension_Exception */ public function disable($keys) { + $keys = (array) $keys; $origStatuses = $this->getStatuses(); // TODO: to mitigate the risk of crashing during installation, scan @@ -366,13 +380,12 @@ class CRM_Extension_Manager { /** * Remove all database references to an extension. * - * Add records of the extension to the database -- and enable it - * - * @param array $keys - * List of extension keys. + * @param string|array $keys + * One or more extension keys. * @throws CRM_Extension_Exception */ public function uninstall($keys) { + $keys = (array) $keys; $origStatuses = $this->getStatuses(); // TODO: to mitigate the risk of crashing during installation, scan @@ -421,7 +434,7 @@ class CRM_Extension_Manager { * @param $key * * @return string - * constant (STATUS_INSTALLED, STATUS_DISABLED, STATUS_UNINSTALLED, STATUS_UNKNOWN) + * constant self::STATUS_* */ public function getStatus($key) { $statuses = $this->getStatuses(); @@ -433,6 +446,17 @@ class CRM_Extension_Manager { } } + /** + * Check if a given extension is incompatible with this version of CiviCRM + * + * @param $key + * @return bool|array + */ + public function isIncompatible($key) { + $info = CRM_Extension_System::getCompatibilityInfo(); + return $info[$key] ?? FALSE; + } + /** * Determine the status of all extensions. * @@ -441,6 +465,8 @@ class CRM_Extension_Manager { */ public function getStatuses() { if (!is_array($this->statuses)) { + $compat = CRM_Extension_System::getCompatibilityInfo(); + $this->statuses = []; foreach ($this->fullContainer->getKeys() as $key) { @@ -460,7 +486,10 @@ class CRM_Extension_Manager { catch (CRM_Extension_Exception $e) { $codeExists = FALSE; } - if ($dao->is_active) { + if (!empty($compat[$dao->full_name]['force-uninstall'])) { + $this->statuses[$dao->full_name] = self::STATUS_UNINSTALLED; + } + elseif ($dao->is_active) { $this->statuses[$dao->full_name] = $codeExists ? self::STATUS_INSTALLED : self::STATUS_INSTALLED_MISSING; } else { @@ -487,7 +516,7 @@ class CRM_Extension_Manager { * * @throws CRM_Extension_Exception * @return array - * (0 => CRM_Extension_Info, 1 => CRM_Extension_Manager_Interface) + * [CRM_Extension_Info, CRM_Extension_Manager_Interface] */ private function _getInfoTypeHandler($key) { // throws Exception @@ -507,7 +536,7 @@ class CRM_Extension_Manager { * * @throws CRM_Extension_Exception * @return array - * (0 => CRM_Extension_Info, 1 => CRM_Extension_Manager_Interface) + * [CRM_Extension_Info, CRM_Extension_Manager_Interface] */ private function _getMissingInfoTypeHandler($key) { $info = $this->createInfoFromDB($key); diff --git a/CRM/Extension/Mapper.php b/CRM/Extension/Mapper.php index b9cc7ed182..fd828e4fe7 100644 --- a/CRM/Extension/Mapper.php +++ b/CRM/Extension/Mapper.php @@ -286,6 +286,8 @@ class CRM_Extension_Mapper { } if (!is_array($moduleExtensions)) { + $compat = CRM_Extension_System::getCompatibilityInfo(); + // Check canonical module list $moduleExtensions = []; $sql = ' @@ -296,6 +298,9 @@ class CRM_Extension_Mapper { '; $dao = CRM_Core_DAO::executeQuery($sql); while ($dao->fetch()) { + if (!empty($compat[$dao->full_name]['force-uninstall'])) { + continue; + } try { $moduleExtensions[] = [ 'prefix' => $dao->file, diff --git a/CRM/Extension/System.php b/CRM/Extension/System.php index f9665524d9..a45cbfbadf 100644 --- a/CRM/Extension/System.php +++ b/CRM/Extension/System.php @@ -264,7 +264,7 @@ class CRM_Extension_System { */ public function getCache() { if ($this->cache === NULL) { - $cacheGroup = md5(serialize(['ext', $this->parameters])); + $cacheGroup = md5(serialize(['ext', $this->parameters, CRM_Utils_System::version()])); // Extension system starts before container. Manage our own cache. $this->cache = CRM_Utils_Cache::create([ 'name' => $cacheGroup, @@ -362,6 +362,9 @@ class CRM_Extension_System { default: $extensionRow['statusLabel'] = '(' . $extensionRow['status'] . ')'; } + if ($manager->isIncompatible($obj->key)) { + $extensionRow['statusLabel'] = ts('Obsolete') . ($extensionRow['statusLabel'] ? (' - ' . $extensionRow['statusLabel']) : ''); + } return $extensionRow; } diff --git a/CRM/Import/Parser.php b/CRM/Import/Parser.php index 3c71a3ca33..3766625e71 100644 --- a/CRM/Import/Parser.php +++ b/CRM/Import/Parser.php @@ -550,7 +550,9 @@ abstract class CRM_Import_Parser { /** * Parse a field which could be represented by a label or name value rather than the DB value. * - * We will try to match name first but if not available then see if we have a label that can be converted to a name. + * We will try to match name first or (per https://lab.civicrm.org/dev/core/issues/1285 if we have an id. + * + * but if not available then see if we have a label that can be converted to a name. * * @param string|int|null $submittedValue * @param array $fieldSpec @@ -559,15 +561,24 @@ abstract class CRM_Import_Parser { * @return mixed */ protected function parsePseudoConstantField($submittedValue, $fieldSpec) { + // dev/core#1289 Somehow we have wound up here but the BAO has not been specified in the fieldspec so we need to check this but future us problem, for now lets just return the submittedValue + if (!isset($fieldSpec['bao'])) { + return $submittedValue; + } /* @var \CRM_Core_DAO $bao */ $bao = $fieldSpec['bao']; // For historical reasons use validate as context - ie disabled name matches ARE permitted. $nameOptions = $bao::buildOptions($fieldSpec['name'], 'validate'); - if (!isset($nameOptions[$submittedValue])) { - $labelOptions = array_flip($bao::buildOptions($fieldSpec['name'], 'match')); - if (isset($labelOptions[$submittedValue])) { - return array_search($labelOptions[$submittedValue], $nameOptions, TRUE); - } + if (isset($nameOptions[$submittedValue])) { + return $submittedValue; + } + if (in_array($submittedValue, $nameOptions)) { + return array_search($submittedValue, $nameOptions, TRUE); + } + + $labelOptions = array_flip($bao::buildOptions($fieldSpec['name'], 'match')); + if (isset($labelOptions[$submittedValue])) { + return array_search($labelOptions[$submittedValue], $nameOptions, TRUE); } return ''; } diff --git a/CRM/Logging/Differ.php b/CRM/Logging/Differ.php index 59e1330c37..2330f1194b 100644 --- a/CRM/Logging/Differ.php +++ b/CRM/Logging/Differ.php @@ -290,7 +290,7 @@ WHERE lt.log_conn_id = %1 // FIXME: Use *_BAO:buildOptions() method rather than pseudoconstants & fetch programmatically $values[$table] = [ 'contribution_page_id' => CRM_Contribute_PseudoConstant::contributionPage(), - 'contribution_status_id' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'contribution_status_id' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'financial_type_id' => CRM_Contribute_PseudoConstant::financialType(), 'country_id' => CRM_Core_PseudoConstant::country(), 'gender_id' => CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'gender_id'), diff --git a/CRM/Mailing/BAO/Recipients.php b/CRM/Mailing/BAO/Recipients.php index 608f83db67..b554f385c6 100644 --- a/CRM/Mailing/BAO/Recipients.php +++ b/CRM/Mailing/BAO/Recipients.php @@ -73,10 +73,26 @@ WHERE mailing_id = %1 $limitString = "LIMIT $offset, $limit"; } + $isSMSmode = CRM_Core_DAO::getFieldValue('CRM_Mailing_BAO_Mailing', $mailingID, 'sms_provider_id', 'id'); + $additionalJoin = ''; + if (!$isSMSmode) { + // mailing_recipients added when mailing is submitted in UI by user. + // if any email is marked on_hold =1 or contact is deceased after mailing is submitted + // then it should be get skipped while preparing event_queue + // event_queue list is prepared when mailing job gets started. + $additionalJoin = " INNER JOIN civicrm_email e ON (r.email_id = e.id AND e.on_hold = 0 AND e.is_primary = 1) + INNER JOIN civicrm_contact c on (c.id = r.contact_id AND c.is_deceased <> 1 AND c.do_not_email = 0 AND c.is_opt_out = 0) +"; + } + else { + $additionalJoin = "INNER JOIN civicrm_contact c on (c.id = r.contact_id AND c.is_deceased <> 1 AND c.do_not_sms = 0 AND c.is_opt_out = 0)"; + } + $sql = " -SELECT contact_id, email_id, phone_id -FROM civicrm_mailing_recipients -WHERE mailing_id = %1 +SELECT r.contact_id, r.email_id, r.phone_id +FROM civicrm_mailing_recipients r +{$additionalJoin} +WHERE r.mailing_id = %1 $limitString "; $params = [1 => [$mailingID, 'Integer']]; diff --git a/CRM/Mailing/DAO/Mailing.php b/CRM/Mailing/DAO/Mailing.php index a3bc2c85c9..9f727b0c26 100644 --- a/CRM/Mailing/DAO/Mailing.php +++ b/CRM/Mailing/DAO/Mailing.php @@ -6,7 +6,7 @@ * * Generated from xml/schema/CRM/Mailing/Mailing.xml * DO NOT EDIT. Generated by CRM_Core_CodeGen - * (GenCodeChecksum:c294c497dac6129fe311fe8484e1e975) + * (GenCodeChecksum:aa54484f6e9b8d5ad8e75680f95cfc67) */ /** @@ -405,6 +405,12 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO { 'bao' => 'CRM_Mailing_BAO_Mailing', 'localizable' => 0, 'FKClassName' => 'CRM_Mailing_DAO_MailingComponent', + 'pseudoconstant' => [ + 'table' => 'civicrm_mailing_component', + 'keyColumn' => 'id', + 'labelColumn' => 'name', + 'condition' => 'component_type = "Header"', + ], ], 'footer_id' => [ 'name' => 'footer_id', @@ -417,6 +423,12 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO { 'bao' => 'CRM_Mailing_BAO_Mailing', 'localizable' => 0, 'FKClassName' => 'CRM_Mailing_DAO_MailingComponent', + 'pseudoconstant' => [ + 'table' => 'civicrm_mailing_component', + 'keyColumn' => 'id', + 'labelColumn' => 'name', + 'condition' => 'component_type = "Footer"', + ], ], 'reply_id' => [ 'name' => 'reply_id', diff --git a/CRM/Member/BAO/Membership.php b/CRM/Member/BAO/Membership.php index 2e22a1d836..db9c7f3995 100644 --- a/CRM/Member/BAO/Membership.php +++ b/CRM/Member/BAO/Membership.php @@ -63,8 +63,9 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { * The array that holds all the db ids. * * @return CRM_Member_BAO_Membership + * @throws \CiviCRM_API3_Exception */ - public static function add(&$params, $ids = array()) { + public static function add(&$params, $ids = []) { $oldStatus = $oldType = NULL; $params['id'] = CRM_Utils_Array::value('id', $params, CRM_Utils_Array::value('membership', $ids)); if ($params['id']) { @@ -111,7 +112,7 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { $logStartDate = ($logStartDate) ? CRM_Utils_Date::isoToMysql($logStartDate) : CRM_Utils_Date::isoToMysql($membership->start_date); $values = self::getStatusANDTypeValues($membership->id); - $membershipLog = array( + $membershipLog = [ 'membership_id' => $membership->id, 'status_id' => $membership->status_id, 'start_date' => $logStartDate, @@ -119,7 +120,7 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { 'modified_date' => date('Ymd'), 'membership_type_id' => $values[$membership->id]['membership_type_id'], 'max_related' => $membership->max_related, - ); + ]; $session = CRM_Core_Session::singleton(); // If we have an authenticated session, set modified_id to that user's contact_id, else set to membership.contact_id @@ -139,10 +140,10 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { CRM_Contact_BAO_GroupContactCache::opportunisticCacheFlush(); $allStatus = CRM_Member_BAO_Membership::buildOptions('status_id', 'get'); - $activityParams = array( + $activityParams = [ 'status_id' => CRM_Utils_Array::value('membership_activity_status', $params, 'Completed'), - ); - if (in_array($allStatus[$membership->status_id], array('Pending', 'Grace'))) { + ]; + if (in_array($allStatus[$membership->status_id], ['Pending', 'Grace'])) { $activityParams['status_id'] = 'Scheduled'; } $activityParams['status_id'] = CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_status_id', $activityParams['status_id']); @@ -156,11 +157,11 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { CRM_Activity_BAO_Activity::addActivity($membership, 'Change Membership Status', NULL, - array( + [ 'subject' => "Status changed from {$allStatus[$oldStatus]} to {$allStatus[$membership->status_id]}", 'source_contact_id' => $membershipLog['modified_id'], 'priority_id' => 'Normal', - ) + ] ); } if (isset($membership->membership_type_id) && $membership->membership_type_id != $oldType) { @@ -168,22 +169,22 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { CRM_Activity_BAO_Activity::addActivity($membership, 'Change Membership Type', NULL, - array( + [ 'subject' => "Type changed from {$membershipTypes[$oldType]} to {$membershipTypes[$membership->membership_type_id]}", 'source_contact_id' => $membershipLog['modified_id'], 'priority_id' => 'Normal', - ) + ] ); } - foreach (array('Membership Signup', 'Membership Renewal') as $activityType) { + foreach (['Membership Signup', 'Membership Renewal'] as $activityType) { $activityParams['id'] = CRM_Utils_Array::value('id', civicrm_api3('Activity', 'Get', - array( + [ 'source_record_id' => $membership->id, 'activity_type_id' => $activityType, 'status_id' => 'Scheduled', - ) + ] ) ); // 1. Update Schedule Membership Signup/Renwal activity to completed on successful payment of pending membership @@ -227,7 +228,7 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { $membership->copyValues($params); $membership->find(); - $memberships = array(); + $memberships = []; while ($membership->fetch()) { if ($active && (!CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipStatus', @@ -269,7 +270,7 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { // eg pay later membership, membership update cron CRM-3984 if (empty($params['is_override']) && empty($params['skipStatusCal'])) { - $dates = array('start_date', 'end_date', 'join_date'); + $dates = ['start_date', 'end_date', 'join_date']; // Declare these out of courtesy as IDEs don't pick up the setting of them below. $start_date = $end_date = $join_date = NULL; foreach ($dates as $date) { @@ -293,11 +294,11 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { // however since we have no idea how (if) this is triggered we can't safely move / remove it // NB I tried really hard to trigger this error from backoffice membership form in order to test it // and am convinced form validation is complete on that form WRT this error. - $errorParams = array( + $errorParams = [ 'message_title' => ts('No valid membership status for given dates.'), 'legacy_redirect_path' => 'civicrm/contact/view', 'legacy_redirect_query' => "reset=1&force=1&cid={$params['contact_id']}&selectedChild=member", - ); + ]; throw new CRM_Core_Exception(ts( "The membership cannot be saved because the status cannot be calculated for start_date: $start_date end_date $end_date join_date $join_date as at " . date('Y-m-d H:i:s')), 0, @@ -359,12 +360,22 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { } $params['skipLineItem'] = TRUE; - //record contribution for this membership + // Record contribution for this membership and create a MembershipPayment if (!empty($params['contribution_status_id']) && empty($params['relate_contribution_id'])) { - $memInfo = array_merge($params, array('membership_id' => $membership->id)); + $memInfo = array_merge($params, ['membership_id' => $membership->id]); $params['contribution'] = self::recordMembershipContribution($memInfo); } + // Add/update MembershipPayment record for this membership if it is a related contribution + if (!empty($params['relate_contribution_id'])) { + $membershipPaymentParams = [ + 'membership_id' => $membership->id, + 'membership_type_id' => $membership->membership_type_id, + 'contribution_id' => $params['relate_contribution_id'], + ]; + civicrm_api3('MembershipPayment', 'create', $membershipPaymentParams); + } + if (!empty($params['lineItems'])) { $params['line_item'] = $params['lineItems']; } @@ -376,7 +387,7 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { // This could happen if there is no contribution or we are in one of many // weird and wonderful flows. This is scary code. Keep adding tests. - if (!empty($params['line_item']) && empty($ids['contribution'])) { + if (!empty($params['line_item']) && empty($ids['contribution']) && empty($params['contribution_id'])) { foreach ($params['line_item'] as $priceSetId => $lineItems) { foreach ($lineItems as $lineIndex => $lineItem) { @@ -401,16 +412,6 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { ); } - //insert payment record for this membership - if (!empty($params['relate_contribution_id'])) { - $membershipPaymentParams = [ - 'membership_id' => $membership->id, - 'membership_type_id' => $membership->membership_type_id, - 'contribution_id' => $params['relate_contribution_id'], - ]; - civicrm_api3('MembershipPayment', 'create', $membershipPaymentParams); - } - $transaction->commit(); self::createRelatedMemberships($params, $membership); @@ -427,7 +428,7 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { $membershipTypes = CRM_Member_PseudoConstant::membershipType(); $title = CRM_Contact_BAO_Contact::displayName($membership->contact_id) . ' - ' . ts('Membership Type:') . ' ' . $membershipTypes[$membership->membership_type_id]; - $recentOther = array(); + $recentOther = []; if (CRM_Core_Permission::checkActionPermission('CiviMember', CRM_Core_Action::UPDATE)) { $recentOther['editUrl'] = CRM_Utils_System::url('civicrm/contact/view/membership', "action=update&reset=1&id={$membership->id}&cid={$membership->contact_id}&context=home" @@ -467,10 +468,10 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { * array of contact_id of all related contacts. */ public static function checkMembershipRelationship($membershipTypeID, $contactId, $action = CRM_Core_Action::ADD) { - $contacts = array(); + $contacts = []; $membershipType = CRM_Member_BAO_MembershipType::getMembershipTypeDetails($membershipTypeID); - $relationships = array(); + $relationships = []; if (isset($membershipType['relationship_type_id'])) { $relationships = CRM_Contact_BAO_Relationship::getRelationship($contactId, CRM_Contact_BAO_Relationship::CURRENT @@ -487,11 +488,11 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { // check for each contact relationships foreach ($relationships as $values) { //get details of the relationship type - $relType = array('id' => $values['civicrm_relationship_type_id']); - $relValues = array(); + $relType = ['id' => $values['civicrm_relationship_type_id']]; + $relValues = []; CRM_Contact_BAO_RelationshipType::retrieve($relType, $relValues); // Check if contact's relationship type exists in membership type - $relTypeDirs = array(); + $relTypeDirs = []; $relTypeIds = explode(CRM_Core_DAO::VALUE_SEPARATOR, $membershipType['relationship_type_id']); $relDirections = explode(CRM_Core_DAO::VALUE_SEPARATOR, $membershipType['relationship_direction']); $bidirectional = FALSE; @@ -541,10 +542,7 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { //get the membership status and type values. $statusANDType = self::getStatusANDTypeValues($membership->id); - foreach (array( - 'status', - 'membership_type', - ) as $fld) { + foreach (['status', 'membership_type'] as $fld) { $defaults[$fld] = CRM_Utils_Array::value($fld, $statusANDType[$membership->id]); } if (!empty($statusANDType[$membership->id]['is_current_member'])) { @@ -567,7 +565,7 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { * Array of key value pairs */ public static function getStatusANDTypeValues($membershipId) { - $values = array(); + $values = []; if (!$membershipId) { return $values; } @@ -583,15 +581,15 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership { INNER JOIN civicrm_membership_status status ON ( status.id = membership.status_id ) INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_type_id ) WHERE membership.id = %1'; - $dao = CRM_Core_DAO::executeQuery($sql, array(1 => array($membershipId, 'Positive'))); - $properties = array( + $dao = CRM_Core_DAO::executeQuery($sql, [1 => [$membershipId, 'Positive']]); + $properties = [ 'status', 'status_id', 'membership_type', 'membership_type_id', 'is_current_member', 'relationship_type_id', - ); + ]; while ($dao->fetch()) { foreach ($properties as $property) { $values[$dao->id][$property] = $dao->$property; @@ -631,8 +629,8 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty */ public static function deleteMembership($membershipId, $preserveContrib = FALSE) { // CRM-12147, retrieve membership data before we delete it for hooks - $params = array('id' => $membershipId); - $memValues = array(); + $params = ['id' => $membershipId]; + $memValues = []; $memberships = self::getValues($params, $memValues); $membership = $memberships[$membershipId]; @@ -645,15 +643,15 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty //delete activity record $activityTypes = CRM_Core_PseudoConstant::activityType(TRUE, FALSE, FALSE, 'name'); - $params = array(); + $params = []; $deleteActivity = FALSE; - $membershipActivities = array( + $membershipActivities = [ 'Membership Signup', 'Membership Renewal', 'Change Membership Status', 'Change Membership Type', 'Membership Renewal Reminder', - ); + ]; foreach ($membershipActivities as $membershipActivity) { $activityId = array_search($membershipActivity, $activityTypes); if ($activityId) { @@ -673,10 +671,10 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty CRM_Utils_Hook::post('delete', 'Membership', $membership->id, $membership); // delete the recently created Membership - $membershipRecent = array( + $membershipRecent = [ 'id' => $membershipId, 'type' => 'Membership', - ); + ]; CRM_Utils_Recent::del($membershipRecent); return $results; @@ -722,7 +720,7 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty * array of memberships based on status */ public static function activeMembers($memberships, $status = 'active') { - $actives = array(); + $actives = []; if ($status == 'active') { foreach ($memberships as $f => $v) { if (!empty($v['active'])) { @@ -751,7 +749,7 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty * @return array|null */ public static function getMembershipBlock($pageID) { - $membershipBlock = array(); + $membershipBlock = []; $dao = new CRM_Member_DAO_MembershipBlock(); $dao->entity_table = 'civicrm_contribution_page'; @@ -764,7 +762,7 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty if (!is_array($membershipTypes)) { return $membershipBlock; } - $memTypes = array(); + $memTypes = []; foreach ($membershipTypes as $key => $value) { $membershipBlock['auto_renew'][$key] = $value; $memTypes[$key] = $key; @@ -795,6 +793,7 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty * True if only Memberships with same parent org as the $memType wanted, false otherwise. * * @return array|bool + * @throws \CiviCRM_API3_Exception */ public static function getContactMembership($contactID, $memType, $isTest, $membershipId = NULL, $onlySameParentOrg = FALSE) { //check for owner membership id, if it exists update that membership instead: CRM-15992 @@ -828,7 +827,7 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty } //avoid pending membership as current membership: CRM-3027 - $statusIds = array(array_search('Pending', CRM_Member_PseudoConstant::membershipStatus())); + $statusIds = [array_search('Pending', CRM_Member_PseudoConstant::membershipStatus())]; if (!$membershipId) { // CRM-15475 $statusIds[] = array_search( @@ -850,22 +849,22 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty // CRM-8141 if ($onlySameParentOrg && $memType) { // require the same parent org as the $memType - $params = array('id' => $memType); - $membershipType = array(); + $params = ['id' => $memType]; + $membershipType = []; if (CRM_Member_BAO_MembershipType::retrieve($params, $membershipType)) { - $memberTypesSameParentOrg = civicrm_api3('MembershipType', 'get', array( + $memberTypesSameParentOrg = civicrm_api3('MembershipType', 'get', [ 'member_of_contact_id' => $membershipType['member_of_contact_id'], - 'options' => array( + 'options' => [ 'limit' => 0, - ), - )); - $memberTypesSameParentOrgList = implode(',', array_keys(CRM_Utils_Array::value('values', $memberTypesSameParentOrg, array()))); + ], + ]); + $memberTypesSameParentOrgList = implode(',', array_keys(CRM_Utils_Array::value('values', $memberTypesSameParentOrg, []))); $dao->whereAdd('membership_type_id IN (' . $memberTypesSameParentOrgList . ')'); } } if ($dao->find(TRUE)) { - $membership = array(); + $membership = []; CRM_Core_DAO::storeValues($dao, $membership); $membership['is_current_member'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipStatus', $membership['status_id'], @@ -898,7 +897,7 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty unset($dao->membership_type_id); if ($dao->find(TRUE)) { - $membership = array(); + $membership = []; CRM_Core_DAO::storeValues($dao, $membership); $membership['is_current_member'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipStatus', $membership['status_id'], @@ -923,27 +922,27 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty public static function &importableFields($contactType = 'Individual', $status = TRUE) { if (!self::$_importableFields) { if (!self::$_importableFields) { - self::$_importableFields = array(); + self::$_importableFields = []; } if (!$status) { - $fields = array('' => array('title' => '- ' . ts('do not import') . ' -')); + $fields = ['' => ['title' => '- ' . ts('do not import') . ' -']]; } else { - $fields = array('' => array('title' => '- ' . ts('Membership Fields') . ' -')); + $fields = ['' => ['title' => '- ' . ts('Membership Fields') . ' -']]; } $tmpFields = CRM_Member_DAO_Membership::import(); $contactFields = CRM_Contact_BAO_Contact::importableFields($contactType, NULL); // Using new Dedupe rule. - $ruleParams = array( + $ruleParams = [ 'contact_type' => $contactType, 'used' => 'Unsupervised', - ); + ]; $fieldsArray = CRM_Dedupe_BAO_Rule::dedupeRuleFields($ruleParams); - $tmpContactField = array(); + $tmpContactField = []; if (is_array($fieldsArray)) { foreach ($fieldsArray as $value) { $customFieldId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomField', @@ -986,14 +985,14 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty $expFieldsMemType = CRM_Member_DAO_MembershipType::export(); $fields = array_merge($expFieldMembership, $expFieldsMemType); $fields = array_merge($fields, $expFieldMembership); - $membershipStatus = array( - 'membership_status' => array( + $membershipStatus = [ + 'membership_status' => [ 'title' => ts('Membership Status'), 'name' => 'membership_status', 'type' => CRM_Utils_Type::T_STRING, 'where' => 'civicrm_membership_status.name', - ), - ); + ], + ]; //CRM-6161 fix for customdata export $fields = array_merge($fields, $membershipStatus, CRM_Core_BAO_CustomField::getFieldsForImport('Membership')); return $fields; @@ -1046,11 +1045,11 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND $query .= ($isOwner) ? ' AND owner_membership_id IS NULL' : ''; - $params = array( - 1 => array(self::$_signupActType, 'Integer'), - 2 => array(self::$_renewalActType, 'Integer'), - 3 => array($membershipTypeId, 'Integer'), - ); + $params = [ + 1 => [self::$_signupActType, 'Integer'], + 2 => [self::$_renewalActType, 'Integer'], + 3 => [$membershipTypeId, 'Integer'], + ]; $memberCount = CRM_Core_DAO::singleValueQuery($query, $params); return (int) $memberCount; @@ -1082,13 +1081,13 @@ 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).', array(1 => $date))); + CRM_Core_Error::fatal(ts('Invalid date "%1" (must have form yyyy-mm-dd).', [1 => $date])); } - $params = array( - 1 => array($membershipTypeId, 'Integer'), - 2 => array($isTest, 'Boolean'), - ); + $params = [ + 1 => [$membershipTypeId, 'Integer'], + 2 => [$isTest, 'Boolean'], + ]; $query = "SELECT count(civicrm_membership.id ) as member_count FROM civicrm_membership left join civicrm_membership_status on ( civicrm_membership.status_id = civicrm_membership_status.id ) WHERE civicrm_membership.membership_type_id = %1 @@ -1118,21 +1117,23 @@ AND civicrm_membership.is_test = %2"; } /** + * @deprecated This is not used anywhere and should be removed soon! * Function for updating a membership record's contribution_recur_id. * * @param CRM_Member_DAO_Membership $membership * @param \CRM_Contribute_BAO_Contribution|\CRM_Contribute_DAO_Contribution $contribution */ public static function updateRecurMembership(CRM_Member_DAO_Membership $membership, CRM_Contribute_BAO_Contribution $contribution) { + CRM_Core_Error::deprecatedFunctionWarning('Use the API instead'); if (empty($contribution->contribution_recur_id)) { return; } - $params = array( - 1 => array($contribution->contribution_recur_id, 'Integer'), - 2 => array($membership->id, 'Integer'), - ); + $params = [ + 1 => [$contribution->contribution_recur_id, 'Integer'], + 2 => [$membership->id, 'Integer'], + ]; $sql = "UPDATE civicrm_membership SET contribution_recur_id = %1 WHERE id = %2"; CRM_Core_DAO::executeQuery($sql, $params); @@ -1152,6 +1153,8 @@ AND civicrm_membership.is_test = %2"; * @param string $changeToday * In case today needs * to be customised, null otherwise + * + * @throws \CRM_Core_Exception */ public static function fixMembershipStatusBeforeRenew(&$currentMembership, $changeToday) { $today = NULL; @@ -1195,7 +1198,7 @@ AND civicrm_membership.is_test = %2"; ); $format = '%Y%m%d'; - $logParams = array( + $logParams = [ 'membership_id' => $currentMembership['id'], 'status_id' => $status['id'], 'start_date' => CRM_Utils_Date::customFormat( @@ -1212,7 +1215,7 @@ AND civicrm_membership.is_test = %2"; ), 'membership_type_id' => $currentMembership['membership_type_id'], 'max_related' => CRM_Utils_Array::value('max_related', $currentMembership, 0), - ); + ]; $session = CRM_Core_Session::singleton(); // If we have an authenticated session, set modified_id to that user's contact_id, else set to membership.contact_id @@ -1228,11 +1231,11 @@ AND civicrm_membership.is_test = %2"; CRM_Activity_BAO_Activity::addActivity($memberDAO, 'Change Membership Status', NULL, - array( + [ 'subject' => "Status changed from {$allStatus[$oldStatus]} to {$allStatus[$status['id']]}", 'source_contact_id' => $logParams['modified_id'], 'priority_id' => 'Normal', - ) + ] ); CRM_Member_BAO_MembershipLog::add($logParams); @@ -1343,14 +1346,15 @@ WHERE civicrm_membership.contact_id = civicrm_contact.id * Membership details, if created. * * @throws \CRM_Core_Exception + * @throws \CiviCRM_API3_Exception */ public static function createRelatedMemberships(&$params, &$dao, $reset = FALSE) { // CRM-4213 check for loops, using static variable to record contacts already processed. - static $relatedContactIds = array(); + static $relatedContactIds = []; if ($reset) { // We need a way to reset this static variable from the test suite. // @todo consider replacing with Civi::$statics but note reset now used elsewhere: CRM-17723. - $relatedContactIds = array(); + $relatedContactIds = []; return FALSE; } @@ -1382,8 +1386,8 @@ WHERE civicrm_membership.contact_id = civicrm_contact.id $expiredStatusId = array_search('Expired', CRM_Member_PseudoConstant::membershipStatus()); } - $allRelatedContacts = array(); - $relatedContacts = array(); + $allRelatedContacts = []; + $relatedContacts = []; if (!is_a($membership, 'CRM_Core_Error')) { $allRelatedContacts = CRM_Member_BAO_Membership::checkMembershipRelationship($membership->membership_type_id, $membership->contact_id, @@ -1436,7 +1440,7 @@ WHERE civicrm_membership.contact_id = civicrm_contact.id // Number of inherited memberships available - NULL is interpreted as unlimited, '0' as none $numRelatedAvailable = ($membership->max_related == NULL ? PHP_INT_MAX : $membership->max_related); // will be used to queue potential memberships to be created. - $queue = array(); + $queue = []; foreach ($relatedContacts as $contactId => $relationshipStatus) { //use existing membership record. @@ -1561,7 +1565,7 @@ WHERE civicrm_membership.contact_id = civicrm_contact.id * * @return array */ - public static function buildMembershipTypeValues(&$form, $membershipTypeID = array(), $activeOnly = FALSE) { + public static function buildMembershipTypeValues(&$form, $membershipTypeID = [], $activeOnly = FALSE) { $whereClause = " WHERE domain_id = " . CRM_Core_Config::domainID(); $membershipTypeIDS = (array) $membershipTypeID; @@ -1588,8 +1592,8 @@ FROM civicrm_membership_type "; $dao = CRM_Core_DAO::executeQuery($query); - $membershipTypeValues = array(); - $membershipTypeFields = array( + $membershipTypeValues = []; + $membershipTypeFields = [ 'id', 'minimum_fee', 'name', @@ -1603,10 +1607,10 @@ FROM civicrm_membership_type 'max_related', 'duration_unit', 'duration_interval', - ); + ]; while ($dao->fetch()) { - $membershipTypeValues[$dao->id] = array(); + $membershipTypeValues[$dao->id] = []; foreach ($membershipTypeFields as $mtField) { $membershipTypeValues[$dao->id][$mtField] = $dao->$mtField; } @@ -1665,7 +1669,7 @@ FROM civicrm_membership_type $cacheKeyString = "$mid"; $cacheKeyString .= $isNotCancelled ? '_1' : '_0'; - static $supportsCancel = array(); + static $supportsCancel = []; if (!array_key_exists($cacheKeyString, $supportsCancel)) { $supportsCancel[$cacheKeyString] = FALSE; @@ -1698,7 +1702,7 @@ FROM civicrm_membership_type FROM civicrm_contribution_recur cr LEFT JOIN civicrm_membership mem ON ( cr.id = mem.contribution_recur_id ) WHERE mem.id = %1 LIMIT 1"; - $params = array(1 => array($mid, 'Integer')); + $params = [1 => [$mid, 'Integer']]; $statusId = CRM_Core_DAO::singleValueQuery($sql, $params); $status = CRM_Contribute_PseudoConstant::contributionStatus($statusId, 'name'); if ($status == 'Cancelled') { @@ -1750,10 +1754,10 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND AND activity.activity_date_time >= '$startDate' AND activity.activity_date_time <= '$endDate 23:59:59' AND {$testClause}"; - $params = array( - 1 => array(self::$_signupActType, 'Integer'), - 2 => array($membershipTypeId, 'Integer'), - ); + $params = [ + 1 => [self::$_signupActType, 'Integer'], + 2 => [$membershipTypeId, 'Integer'], + ]; $memberCount = CRM_Core_DAO::singleValueQuery($query, $params); @@ -1803,10 +1807,10 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND AND activity.activity_date_time >= '$startDate' AND activity.activity_date_time <= '$endDate 23:59:59' AND {$testClause}"; - $params = array( - 1 => array(self::$_renewalActType, 'Integer'), - 2 => array($membershipTypeId, 'Integer'), - ); + $params = [ + 1 => [self::$_renewalActType, 'Integer'], + 2 => [$membershipTypeId, 'Integer'], + ]; $memberCount = CRM_Core_DAO::singleValueQuery($query, $params); return (int) $memberCount; @@ -1832,15 +1836,17 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND * * @return array * @throws \CRM_Core_Exception + * @throws \CiviCRM_API3_Exception */ - public static function processMembership($contactID, $membershipTypeID, $is_test, $changeToday, $modifiedID, $customFieldsFormatted, $numRenewTerms, $membershipID, $pending, $contributionRecurID, $membershipSource, $isPayLater, $campaignId, $formDates = array(), $contribution = NULL, $lineItems = array()) { + public static function processMembership($contactID, $membershipTypeID, $is_test, $changeToday, $modifiedID, $customFieldsFormatted, $numRenewTerms, $membershipID, $pending, $contributionRecurID, $membershipSource, $isPayLater, $campaignId, $formDates = [], $contribution = NULL, $lineItems = []) { $renewalMode = $updateStatusId = FALSE; $allStatus = CRM_Member_PseudoConstant::membershipStatus(); $format = '%Y%m%d'; $statusFormat = '%Y-%m-%d'; $membershipTypeDetails = CRM_Member_BAO_MembershipType::getMembershipTypeDetails($membershipTypeID); - $dates = array(); - $ids = array(); + $dates = []; + $ids = []; + // CRM-7297 - allow membership type to be be changed during renewal so long as the parent org of new membershipType // is the same as the parent org of an existing membership of the contact $currentMembership = CRM_Member_BAO_Membership::getContactMembership($contactID, $membershipTypeID, @@ -1852,13 +1858,13 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND // Do NOT do anything. //1. membership with status : PENDING/CANCELLED (CRM-2395) //2. Paylater/IPN renew. CRM-4556. - if ($pending || in_array($currentMembership['status_id'], array( + if ($pending || in_array($currentMembership['status_id'], [ array_search('Pending', $allStatus), // CRM-15475 array_search('Cancelled', CRM_Member_PseudoConstant::membershipStatus(NULL, " name = 'Cancelled' ", 'name', FALSE, TRUE)), - ))) { + ])) { - $memParams = array( + $memParams = [ 'id' => $currentMembership['id'], 'contribution' => $contribution, 'status_id' => $currentMembership['status_id'], @@ -1869,13 +1875,13 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND 'membership_type_id' => $membershipTypeID, 'max_related' => !empty($membershipTypeDetails['max_related']) ? $membershipTypeDetails['max_related'] : NULL, 'membership_activity_status' => ($pending || $isPayLater) ? 'Scheduled' : 'Completed', - ); + ]; if ($contributionRecurID) { $memParams['contribution_recur_id'] = $contributionRecurID; } // @todo stop passing $ids - it is empty $membership = self::create($memParams, $ids); - return array($membership, $renewalMode, $dates); + return [$membership, $renewalMode, $dates]; } // Check and fix the membership if it is STALE @@ -1893,7 +1899,7 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND ); $currentMembership['join_date'] = CRM_Utils_Date::customFormat($currentMembership['join_date'], $format); - foreach (array('start_date', 'end_date') as $dateType) { + foreach (['start_date', 'end_date'] as $dateType) { $currentMembership[$dateType] = CRM_Utils_Array::value($dateType, $formDates); if (empty($currentMembership[$dateType])) { $currentMembership[$dateType] = CRM_Utils_Array::value($dateType, $dates); @@ -1934,7 +1940,7 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND ); // Insert renewed dates for CURRENT membership - $memParams = array(); + $memParams = []; $memParams['join_date'] = CRM_Utils_Date::isoToMysql($membership->join_date); $memParams['start_date'] = CRM_Utils_Array::value('start_date', $formDates, CRM_Utils_Date::isoToMysql($membership->start_date)); $memParams['end_date'] = CRM_Utils_Array::value('end_date', $formDates); @@ -1969,15 +1975,15 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND } else { // NEW Membership - $memParams = array( + $memParams = [ 'contact_id' => $contactID, 'membership_type_id' => $membershipTypeID, - ); + ]; if (!$pending) { $dates = CRM_Member_BAO_MembershipType::getDatesForMembershipType($membershipTypeID, NULL, NULL, NULL, $numRenewTerms); - foreach (array('join_date', 'start_date', 'end_date') as $dateType) { + foreach (['join_date', 'start_date', 'end_date'] as $dateType) { $memParams[$dateType] = CRM_Utils_Array::value($dateType, $formDates); if (empty($memParams[$dateType])) { $memParams[$dateType] = CRM_Utils_Array::value($dateType, $dates); @@ -1985,8 +1991,8 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND } $status = CRM_Member_BAO_MembershipStatus::getMembershipStatusByDate(CRM_Utils_Date::customFormat($dates['start_date'], - $statusFormat - ), + $statusFormat + ), CRM_Utils_Date::customFormat($dates['end_date'], $statusFormat ), @@ -2054,7 +2060,7 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND // related to: http://forum.civicrm.org/index.php/topic,11416.msg49072.html#msg49072 $membership->find(TRUE); - return array($membership, $renewalMode, $dates); + return [$membership, $renewalMode, $dates]; } /** @@ -2071,21 +2077,21 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND $priceSets = current(CRM_Price_BAO_PriceSet::getSetDetail($priceSetId)); // The name of the price field corresponds to the membership_type organization contact. - $params = array( + $params = [ 'price_set_id' => $priceSetId, 'name' => $membershipOrg, - ); - $results = array(); + ]; + $results = []; CRM_Price_BAO_PriceField::retrieve($params, $results); if (!empty($results)) { $fields[$results['id']] = $priceSets['fields'][$results['id']]; $fid = $results['id']; - $editedFieldParams = array( + $editedFieldParams = [ 'price_field_id' => $results['id'], 'membership_type_id' => $membershipTypeID, - ); - $results = array(); + ]; + $results = []; CRM_Price_BAO_PriceFieldValue::retrieve($editedFieldParams, $results); $fields[$fid]['options'][$results['id']] = $priceSets['fields'][$fid]['options'][$results['id']]; if (!empty($total_amount)) { @@ -2094,14 +2100,14 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND } $fieldID = key($fields); - $returnParams = array( + $returnParams = [ 'price_set_id' => $priceSetId, 'price_sets' => $priceSets, 'fields' => $fields, - 'price_fields' => array( + 'price_fields' => [ 'price_' . $fieldID => CRM_Utils_Array::value('id', $results), - ), - ); + ], + ]; return $returnParams; } @@ -2110,6 +2116,9 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND * * @return int * Count of updated contacts. + * + * @throws \CiviCRM_API3_Exception + * @throws \CRM_Core_Exception */ protected static function updateDeceasedMembersStatuses() { $count = 0; @@ -2163,6 +2172,8 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND * * @param int $membershipId * @param array $lineItem + * + * @throws \CiviCRM_API3_Exception */ public function processPriceSet($membershipId, $lineItem) { //FIXME : need to move this too @@ -2195,13 +2206,15 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND * * @return int|int[] * contribution id + * @todo we should get this off the line item + * */ public static function getMembershipContributionId($membershipId, $all = FALSE) { $membershipPayment = new CRM_Member_DAO_MembershipPayment(); $membershipPayment->membership_id = $membershipId; if ($all && $membershipPayment->find()) { - $contributionIds = array(); + $contributionIds = []; while ($membershipPayment->fetch()) { $contributionIds[] = $membershipPayment->contribution_id; } @@ -2222,6 +2235,9 @@ INNER JOIN civicrm_contact contact ON ( contact.id = membership.contact_id AND * Sending renewal reminders has been migrated from this job to the Scheduled Reminders function as of 4.3. * * @return array + * + * @throws \CiviCRM_API3_Exception + * @throws \CRM_Core_Exception */ public static function updateAllMembershipStatus() { // Tests for this function are in api_v3_JobTest. Please add tests for all updates. @@ -2270,12 +2286,12 @@ WHERE civicrm_membership.is_test = 0 $query = $baseQuery . " AND (civicrm_membership.is_override = 0 OR civicrm_membership.is_override IS NULL) AND civicrm_membership.status_id NOT IN (%1, %2, %3, %4) AND civicrm_membership.owner_membership_id IS NULL "; - $params = array( - 1 => array($pendingStatusId, 'Integer'), - 2 => array($cancelledStatusId, 'Integer'), - 3 => array($expiredStatusId, 'Integer'), - 4 => array($deceaseStatusId, 'Integer'), - ); + $params = [ + 1 => [$pendingStatusId, 'Integer'], + 2 => [$cancelledStatusId, 'Integer'], + 3 => [$expiredStatusId, 'Integer'], + 4 => [$deceaseStatusId, 'Integer'], + ]; $dao2 = CRM_Core_DAO::executeQuery($query, $params); while ($dao2->fetch()) { @@ -2283,7 +2299,7 @@ WHERE civicrm_membership.is_test = 0 $processCount++; // Put common parameters into array for easy access - $memberParams = array( + $memberParams = [ 'id' => $dao2->membership_id, 'status_id' => $dao2->status_id, 'contact_id' => $dao2->contact_id, @@ -2295,16 +2311,16 @@ WHERE civicrm_membership.is_test = 0 'source' => $dao2->source, 'skipStatusCal' => TRUE, 'skipRecentView' => TRUE, - ); + ]; // CRM-7248: added excludeIsAdmin param to the following fn call to prevent moving to admin statuses //get the membership status as per id. $newStatus = civicrm_api('membership_status', 'calc', - array( + [ 'membership_id' => $dao2->membership_id, 'version' => 3, 'ignore_admin_only' => TRUE, - ), TRUE + ], TRUE ); $statusId = CRM_Utils_Array::value('id', $newStatus); @@ -2338,10 +2354,10 @@ WHERE civicrm_membership.is_test = 0 } } $result['is_error'] = 0; - $result['messages'] = ts('Processed %1 membership records. Updated %2 records.', array( + $result['messages'] = ts('Processed %1 membership records. Updated %2 records.', [ 1 => $processCount, 2 => $updateCount, - )); + ]); return $result; } @@ -2352,6 +2368,8 @@ WHERE civicrm_membership.is_test = 0 * * @param CRM_Core_DAO $membership * The membership to be processed + * + * @throws \CiviCRM_API3_Exception */ private static function processOverriddenUntilDateMembership($membership) { $isOverriddenUntilDate = !empty($membership->is_override) && !empty($membership->status_override_end_date); @@ -2368,11 +2386,11 @@ WHERE civicrm_membership.is_test = 0 $datesDifference = $todayDate->diff($overrideEndDate); $daysDifference = (int) $datesDifference->format('%R%a'); if ($daysDifference <= 0) { - $params = array( + $params = [ 'id' => $membership->membership_id, 'is_override' => FALSE, 'status_override_end_date' => 'null', - ); + ]; civicrm_api3('membership', 'create', $params); } } @@ -2388,7 +2406,7 @@ WHERE civicrm_membership.is_test = 0 * @return array */ public static function getAllContactMembership($contactID, $isTest = FALSE, $onlyLifeTime = FALSE) { - $contactMembershipType = array(); + $contactMembershipType = []; if (!$contactID) { return $contactMembershipType; } @@ -2411,7 +2429,7 @@ WHERE civicrm_membership.is_test = 0 $dao->find(); while ($dao->fetch()) { - $membership = array(); + $membership = []; CRM_Core_DAO::storeValues($dao, $membership); $contactMembershipType[$dao->membership_type_id] = $membership; } @@ -2420,20 +2438,24 @@ WHERE civicrm_membership.is_test = 0 /** * Record contribution record associated with membership. + * This will update an existing contribution if $params['contribution_id'] is passed in. + * This will create a MembershipPayment to link the contribution and membership * * @param array $params * Array of submitted params. * @param array $ids - * (@deprecated) array of ids. + * (@return CRM_Contribute_BAO_Contribution * * @return CRM_Contribute_BAO_Contribution + * @throws \CRM_Core_Exception + * @throws \CiviCRM_API3_Exception */ - public static function recordMembershipContribution(&$params, $ids = array()) { + public static function recordMembershipContribution(&$params, $ids = []) { if (!empty($ids)) { CRM_Core_Error::deprecatedFunctionWarning('no $ids array'); } $membershipId = $params['membership_id']; - $contributionParams = array(); + $contributionParams = []; $config = CRM_Core_Config::singleton(); $contributionParams['currency'] = $config->defaultCurrency; $contributionParams['receipt_date'] = (CRM_Utils_Array::value('receipt_date', $params)) ? $params['receipt_date'] : 'null'; @@ -2442,7 +2464,7 @@ WHERE civicrm_membership.is_test = 0 $contributionParams['skipCleanMoney'] = TRUE; $contributionParams['payment_processor'] = CRM_Utils_Array::value('payment_processor_id', $params); $contributionSoftParams = CRM_Utils_Array::value('soft_credit', $params); - $recordContribution = array( + $recordContribution = [ 'contact_id', 'fee_amount', 'total_amount', @@ -2462,7 +2484,7 @@ WHERE civicrm_membership.is_test = 0 'contribution_recur_id', 'pan_truncation', 'card_type_id', - ); + ]; foreach ($recordContribution as $f) { $contributionParams[$f] = CRM_Utils_Array::value($f, $params); } @@ -2508,8 +2530,11 @@ WHERE civicrm_membership.is_test = 0 // store contribution id $params['contribution_id'] = $contribution->id; - //insert payment record for this membership - if (empty($ids['contribution']) || !empty($params['is_recur'])) { + // Create membership payment if it does not already exist + $membershipPayment = civicrm_api3('MembershipPayment', 'get', [ + 'contribution_id' => $contribution->id, + ]); + if (empty($membershipPayment['count'])) { civicrm_api3('MembershipPayment', 'create', [ 'membership_id' => $membershipId, 'contribution_id' => $contribution->id, @@ -2541,12 +2566,12 @@ WHERE civicrm_membership.is_test = 0 */ public static function getContactsCancelledMembership($contactID, $isTest = FALSE) { if (!$contactID) { - return array(); + return []; } $query = 'SELECT membership_type_id FROM civicrm_membership WHERE contact_id = %1 AND status_id = %2 AND is_test = %3'; - $queryParams = array( - 1 => array($contactID, 'Integer'), - 2 => array( + $queryParams = [ + 1 => [$contactID, 'Integer'], + 2 => [ // CRM-15475 array_search( 'Cancelled', @@ -2559,12 +2584,12 @@ WHERE civicrm_membership.is_test = 0 ) ), 'Integer', - ), - 3 => array($isTest, 'Boolean'), - ); + ], + 3 => [$isTest, 'Boolean'], + ]; $dao = CRM_Core_DAO::executeQuery($query, $queryParams); - $cancelledMembershipIds = array(); + $cancelledMembershipIds = []; while ($dao->fetch()) { $cancelledMembershipIds[] = $dao->membership_type_id; } @@ -2613,16 +2638,16 @@ WHERE civicrm_membership.is_test = 0 * Retrieve all memberships that belongs to each contacts and * keep track of each membership type. */ - $mainContactMemberships = array(); - $otherContactMemberships = array(); + $mainContactMemberships = []; + $otherContactMemberships = []; $sql = "SELECT id, membership_type_id FROM civicrm_membership membership WHERE contact_id = %1"; - $dao = CRM_Core_DAO::executeQuery($sql, array(1 => array($mainContactID, "Integer"))); + $dao = CRM_Core_DAO::executeQuery($sql, [1 => [$mainContactID, "Integer"]]); while ($dao->fetch()) { $mainContactMemberships[$dao->id] = $dao->membership_type_id; } - $dao = CRM_Core_DAO::executeQuery($sql, array(1 => array($otherContactID, "Integer"))); + $dao = CRM_Core_DAO::executeQuery($sql, [1 => [$otherContactID, "Integer"]]); while ($dao->fetch()) { $otherContactMemberships[$dao->id] = $dao->membership_type_id; } @@ -2638,7 +2663,7 @@ WHERE civicrm_membership.is_test = 0 * FIXME: what should we do if we have multiple memberships with * the same type (currently we only take the first one)? */ - $newSql = array(); + $newSql = []; foreach ($otherContactMemberships as $otherMembershipId => $otherMembershipTypeId) { if ($newMembershipId = array_search($otherMembershipTypeId, $mainContactMemberships)) { @@ -2655,7 +2680,7 @@ WHERE civicrm_membership.is_test = 0 $newMembership = CRM_Member_DAO_Membership::findById($newMembershipId); $otherMembership = CRM_Member_DAO_Membership::findById($otherMembershipId); - $updates = array(); + $updates = []; if (new DateTime($otherMembership->join_date) < new DateTime($newMembership->join_date)) { $updates["join_date"] = $otherMembership->join_date; } diff --git a/CRM/Member/Form/MembershipRenewal.php b/CRM/Member/Form/MembershipRenewal.php index 2553d1f1fb..7ff71dc844 100644 --- a/CRM/Member/Form/MembershipRenewal.php +++ b/CRM/Member/Form/MembershipRenewal.php @@ -576,7 +576,7 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form { //if contribution status is pending then set pay later $this->_params['is_pay_later'] = FALSE; - if ($this->_params['contribution_status_id'] == array_search('Pending', CRM_Contribute_PseudoConstant::contributionStatus())) { + if ($this->_params['contribution_status_id'] == array_search('Pending', CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'))) { $this->_params['is_pay_later'] = 1; } @@ -588,7 +588,7 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form { } // @todo Move this into CRM_Member_BAO_Membership::processMembership - $pending = ($this->_params['contribution_status_id'] == array_search('Pending', CRM_Contribute_PseudoConstant::contributionStatus())) ? TRUE : FALSE; + $pending = ($this->_params['contribution_status_id'] == array_search('Pending', CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'))) ? TRUE : FALSE; list($membership) = CRM_Member_BAO_Membership::processMembership( $this->_contactID, $this->_params['membership_type_id'][1], $isTestMembership, $renewalDate, NULL, $customFieldsFormatted, $numRenewTerms, $this->_membershipId, diff --git a/CRM/Member/Page/RecurringContributions.php b/CRM/Member/Page/RecurringContributions.php index 07661c9fb7..546350457f 100644 --- a/CRM/Member/Page/RecurringContributions.php +++ b/CRM/Member/Page/RecurringContributions.php @@ -76,7 +76,7 @@ class CRM_Member_Page_RecurringContributions extends CRM_Core_Page { 'membership_id' => $membershipID, ]); $recurringContributions = []; - $contributionStatuses = CRM_Contribute_PseudoConstant::contributionStatus(); + $contributionStatuses = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); foreach ($result['values'] as $payment) { $recurringContributionID = $payment['contribution_id.contribution_recur_id.id']; diff --git a/CRM/Pledge/BAO/Pledge.php b/CRM/Pledge/BAO/Pledge.php index 0026d4a9ff..e5feb625b5 100644 --- a/CRM/Pledge/BAO/Pledge.php +++ b/CRM/Pledge/BAO/Pledge.php @@ -1106,7 +1106,7 @@ SELECT pledge.contact_id as contact_id, * Array of int (civicrm_pledge_payment.id) */ public static function findCancelablePayments($pledgeID) { - $statuses = array_flip(CRM_Contribute_PseudoConstant::contributionStatus()); + $statuses = array_flip(CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label')); $paymentDAO = new CRM_Pledge_DAO_PledgePayment(); $paymentDAO->pledge_id = $pledgeID; diff --git a/CRM/Pledge/Form/Pledge.php b/CRM/Pledge/Form/Pledge.php index e7478f8b13..3e80eb7615 100644 --- a/CRM/Pledge/Form/Pledge.php +++ b/CRM/Pledge/Form/Pledge.php @@ -96,7 +96,6 @@ class CRM_Pledge_Form_Pledge extends CRM_Core_Form { list($this->userDisplayName, $this->userEmail ) = CRM_Contact_BAO_Contact_Location::getEmailDetails($this->_contactID); - $this->assign('displayName', $this->userDisplayName); } $this->setPageTitle(ts('Pledge')); @@ -153,6 +152,9 @@ class CRM_Pledge_Form_Pledge extends CRM_Core_Form { $this->assign('installments', $defaults['installments']); } else { + if ($this->_contactID) { + $defaults['contact_id'] = $this->_contactID; + } // default values. $defaults['create_date'] = date('Y-m-d'); $defaults['start_date'] = date('Y-m-d'); @@ -211,11 +213,9 @@ class CRM_Pledge_Form_Pledge extends CRM_Core_Form { return; } - if ($this->_context == 'standalone') { - $this->addEntityRef('contact_id', ts('Contact'), [ - 'create' => TRUE, - 'api' => ['extra' => ['email']], - ], TRUE); + $contactField = $this->addEntityRef('contact_id', ts('Contact'), ['create' => TRUE, 'api' => ['extra' => ['email']]], TRUE); + if ($this->_context != 'standalone') { + $contactField->freeze(); } $showAdditionalInfo = FALSE; @@ -545,12 +545,6 @@ class CRM_Pledge_Form_Pledge extends CRM_Core_Form { // send Acknowledgment mail. CRM_Pledge_BAO_Pledge::sendAcknowledgment($this, $params); - if (!isset($this->userEmail)) { - list($this->userDisplayName, - $this->userEmail - ) = CRM_Contact_BAO_Contact_Location::getEmailDetails($this->_contactID); - } - $statusMsg .= ' ' . ts("An acknowledgment email has been sent to %1.
", [1 => $this->userEmail]); // build the payment urls. diff --git a/CRM/Price/BAO/PriceField.php b/CRM/Price/BAO/PriceField.php index b3d03a6139..1020c6009a 100644 --- a/CRM/Price/BAO/PriceField.php +++ b/CRM/Price/BAO/PriceField.php @@ -116,6 +116,7 @@ class CRM_Price_BAO_PriceField extends CRM_Price_DAO_PriceField { ]); foreach ($fieldOptions['values'] as $option) { $optionsIds['id'] = $option['id']; + $params['option_id'] = [1 => $option['id']]; // CRM-19741 If we are dealing with price fields that are Text only set the field value label to match if (!empty($params['id']) && $priceField->label != $option['label']) { $fieldValue = new CRM_Price_DAO_PriceFieldValue(); diff --git a/CRM/Report/Form/Contact/CurrentEmployer.php b/CRM/Report/Form/Contact/CurrentEmployer.php index b1780c73c9..49f122b44e 100644 --- a/CRM/Report/Form/Contact/CurrentEmployer.php +++ b/CRM/Report/Form/Contact/CurrentEmployer.php @@ -361,14 +361,6 @@ FROM civicrm_contact {$this->_aliases['civicrm_contact']} // Handle ID to label conversion for contact fields $entryFound = $this->alterDisplayContactFields($row, $rows, $rowNum, 'contact/currentEmployer', 'View Contact Detail') ? TRUE : $entryFound; $entryFound = $this->alterDisplayAddressFields($row, $rows, $rowNum, NULL, NULL) ? TRUE : $entryFound; - // display birthday in the configured custom format - if (array_key_exists('civicrm_contact_birth_date', $row)) { - $birthDate = $row['civicrm_contact_birth_date']; - if ($birthDate) { - $rows[$rowNum]['civicrm_contact_birth_date'] = CRM_Utils_Date::customFormat($birthDate, '%Y%m%d'); - } - $entryFound = TRUE; - } // convert employee name to links if (array_key_exists('civicrm_contact_sort_name', $row) && diff --git a/CRM/Report/Form/Contact/Detail.php b/CRM/Report/Form/Contact/Detail.php index e4546491d7..4ed4723298 100644 --- a/CRM/Report/Form/Contact/Detail.php +++ b/CRM/Report/Form/Contact/Detail.php @@ -832,15 +832,6 @@ class CRM_Report_Form_Contact_Detail extends CRM_Report_Form { // Handle ID to label conversion for contact fields $entryFound = $this->alterDisplayContactFields($row, $rows, $rowNum, NULL, NULL) ? TRUE : $entryFound; - // display birthday in the configured custom format - if (array_key_exists('civicrm_contact_birth_date', $row)) { - $birthDate = $row['civicrm_contact_birth_date']; - if ($birthDate) { - $rows[$rowNum]['civicrm_contact_birth_date'] = CRM_Utils_Date::customFormat($birthDate, '%Y%m%d'); - } - $entryFound = TRUE; - } - $entryFound = $this->alterDisplayAddressFields($row, $rows, $rowNum, NULL, NULL) ? TRUE : $entryFound; // skip looking further in rows, if first row itself doesn't @@ -870,7 +861,7 @@ class CRM_Report_Form_Contact_Detail extends CRM_Report_Form { } if ($val = CRM_Utils_Array::value('civicrm_contribution_contribution_status_id', $row)) { - $componentRows[$contactID][$component][$rowNum]['civicrm_contribution_contribution_status_id'] = CRM_Contribute_PseudoConstant::contributionStatus($val); + $componentRows[$contactID][$component][$rowNum]['civicrm_contribution_contribution_status_id'] = CRM_Contribute_PseudoConstant::contributionStatus($val, 'label'); } $entryFound = TRUE; } diff --git a/CRM/Report/Form/Contribute/Bookkeeping.php b/CRM/Report/Form/Contribute/Bookkeeping.php index 021f92d234..014225adf8 100644 --- a/CRM/Report/Form/Contribute/Bookkeeping.php +++ b/CRM/Report/Form/Contribute/Bookkeeping.php @@ -326,7 +326,7 @@ class CRM_Report_Form_Contribute_Bookkeeping extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => [1], ], ], @@ -386,7 +386,7 @@ class CRM_Report_Form_Contribute_Bookkeeping extends CRM_Report_Form { 'status_id' => [ 'title' => ts('Financial Transaction Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => [1], ], 'card_type_id' => [ @@ -655,7 +655,7 @@ class CRM_Report_Form_Contribute_Bookkeeping extends CRM_Report_Form { public function alterDisplay(&$rows) { $contributionTypes = CRM_Contribute_PseudoConstant::financialType(); $paymentInstruments = CRM_Contribute_PseudoConstant::paymentInstrument(); - $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(); + $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); $creditCardTypes = CRM_Financial_DAO_FinancialTrxn::buildOptions('card_type_id'); foreach ($rows as $rowNum => $row) { // convert display name to links diff --git a/CRM/Report/Form/Contribute/Detail.php b/CRM/Report/Form/Contribute/Detail.php index bea5471f54..a6117b3808 100644 --- a/CRM/Report/Form/Contribute/Detail.php +++ b/CRM/Report/Form/Contribute/Detail.php @@ -236,7 +236,7 @@ class CRM_Report_Form_Contribute_Detail extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => [1], 'type' => CRM_Utils_Type::T_INT, ], @@ -633,7 +633,7 @@ UNION ALL $entryFound = FALSE; $display_flag = $prev_cid = $cid = 0; $contributionTypes = CRM_Contribute_PseudoConstant::financialType(); - $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(); + $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); $paymentInstruments = CRM_Contribute_PseudoConstant::paymentInstrument(); $contributionPages = CRM_Contribute_PseudoConstant::contributionPage(); $batches = CRM_Batch_BAO_Batch::getBatches(); diff --git a/CRM/Report/Form/Contribute/History.php b/CRM/Report/Form/Contribute/History.php index a46611a554..2f8b2e74b1 100644 --- a/CRM/Report/Form/Contribute/History.php +++ b/CRM/Report/Form/Contribute/History.php @@ -248,7 +248,7 @@ class CRM_Report_Form_Contribute_History extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => [1], ], 'financial_type_id' => [ diff --git a/CRM/Report/Form/Contribute/HouseholdSummary.php b/CRM/Report/Form/Contribute/HouseholdSummary.php index e840921139..8b300a0cbb 100644 --- a/CRM/Report/Form/Contribute/HouseholdSummary.php +++ b/CRM/Report/Form/Contribute/HouseholdSummary.php @@ -149,7 +149,7 @@ class CRM_Report_Form_Contribute_HouseholdSummary extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => [1], ], 'financial_type_id' => [ @@ -491,7 +491,7 @@ class CRM_Report_Form_Contribute_HouseholdSummary extends CRM_Report_Form { if (array_key_exists('civicrm_contribution_contribution_status_id', $row)) { if ($value = $row['civicrm_contribution_contribution_status_id']) { - $rows[$rowNum]['civicrm_contribution_contribution_status_id'] = CRM_Contribute_PseudoConstant::contributionStatus($value); + $rows[$rowNum]['civicrm_contribution_contribution_status_id'] = CRM_Contribute_PseudoConstant::contributionStatus($value, 'label'); } } diff --git a/CRM/Report/Form/Contribute/Lybunt.php b/CRM/Report/Form/Contribute/Lybunt.php index f3972d42f5..15526bd030 100644 --- a/CRM/Report/Form/Contribute/Lybunt.php +++ b/CRM/Report/Form/Contribute/Lybunt.php @@ -226,7 +226,7 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => ['1'], ], ], @@ -660,7 +660,7 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form { ]; if ($this->_params['charts']) { // build chart. - CRM_Utils_OpenFlashChart::reportChart($graphRows, $this->_params['charts'], $interval, $chartInfo); + CRM_Utils_Chart::reportChart($graphRows, $this->_params['charts'], $interval, $chartInfo); $this->assign('chartType', $this->_params['charts']); } } diff --git a/CRM/Report/Form/Contribute/OrganizationSummary.php b/CRM/Report/Form/Contribute/OrganizationSummary.php index 9e4926a9ad..92d98e2521 100644 --- a/CRM/Report/Form/Contribute/OrganizationSummary.php +++ b/CRM/Report/Form/Contribute/OrganizationSummary.php @@ -159,7 +159,7 @@ class CRM_Report_Form_Contribute_OrganizationSummary extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => [1], ], ], @@ -500,7 +500,7 @@ class CRM_Report_Form_Contribute_OrganizationSummary extends CRM_Report_Form { if (array_key_exists('civicrm_contribution_contribution_status_id', $row)) { if ($value = $row['civicrm_contribution_contribution_status_id']) { - $rows[$rowNum]['civicrm_contribution_contribution_status_id'] = CRM_Contribute_PseudoConstant::contributionStatus($value); + $rows[$rowNum]['civicrm_contribution_contribution_status_id'] = CRM_Contribute_PseudoConstant::contributionStatus($value, 'label'); } } diff --git a/CRM/Report/Form/Contribute/Recur.php b/CRM/Report/Form/Contribute/Recur.php index 240ad47e72..805c7f5a2b 100644 --- a/CRM/Report/Form/Contribute/Recur.php +++ b/CRM/Report/Form/Contribute/Recur.php @@ -187,7 +187,7 @@ class CRM_Report_Form_Contribute_Recur extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => [5], 'type' => CRM_Utils_Type::T_INT, ], @@ -372,7 +372,7 @@ class CRM_Report_Form_Contribute_Recur extends CRM_Report_Form { * Rows generated by SQL, with an array for each row. */ public function alterDisplay(&$rows) { - $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(); + $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); foreach ($rows as $rowNum => $row) { // convert display name to links if (array_key_exists('civicrm_contact_sort_name', $row) && diff --git a/CRM/Report/Form/Contribute/Repeat.php b/CRM/Report/Form/Contribute/Repeat.php index 177c6a7a0c..e9540eb103 100644 --- a/CRM/Report/Form/Contribute/Repeat.php +++ b/CRM/Report/Form/Contribute/Repeat.php @@ -242,7 +242,7 @@ class CRM_Report_Form_Contribute_Repeat extends CRM_Report_Form { 'contribution_status_id' => array( 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => array('1'), ), ), diff --git a/CRM/Report/Form/Contribute/SoftCredit.php b/CRM/Report/Form/Contribute/SoftCredit.php index 3f8fdd54f0..24b1c5a730 100644 --- a/CRM/Report/Form/Contribute/SoftCredit.php +++ b/CRM/Report/Form/Contribute/SoftCredit.php @@ -252,7 +252,7 @@ class CRM_Report_Form_Contribute_SoftCredit extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => [1], ], ], diff --git a/CRM/Report/Form/Contribute/Summary.php b/CRM/Report/Form/Contribute/Summary.php index e193637490..2239525f91 100644 --- a/CRM/Report/Form/Contribute/Summary.php +++ b/CRM/Report/Form/Contribute/Summary.php @@ -156,7 +156,7 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form { 'contribution_status_id' => array( 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => array(1), 'type' => CRM_Utils_Type::T_INT, ), @@ -220,7 +220,7 @@ class CRM_Report_Form_Contribute_Summary extends CRM_Report_Form { 'contribution_status_id' => array( 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => array(1), 'type' => CRM_Utils_Type::T_INT, ), @@ -849,7 +849,7 @@ ROUND(AVG({$this->_aliases['civicrm_contribution_soft']}.amount), 2) as civicrm_ $config = CRM_Core_Config::Singleton(); $graphRows['xname'] = $this->_interval; $graphRows['yname'] = ts('Amount (%1)', array(1 => $config->defaultCurrency)); - CRM_Utils_OpenFlashChart::chart($graphRows, $this->_params['charts'], $this->_interval); + CRM_Utils_Chart::chart($graphRows, $this->_params['charts'], $this->_interval); $this->assign('chartType', $this->_params['charts']); } } @@ -866,7 +866,7 @@ ROUND(AVG({$this->_aliases['civicrm_contribution_soft']}.amount), 2) as civicrm_ */ public function alterDisplay(&$rows) { $entryFound = FALSE; - $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(); + $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); $contributionPages = CRM_Contribute_PseudoConstant::contributionPage(); foreach ($rows as $rowNum => $row) { diff --git a/CRM/Report/Form/Contribute/Sybunt.php b/CRM/Report/Form/Contribute/Sybunt.php index 3a2cb5f47f..98ac7baefc 100644 --- a/CRM/Report/Form/Contribute/Sybunt.php +++ b/CRM/Report/Form/Contribute/Sybunt.php @@ -231,7 +231,7 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => ['1'], ], ], @@ -544,7 +544,7 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form { ]; if ($this->_params['charts']) { // build the chart. - CRM_Utils_OpenFlashChart::reportChart($graphRows, $this->_params['charts'], $interval, $chartInfo); + CRM_Utils_Chart::reportChart($graphRows, $this->_params['charts'], $interval, $chartInfo); $this->assign('chartType', $this->_params['charts']); } } diff --git a/CRM/Report/Form/Contribute/TopDonor.php b/CRM/Report/Form/Contribute/TopDonor.php index b6479c14aa..093491fdc2 100644 --- a/CRM/Report/Form/Contribute/TopDonor.php +++ b/CRM/Report/Form/Contribute/TopDonor.php @@ -156,7 +156,7 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => [1], ], ], diff --git a/CRM/Report/Form/Event/IncomeCountSummary.php b/CRM/Report/Form/Event/IncomeCountSummary.php index 25c5c533b2..40373be36c 100644 --- a/CRM/Report/Form/Event/IncomeCountSummary.php +++ b/CRM/Report/Form/Event/IncomeCountSummary.php @@ -399,7 +399,7 @@ class CRM_Report_Form_Event_IncomeCountSummary extends CRM_Report_Form { $chartInfo['xLabelAngle'] = 20; // build the chart. - CRM_Utils_OpenFlashChart::buildChart($chartInfo, $this->_params['charts']); + CRM_Utils_Chart::buildChart($chartInfo, $this->_params['charts']); } } } diff --git a/CRM/Report/Form/Event/ParticipantListing.php b/CRM/Report/Form/Event/ParticipantListing.php index 949a6ff8e7..a3106d0b7d 100644 --- a/CRM/Report/Form/Event/ParticipantListing.php +++ b/CRM/Report/Form/Event/ParticipantListing.php @@ -353,7 +353,7 @@ class CRM_Report_Form_Event_ParticipantListing extends CRM_Report_Form { 'contribution_status_id' => array( 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => NULL, ), ), @@ -651,7 +651,7 @@ ORDER BY cv.label $entryFound = FALSE; $eventType = CRM_Core_OptionGroup::values('event_type'); $financialTypes = CRM_Contribute_PseudoConstant::financialType(); - $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(); + $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); $paymentInstruments = CRM_Contribute_PseudoConstant::paymentInstrument(); foreach ($rows as $rowNum => $row) { diff --git a/CRM/Report/Form/Event/Summary.php b/CRM/Report/Form/Event/Summary.php index bfbc8e5a91..b046a7b779 100644 --- a/CRM/Report/Form/Event/Summary.php +++ b/CRM/Report/Form/Event/Summary.php @@ -368,7 +368,7 @@ class CRM_Report_Form_Event_Summary extends CRM_Report_Form { $chartInfo['xLabelAngle'] = 20; // build the chart. - CRM_Utils_OpenFlashChart::buildChart($chartInfo, $this->_params['charts']); + CRM_Utils_Chart::buildChart($chartInfo, $this->_params['charts']); $this->assign('chartType', $this->_params['charts']); } } diff --git a/CRM/Report/Form/Mailing/Bounce.php b/CRM/Report/Form/Mailing/Bounce.php index 9cb491a484..9130fb95c7 100644 --- a/CRM/Report/Form/Mailing/Bounce.php +++ b/CRM/Report/Form/Mailing/Bounce.php @@ -429,7 +429,7 @@ class CRM_Report_Form_Mailing_Bounce extends CRM_Report_Form { } // build the chart. - CRM_Utils_OpenFlashChart::buildChart($chartInfo, $this->_params['charts']); + CRM_Utils_Chart::buildChart($chartInfo, $this->_params['charts']); $this->assign('chartType', $this->_params['charts']); } diff --git a/CRM/Report/Form/Mailing/Clicks.php b/CRM/Report/Form/Mailing/Clicks.php index b2239e02b2..032e47d150 100644 --- a/CRM/Report/Form/Mailing/Clicks.php +++ b/CRM/Report/Form/Mailing/Clicks.php @@ -349,7 +349,7 @@ class CRM_Report_Form_Mailing_Clicks extends CRM_Report_Form { } // build the chart. - CRM_Utils_OpenFlashChart::buildChart($chartInfo, $this->_params['charts']); + CRM_Utils_Chart::buildChart($chartInfo, $this->_params['charts']); $this->assign('chartType', $this->_params['charts']); } diff --git a/CRM/Report/Form/Mailing/Opened.php b/CRM/Report/Form/Mailing/Opened.php index f040552ca4..1c2893f2a8 100644 --- a/CRM/Report/Form/Mailing/Opened.php +++ b/CRM/Report/Form/Mailing/Opened.php @@ -340,7 +340,7 @@ class CRM_Report_Form_Mailing_Opened extends CRM_Report_Form { } // build the chart. - CRM_Utils_OpenFlashChart::buildChart($chartInfo, $this->_params['charts']); + CRM_Utils_Chart::buildChart($chartInfo, $this->_params['charts']); $this->assign('chartType', $this->_params['charts']); } diff --git a/CRM/Report/Form/Mailing/Summary.php b/CRM/Report/Form/Mailing/Summary.php index 549eaf7cda..a43467175c 100644 --- a/CRM/Report/Form/Mailing/Summary.php +++ b/CRM/Report/Form/Mailing/Summary.php @@ -42,7 +42,7 @@ class CRM_Report_Form_Mailing_Summary extends CRM_Report_Form { protected $_charts = [ '' => 'Tabular', - 'bar_3dChart' => 'Bar Chart', + 'barchart' => 'Bar Chart', ]; /** @@ -625,7 +625,7 @@ class CRM_Report_Form_Mailing_Summary extends CRM_Report_Form { $chartInfo['xSize'] = ((count($rows) * 125) + (count($rows) * count($criteria) * 40)); // build the chart. - CRM_Utils_OpenFlashChart::buildChart($chartInfo, $this->_params['charts']); + CRM_Utils_Chart::buildChart($chartInfo, $this->_params['charts']); $this->assign('chartType', $this->_params['charts']); } diff --git a/CRM/Report/Form/Member/ContributionDetail.php b/CRM/Report/Form/Member/ContributionDetail.php index a1c5d33850..ae361ba20c 100644 --- a/CRM/Report/Form/Member/ContributionDetail.php +++ b/CRM/Report/Form/Member/ContributionDetail.php @@ -221,7 +221,7 @@ class CRM_Report_Form_Member_ContributionDetail extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'default' => [1], ], 'total_amount' => ['title' => ts('Contribution Amount')], @@ -646,7 +646,7 @@ class CRM_Report_Form_Member_ContributionDetail extends CRM_Report_Form { $entryFound = FALSE; $contributionTypes = CRM_Contribute_PseudoConstant::financialType(); - $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(); + $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); $paymentInstruments = CRM_Contribute_PseudoConstant::paymentInstrument(); $batches = CRM_Batch_BAO_Batch::getBatches(); diff --git a/CRM/Report/Form/Member/Detail.php b/CRM/Report/Form/Member/Detail.php index 92cd8f40e9..c9d1effe5d 100644 --- a/CRM/Report/Form/Member/Detail.php +++ b/CRM/Report/Form/Member/Detail.php @@ -225,7 +225,7 @@ class CRM_Report_Form_Member_Detail extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), 'type' => CRM_Utils_Type::T_INT, ], 'total_amount' => ['title' => ts('Contribution Amount')], @@ -317,7 +317,7 @@ class CRM_Report_Form_Member_Detail extends CRM_Report_Form { $checkList = []; $contributionTypes = CRM_Contribute_PseudoConstant::financialType(); - $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(); + $contributionStatus = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'); $paymentInstruments = CRM_Contribute_PseudoConstant::paymentInstrument(); $repeatFound = FALSE; diff --git a/CRM/Report/Form/Member/Summary.php b/CRM/Report/Form/Member/Summary.php index ab7dcab267..620189b553 100644 --- a/CRM/Report/Form/Member/Summary.php +++ b/CRM/Report/Form/Member/Summary.php @@ -165,7 +165,7 @@ class CRM_Report_Form_Member_Summary extends CRM_Report_Form { 'contribution_status_id' => [ 'title' => ts('Contribution Status'), 'operatorType' => CRM_Report_Form::OP_MULTISELECT, - 'options' => CRM_Contribute_PseudoConstant::contributionStatus(), + 'options' => CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'label'), ], ], 'grouping' => 'member-fields', @@ -524,10 +524,10 @@ GROUP BY {$this->_aliases['civicrm_contribution']}.currency 'xname' => ts('Member Since / Member Type'), 'yname' => ts('Fees'), ]; - CRM_Utils_OpenFlashChart::reportChart($graphRows, $this->_params['charts'], $interval, $chartInfo); + CRM_Utils_Chart::reportChart($graphRows, $this->_params['charts'], $interval, $chartInfo); } else { - CRM_Utils_OpenFlashChart::chart($graphRows, $this->_params['charts'], $this->_interval); + CRM_Utils_Chart::chart($graphRows, $this->_params['charts'], $this->_interval); } } $this->assign('chartType', $this->_params['charts']); diff --git a/CRM/Report/Form/Membership/Summary.php b/CRM/Report/Form/Membership/Summary.php index 9ab478c084..de12e54c11 100644 --- a/CRM/Report/Form/Membership/Summary.php +++ b/CRM/Report/Form/Membership/Summary.php @@ -342,7 +342,7 @@ LEFT JOIN civicrm_contribution {$this->_aliases['civicrm_contribution']} } // build chart. - CRM_Utils_OpenFlashChart::chart($graphRows, $this->_params['charts'], $this->_interval); + CRM_Utils_Chart::chart($graphRows, $this->_params['charts'], $this->_interval); } parent::endPostProcess(); } diff --git a/CRM/Upgrade/Form.php b/CRM/Upgrade/Form.php index d9561c3953..e7159de55e 100644 --- a/CRM/Upgrade/Form.php +++ b/CRM/Upgrade/Form.php @@ -637,25 +637,52 @@ SET version = '$version' } /** - * Disable any extensions not compatible with this new version. + * Disable/uninstall any extensions not compatible with this new version. * * @param \CRM_Queue_TaskContext $ctx * @param string $postUpgradeMessageFile * @return bool */ public static function disableOldExtensions(CRM_Queue_TaskContext $ctx, $postUpgradeMessageFile) { - $compatInfo = CRM_Extension_System::getCompatibilityInfo(); - $disabled = []; + $messages = []; $manager = CRM_Extension_System::singleton()->getManager(); - foreach ($compatInfo as $key => $ext) { - if (!empty($ext['obsolete']) && $manager->getStatus($key) == $manager::STATUS_INSTALLED) { - $disabled[$key] = sprintf("
  • %s
  • ", ts('The extension %1 is now obsolete and has been disabled.', [1 => $key])); + foreach ($manager->getStatuses() as $key => $status) { + $obsolete = $manager->isIncompatible($key); + if ($obsolete) { + if (!empty($obsolete['disable']) && in_array($status, [$manager::STATUS_INSTALLED, $manager::STATUS_INSTALLED_MISSING])) { + try { + $manager->disable($key); + // Update the status for the sake of uninstall below. + $status = $status == $manager::STATUS_INSTALLED ? $manager::STATUS_DISABLED : $manager::STATUS_DISABLED_MISSING; + // This message is intentionally overwritten by uninstall below as it would be redundant + $messages[$key] = ts('The extension %1 is now obsolete and has been disabled.', [1 => $key]); + } + catch (CRM_Extension_Exception $e) { + $messages[] = ts('The obsolete extension %1 could not be removed due to an error. It is recommended to remove this extension manually.', [1 => $key]); + } + } + if (!empty($obsolete['uninstall']) && in_array($status, [$manager::STATUS_DISABLED, $manager::STATUS_DISABLED_MISSING])) { + try { + $manager->uninstall($key); + $messages[$key] = ts('The extension %1 is now obsolete and has been uninstalled.', [1 => $key]); + if ($status == $manager::STATUS_DISABLED) { + $messages[$key] .= ' ' . ts('You can remove it from your extensions directory.'); + } + } + catch (CRM_Extension_Exception $e) { + $messages[] = ts('The obsolete extension %1 could not be removed due to an error. It is recommended to remove this extension manually.', [1 => $key]); + } + } + if (!empty($obsolete['force-uninstall'])) { + CRM_Core_DAO::executeQuery('UPDATE civicrm_extension SET is_active = 0 WHERE full_name = %1', [ + 1 => [$key, 'String'], + ]); + } } } - if ($disabled) { - $manager->disable(array_keys($disabled)); + if ($messages) { file_put_contents($postUpgradeMessageFile, - '

    ', + '

    ', FILE_APPEND ); } diff --git a/CRM/Upgrade/Incremental/php/FiveNineteen.php b/CRM/Upgrade/Incremental/php/FiveNineteen.php index fe4429a84a..a0ff9bf705 100644 --- a/CRM/Upgrade/Incremental/php/FiveNineteen.php +++ b/CRM/Upgrade/Incremental/php/FiveNineteen.php @@ -61,27 +61,53 @@ class CRM_Upgrade_Incremental_php_FiveNineteen extends CRM_Upgrade_Incremental_B // } } - /* - * 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_19_alpha1($rev) { + $this->addTask(ts('Upgrade DB to %1: SQL', [1 => $rev]), 'runSql', $rev); + $this->addTask('Add api4 menu', 'api4Menu'); + $this->addTask('Add is_active field to civicrm_status_pref', 'addColumn', 'civicrm_status_pref', 'is_active', + "tinyint(4) DEFAULT '1' COMMENT 'Is this status check active'", FALSE, '5.19.0'); + } - // /** - // * Upgrade function. - // * - // * @param string $rev - // */ - // public function upgrade_5_0_x($rev) { - // $this->addTask(ts('Upgrade DB to %1: SQL', [1 => $rev]), 'runSql', $rev); - // $this->addTask('Do the foo change', 'taskFoo', ...); - // // Additional tasks here... - // // Note: do not use ts() in the addTask description because it adds unnecessary strings to transifex. - // // The above is an exception because 'Upgrade DB to %1: SQL' is generic & reusable. - // } - - // public static function taskFoo(CRM_Queue_TaskContext $ctx, ...) { - // return TRUE; - // } + /** + * Add menu item for api4 explorer; rename v3 explorer menu item. + * + * @param \CRM_Queue_TaskContext $ctx + * @return bool + */ + public static function api4Menu(CRM_Queue_TaskContext $ctx) { + try { + $v3Item = civicrm_api3('Navigation', 'get', [ + 'name' => 'API Explorer', + 'return' => ['id', 'parent_id', 'weight'], + 'sequential' => 1, + 'domain_id' => CRM_Core_Config::domainID(), + 'api.Navigation.create' => ['label' => ts("Api Explorer v3")], + ]); + $existing = civicrm_api3('Navigation', 'getcount', [ + 'name' => "Api Explorer v4", + 'domain_id' => CRM_Core_Config::domainID(), + ]); + if (!$existing) { + civicrm_api3('Navigation', 'create', [ + 'parent_id' => $v3Item['values'][0]['parent_id'] ?? 'Developer', + 'label' => ts("Api Explorer v4"), + 'weight' => $v3Item['values'][0]['weight'] ?? 2, + 'name' => "Api Explorer v4", + 'permission' => "administer CiviCRM", + 'url' => "civicrm/api4#/explorer", + 'is_active' => 1, + ]); + } + } + catch (Exception $e) { + // Couldn't create menu item. + } + return TRUE; + } } diff --git a/CRM/Upgrade/Incremental/php/FiveTwenty.php b/CRM/Upgrade/Incremental/php/FiveTwenty.php new file mode 100644 index 0000000000..94b9e029e7 --- /dev/null +++ b/CRM/Upgrade/Incremental/php/FiveTwenty.php @@ -0,0 +1,87 @@ +' . 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'))) . '

    '; + // } + } + + /** + * 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 .= '

    ' . 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): + */ + + // public static function taskFoo(CRM_Queue_TaskContext $ctx, ...) { + // return TRUE; + // } + + /** + * Upgrade function. + * + * @param string $rev + */ + public function upgrade_5_20_alpha1($rev) { + $this->addTask('Add frontend title column to contribution page table', 'addColumn', 'civicrm_contribution_page', + 'frontend_title', "varchar(255) DEFAULT NULL COMMENT 'Contribution Page Public title'", TRUE, '5.20.alpha1'); + $this->addTask('Add is_template field to civicrm_contribution', 'addColumn', 'civicrm_contribution', 'is_template', + "tinyint(4) DEFAULT '0' COMMENT 'Shows this is a template for recurring contributions.'", FALSE, '5.20.alpha1'); + $this->addTask(ts('Upgrade DB to %1: SQL', [1 => $rev]), 'runSql', $rev); + } + +} diff --git a/CRM/Upgrade/Incremental/sql/5.18.0.mysql.tpl b/CRM/Upgrade/Incremental/sql/5.18.0.mysql.tpl new file mode 100644 index 0000000000..34af8cc252 --- /dev/null +++ b/CRM/Upgrade/Incremental/sql/5.18.0.mysql.tpl @@ -0,0 +1 @@ +{* file to handle db changes in 5.18.0 during upgrade *} diff --git a/CRM/Upgrade/Incremental/sql/5.19.beta1.mysql.tpl b/CRM/Upgrade/Incremental/sql/5.19.beta1.mysql.tpl new file mode 100644 index 0000000000..e565ce5d78 --- /dev/null +++ b/CRM/Upgrade/Incremental/sql/5.19.beta1.mysql.tpl @@ -0,0 +1 @@ +{* file to handle db changes in 5.19.beta1 during upgrade *} diff --git a/CRM/Upgrade/Incremental/sql/5.20.alpha1.mysql.tpl b/CRM/Upgrade/Incremental/sql/5.20.alpha1.mysql.tpl new file mode 100644 index 0000000000..34686ec833 --- /dev/null +++ b/CRM/Upgrade/Incremental/sql/5.20.alpha1.mysql.tpl @@ -0,0 +1 @@ +{* file to handle db changes in 5.20.alpha1 during upgrade *} diff --git a/CRM/Utils/Chart.php b/CRM/Utils/Chart.php new file mode 100644 index 0000000000..656277307b --- /dev/null +++ b/CRM/Utils/Chart.php @@ -0,0 +1,331 @@ + ts('Bar Chart')]; + + // ? Not sure what reports use this, but it's not implemented. + // call user define function to handle on click event. + // if ($onClickFunName = CRM_Utils_Array::value('on_click_fun_name', $params)) { + // $bars[$barCount]->set_on_click($onClickFunName); + // } + + //// get the currency to set in tooltip. + //$tooltip = CRM_Utils_Array::value('tip', $params, "$symbol #val#"); + + return $output; + } + + /** + * Build a pie chart. + * + * @param array $params + * Assoc array of name/value pairs. + * + * @return array + */ + public static function pieChart($params) { + $output = static::commonParamsManipulation($params); + if (empty($output)) { + return NULL; + } + $output['type'] = 'piechart'; + $output += ['title' => ts('Pie Chart')]; + + // ? Not sure what reports use this, but it's not implemented. + // call user define function to handle on click event. + // if ($onClickFunName = CRM_Utils_Array::value('on_click_fun_name', $params)) { + // $bars[$barCount]->set_on_click($onClickFunName); + // } + + //// get the currency to set in tooltip. + //$tooltip = CRM_Utils_Array::value('tip', $params, "$symbol #val#"); + + return $output; + } + + /** + * Common data manipulation for charts. + * + * @param array $params + * Assoc array of name/value pairs. + * + * @return array + */ + public static function commonParamsManipulation($params) { + if (empty($params)) { + return NULL; + } + $output = []; + if (empty($params['multiValues'])) { + $params['multiValues'] = [$params['values']]; + } + + $output['values'] = []; + foreach ($params['multiValues'] as $i => $dataSet) { + $output['values'][$i] = []; + foreach ($dataSet as $k => $v) { + $output['values'][$i][] = ['label' => $k, 'value' => (double) $v]; + } + } + if (!$output['values']) { + return NULL; + } + + // Ensure there's a legend (title) + if (!empty($params['legend'])) { + $output['title'] = $params['legend']; + } + + $output['symbol'] = CRM_Core_BAO_Country::defaultCurrencySymbol(); + + // ? Not sure what reports use this, but it's not implemented. + // call user define function to handle on click event. + // if ($onClickFunName = CRM_Utils_Array::value('on_click_fun_name', $params)) { + // $bars[$barCount]->set_on_click($onClickFunName); + // } + + //// get the currency to set in tooltip. + //$tooltip = CRM_Utils_Array::value('tip', $params, "$symbol #val#"); + + return $output; + } + + /** + * @param $rows + * @param $chart + * @param $interval + * + * @return array + */ + public static function chart($rows, $chart, $interval) { + $lcInterval = strtolower($interval); + $label = ucfirst($lcInterval); + $chartData = $dateKeys = []; + $intervalLabels = [ + 'year' => ts('Yearly'), + 'fiscalyear' => ts('Yearly (Fiscal)'), + 'month' => ts('Monthly'), + 'quarter' => ts('Quarterly'), + 'week' => ts('Weekly'), + 'yearweek' => ts('Weekly'), + ]; + + switch ($lcInterval) { + case 'month': + case 'quarter': + case 'week': + case 'yearweek': + foreach ($rows['receive_date'] as $key => $val) { + list($year, $month) = explode('-', $val); + $dateKeys[] = substr($rows[$interval][$key], 0, 3) . ' of ' . $year; + } + $legend = $intervalLabels[$lcInterval]; + break; + + default: + foreach ($rows['receive_date'] as $key => $val) { + list($year, $month) = explode('-', $val); + $dateKeys[] = $year; + } + $legend = ts("%1", [1 => $label]); + if (!empty($intervalLabels[$lcInterval])) { + $legend = $intervalLabels[$lcInterval]; + } + break; + } + + if (!empty($dateKeys)) { + $graph = []; + if (!array_key_exists('multiValue', $rows)) { + $rows['multiValue'] = [$rows['value']]; + } + foreach ($rows['multiValue'] as $key => $val) { + $graph[$key] = array_combine($dateKeys, $rows['multiValue'][$key]); + } + $chartData = [ + 'legend' => "$legend " . CRM_Utils_Array::value('legend', $rows, ts('Contribution')) . ' ' . ts('Summary'), + 'values' => $graph[0], + 'multiValues' => $graph, + 'barKeys' => CRM_Utils_Array::value('barKeys', $rows, []), + ]; + } + + // rotate the x labels. + $chartData['xLabelAngle'] = CRM_Utils_Array::value('xLabelAngle', $rows, 0); + if (!empty($rows['tip'])) { + $chartData['tip'] = $rows['tip']; + } + + // legend + $chartData['xname'] = CRM_Utils_Array::value('xname', $rows); + $chartData['yname'] = CRM_Utils_Array::value('yname', $rows); + + // carry some chart params if pass. + foreach ([ + 'xSize', + 'ySize', + 'divName', + ] as $f) { + if (!empty($rows[$f])) { + $chartData[$f] = $rows[$f]; + } + } + + return self::buildChart($chartData, $chart); + } + + /** + * @param $rows + * @param $chart + * @param $interval + * @param $chartInfo + * + * @return array + */ + public static function reportChart($rows, $chart, $interval, &$chartInfo) { + foreach ($interval as $key => $val) { + $graph[$val] = $rows['value'][$key]; + } + + $chartData = [ + 'values' => $graph, + 'legend' => $chartInfo['legend'], + 'xname' => $chartInfo['xname'], + 'yname' => $chartInfo['yname'], + ]; + + // rotate the x labels. + $chartData['xLabelAngle'] = CRM_Utils_Array::value('xLabelAngle', $chartInfo, 20); + if (!empty($chartInfo['tip'])) { + $chartData['tip'] = $chartInfo['tip']; + } + + // carry some chart params if pass. + foreach ([ + 'xSize', + 'ySize', + 'divName', + ] as $f) { + if (!empty($rows[$f])) { + $chartData[$f] = $rows[$f]; + } + } + + return self::buildChart($chartData, $chart); + } + + /** + * @param array $params + * @param $chart + * + * @return array + */ + public static function buildChart(&$params, $chart) { + $theChart = []; + if ($chart && is_array($params) && !empty($params)) { + // build the chart objects. + $chartObj = CRM_Utils_Chart::$chart($params); + + if ($chartObj) { + // calculate chart size. + $xSize = CRM_Utils_Array::value('xSize', $params, 400); + $ySize = CRM_Utils_Array::value('ySize', $params, 300); + if ($chart == 'barChart') { + $ySize = CRM_Utils_Array::value('ySize', $params, 250); + $xSize = 60 * count($params['values']); + // hack to show tooltip. + if ($xSize < 200) { + $xSize = (count($params['values']) > 1) ? 100 * count($params['values']) : 170; + } + elseif ($xSize > 600 && count($params['values']) > 1) { + $xSize = (count($params['values']) + 400 / count($params['values'])) * count($params['values']); + } + } + + // generate unique id for this chart instance + $uniqueId = md5(uniqid(rand(), TRUE)); + + $theChart["chart_{$uniqueId}"]['size'] = ['xSize' => $xSize, 'ySize' => $ySize]; + $theChart["chart_{$uniqueId}"]['object'] = $chartObj; + + // assign chart data to template + $template = CRM_Core_Smarty::singleton(); + $template->assign('uniqueId', $uniqueId); + $template->assign("chartData", json_encode($theChart ?? [])); + } + } + + return $theChart; + } + +} diff --git a/CRM/Utils/Check/Component.php b/CRM/Utils/Check/Component.php index f07f2923fc..3772b4b383 100644 --- a/CRM/Utils/Check/Component.php +++ b/CRM/Utils/Check/Component.php @@ -25,6 +25,7 @@ +--------------------------------------------------------------------+ */ +use Civi\Api4\StatusPreference; /** * @@ -33,6 +34,36 @@ */ abstract class CRM_Utils_Check_Component { + /** + * @var array + */ + public $checksConfig = []; + + /** + * Get the configured status checks. + * + * @return array + * + * @throws \API_Exception + * @throws \Civi\API\Exception\UnauthorizedException + */ + public function getChecksConfig() { + if (empty($this->checksConfig)) { + $this->checksConfig = Civi::cache('checks')->get('checksConfig', []); + if (empty($this->checksConfig)) { + $this->checksConfig = StatusPreference::get()->setCheckPermissions(FALSE)->execute()->indexBy('name'); + } + } + return $this->checksConfig; + } + + /** + * @param array $checksConfig + */ + public function setChecksConfig(array $checksConfig) { + $this->checksConfig = $checksConfig; + } + /** * Should these checks be run? * @@ -47,17 +78,48 @@ abstract class CRM_Utils_Check_Component { * * @return array * [CRM_Utils_Check_Message] + * + * @throws \API_Exception + * @throws \Civi\API\Exception\UnauthorizedException */ public function checkAll() { $messages = []; foreach (get_class_methods($this) as $method) { - if ($method !== 'checkAll' && strpos($method, 'check') === 0) { + // Note that we should check if the test is disabled BEFORE running it in case it's disabled for performance. + if ($method !== 'checkAll' && strpos($method, 'check') === 0 && !$this->isDisabled($method)) { $messages = array_merge($messages, $this->$method()); } } return $messages; } + /** + * Is the specified check disabled. + * + * @param string $method + * + * @return bool + * + * @throws \API_Exception + * @throws \Civi\API\Exception\UnauthorizedException + */ + public function isDisabled($method) { + try { + $checks = $this->getChecksConfig(); + if (!empty($checks[$method])) { + return (bool) empty($checks[$method]['is_active']); + } + } + catch (PEAR_Exception $e) { + // if we're hitting this, DB migration to 5.19 probably hasn't run yet, so + // is_active doesn't exist. Ignore this error so the status check (which + // might warn about missing migrations!) still renders. + // TODO: remove at some point after 5.19 + } + + return FALSE; + } + /** * Check if file exists on given URL. * @@ -65,6 +127,7 @@ abstract class CRM_Utils_Check_Component { * @param float|bool $timeoutOverride * * @return bool + * @throws \GuzzleHttp\Exception\GuzzleException */ public function fileExists($url, $timeoutOverride = FALSE) { // Timeout past in maybe 0 in which case we should still permit it (0 is infinite). diff --git a/CRM/Utils/DeprecatedUtils.php b/CRM/Utils/DeprecatedUtils.php index 3ed6d8f862..0045346efe 100644 --- a/CRM/Utils/DeprecatedUtils.php +++ b/CRM/Utils/DeprecatedUtils.php @@ -879,7 +879,8 @@ function _civicrm_api3_deprecated_activity_buildmailparams($result, $activityTyp $params['activity_date_time'] = $result['date']; $params['details'] = $result['body']; - for ($i = 1; $i <= 5; $i++) { + $numAttachments = Civi::settings()->get('max_attachments_backend') ?? CRM_Core_BAO_File::DEFAULT_MAX_ATTACHMENTS_BACKEND; + for ($i = 1; $i <= $numAttachments; $i++) { if (isset($result["attachFile_$i"])) { $params["attachFile_$i"] = $result["attachFile_$i"]; } diff --git a/CRM/Utils/OpenFlashChart.php b/CRM/Utils/OpenFlashChart.php deleted file mode 100644 index 178f093bb0..0000000000 --- a/CRM/Utils/OpenFlashChart.php +++ /dev/null @@ -1,567 +0,0 @@ - $barVal) { - $bars[$barCount] = new bar_glass(); - - $yValues = array_values($barVal); - foreach ($yValues as &$yVal) { - // type casting is required for chart to render values correctly - $yVal = (double) $yVal; - } - $bars[$barCount]->set_values($yValues); - if ($barCount > 0) { - // FIXME: for bars > 2, we'll need to come out with other colors - $bars[$barCount]->colour('#BF3B69'); - } - - if ($barKey = CRM_Utils_Array::value($barCount, CRM_Utils_Array::value('barKeys', $params))) { - $bars[$barCount]->key($barKey, 12); - } - - // call user define function to handle on click event. - if ($onClickFunName = CRM_Utils_Array::value('on_click_fun_name', $params)) { - $bars[$barCount]->set_on_click($onClickFunName); - } - - // get the currency to set in tooltip. - $tooltip = CRM_Utils_Array::value('tip', $params, "$symbol #val#"); - $bars[$barCount]->set_tooltip($tooltip); - } - - // create x axis label obj. - $xLabels = new x_axis_labels(); - // set_labels function requires xValues array of string or x_axis_label - // so type casting array values to string values - array_walk($xValues, function (&$value, $index) { - $value = (string) $value; - }); - $xLabels->set_labels($xValues); - - // set angle for labels. - if ($xLabelAngle = CRM_Utils_Array::value('xLabelAngle', $params)) { - $xLabels->rotate($xLabelAngle); - } - - // create x axis obj. - $xAxis = new x_axis(); - $xAxis->set_labels($xLabels); - - // create y axis and set range. - $yAxis = new y_axis(); - $yAxis->set_range($yMin, $yMax, $ySteps); - - // create chart title obj. - $title = new title($chartTitle); - - // create chart. - $chart = new open_flash_chart(); - - // add x axis w/ labels to chart. - $chart->set_x_axis($xAxis); - - // add y axis values to chart. - $chart->add_y_axis($yAxis); - - // set title to chart. - $chart->set_title($title); - - // add bar element to chart. - foreach ($bars as $bar) { - $chart->add_element($bar); - } - - // add x axis legend. - if ($xName = CRM_Utils_Array::value('xname', $params)) { - $xLegend = new x_legend($xName); - $xLegend->set_style("{font-size: 13px; color:#000000; font-family: Verdana; text-align: center;}"); - $chart->set_x_legend($xLegend); - } - - // add y axis legend. - if ($yName = CRM_Utils_Array::value('yname', $params)) { - $yLegend = new y_legend($yName); - $yLegend->set_style("{font-size: 13px; color:#000000; font-family: Verdana; text-align: center;}"); - $chart->set_y_legend($yLegend); - } - - return $chart; - } - - /** - * Build The Pie Gharph. - * - * @param array $params - * Assoc array of name/value pairs. - * - * @return object - * $chart object of open flash chart. - */ - public static function &pieChart(&$params) { - $chart = NULL; - if (empty($params)) { - return $chart; - } - $allValues = CRM_Utils_Array::value('values', $params); - if (!is_array($allValues) || empty($allValues)) { - return $chart; - } - - // get the required data. - $values = []; - foreach ($allValues as $label => $value) { - $values[] = new pie_value((double) $value, $label); - } - $graphTitle = !empty($params['legend']) ? $params['legend'] : ts('Pie Chart'); - - // get the currency. - $symbol = CRM_Core_BAO_Country::defaultCurrencySymbol(); - - $pie = new pie(); - $pie->radius(100); - - // call user define function to handle on click event. - if ($onClickFunName = CRM_Utils_Array::value('on_click_fun_name', $params)) { - $pie->on_click($onClickFunName); - } - - $pie->set_start_angle(35); - $pie->add_animation(new pie_fade()); - $pie->add_animation(new pie_bounce(2)); - - // set the tooltip. - $tooltip = CRM_Utils_Array::value('tip', $params, "Amount is $symbol #val# of $symbol #total#
    #percent#"); - $pie->set_tooltip($tooltip); - - // set colours. - $pie->set_colours(self::$_colours); - - $pie->set_values($values); - - // create chart. - $chart = new open_flash_chart(); - - // create chart title obj. - $title = new title($graphTitle); - $chart->set_title($title); - - $chart->add_element($pie); - $chart->x_axis = NULL; - - return $chart; - } - - /** - * Build The 3-D Bar Gharph. - * - * @param array $params - * Assoc array of name/value pairs. - * - * @return object - * $chart object of open flash chart. - */ - public static function &bar_3dChart(&$params) { - $chart = NULL; - if (empty($params)) { - return $chart; - } - - // $params['values'] should contains the values for each - // criteria defined in $params['criteria'] - $values = CRM_Utils_Array::value('values', $params); - $criteria = CRM_Utils_Array::value('criteria', $params); - if (!is_array($values) || empty($values) || !is_array($criteria) || empty($criteria)) { - return $chart; - } - - // get the required data. - $xReferences = $xValueLabels = $xValues = $yValues = []; - - foreach ($values as $xVal => $yVal) { - if (!is_array($yVal) || empty($yVal)) { - continue; - } - - $xValueLabels[] = (string) $xVal; - foreach ($criteria as $criteria) { - $xReferences[$criteria][$xVal] = (double) CRM_Utils_Array::value($criteria, $yVal, 0); - $yValues[] = (double) CRM_Utils_Array::value($criteria, $yVal, 0); - } - } - - if (empty($xReferences)) { - - return $chart; - - } - - // get the currency. - $symbol = CRM_Core_BAO_Country::defaultCurrencySymbol(); - - // set the tooltip. - $tooltip = CRM_Utils_Array::value('tip', $params, "$symbol #val#"); - - $count = 0; - foreach ($xReferences as $criteria => $values) { - $toolTipVal = $tooltip; - // for separate tooltip for each criteria - if (is_array($tooltip)) { - $toolTipVal = CRM_Utils_Array::value($criteria, $tooltip, "$symbol #val#"); - } - - // create bar_3d object - $xValues[$count] = new bar_3d(); - // set colour pattel - $xValues[$count]->set_colour(self::$_colours[$count]); - // define colur pattel with bar criteria - $xValues[$count]->key((string) $criteria, 12); - // define bar chart values - $xValues[$count]->set_values(array_values($values)); - - // set tooltip - $xValues[$count]->set_tooltip($toolTipVal); - $count++; - } - - $chartTitle = !empty($params['legend']) ? $params['legend'] : ts('Bar Chart'); - - // set y axis parameters. - $yMin = 0; - - // calculate max scale for graph. - $yMax = ceil(max($yValues)); - if ($mod = $yMax % (str_pad(5, strlen($yMax) - 1, 0))) { - $yMax += str_pad(5, strlen($yMax) - 1, 0) - $mod; - } - - // if max value of y-axis <= 0, then set default values - if ($yMax <= 0) { - $ySteps = 1; - $yMax = 5; - } - else { - $ySteps = $yMax / 5; - } - - // create x axis label obj. - $xLabels = new x_axis_labels(); - $xLabels->set_labels($xValueLabels); - - // set angle for labels. - if ($xLabelAngle = CRM_Utils_Array::value('xLabelAngle', $params)) { - $xLabels->rotate($xLabelAngle); - } - - // create x axis obj. - $xAxis = new x_axis(); - $xAxis->set_labels($xLabels); - - // create y axis and set range. - $yAxis = new y_axis(); - $yAxis->set_range($yMin, $yMax, $ySteps); - - // create chart title obj. - $title = new title($chartTitle); - - // create chart. - $chart = new open_flash_chart(); - - // add x axis w/ labels to chart. - $chart->set_x_axis($xAxis); - - // add y axis values to chart. - $chart->add_y_axis($yAxis); - - // set title to chart. - $chart->set_title($title); - - foreach ($xValues as $bar) { - // add bar element to chart. - $chart->add_element($bar); - } - - // add x axis legend. - if ($xName = CRM_Utils_Array::value('xname', $params)) { - $xLegend = new x_legend($xName); - $xLegend->set_style("{font-size: 13px; color:#000000; font-family: Verdana; text-align: center;}"); - $chart->set_x_legend($xLegend); - } - - // add y axis legend. - if ($yName = CRM_Utils_Array::value('yname', $params)) { - $yLegend = new y_legend($yName); - $yLegend->set_style("{font-size: 13px; color:#000000; font-family: Verdana; text-align: center;}"); - $chart->set_y_legend($yLegend); - } - - return $chart; - } - - /** - * @param $rows - * @param $chart - * @param $interval - * - * @return array - */ - public static function chart($rows, $chart, $interval) { - $lcInterval = strtolower($interval); - $label = ucfirst($lcInterval); - $chartData = $dateKeys = []; - $intervalLabels = [ - 'year' => ts('Yearly'), - 'fiscalyear' => ts('Yearly (Fiscal)'), - 'month' => ts('Monthly'), - 'quarter' => ts('Quarterly'), - 'week' => ts('Weekly'), - 'yearweek' => ts('Weekly'), - ]; - - switch ($lcInterval) { - case 'month': - case 'quarter': - case 'week': - case 'yearweek': - foreach ($rows['receive_date'] as $key => $val) { - list($year, $month) = explode('-', $val); - $dateKeys[] = substr($rows[$interval][$key], 0, 3) . ' of ' . $year; - } - $legend = $intervalLabels[$lcInterval]; - break; - - default: - foreach ($rows['receive_date'] as $key => $val) { - list($year, $month) = explode('-', $val); - $dateKeys[] = $year; - } - $legend = ts("%1", [1 => $label]); - if (!empty($intervalLabels[$lcInterval])) { - $legend = $intervalLabels[$lcInterval]; - } - break; - } - - if (!empty($dateKeys)) { - $graph = []; - if (!array_key_exists('multiValue', $rows)) { - $rows['multiValue'] = [$rows['value']]; - } - foreach ($rows['multiValue'] as $key => $val) { - $graph[$key] = array_combine($dateKeys, $rows['multiValue'][$key]); - } - $chartData = [ - 'legend' => "$legend " . CRM_Utils_Array::value('legend', $rows, ts('Contribution')) . ' ' . ts('Summary'), - 'values' => $graph[0], - 'multiValues' => $graph, - 'barKeys' => CRM_Utils_Array::value('barKeys', $rows, []), - ]; - } - - // rotate the x labels. - $chartData['xLabelAngle'] = CRM_Utils_Array::value('xLabelAngle', $rows, 0); - if (!empty($rows['tip'])) { - $chartData['tip'] = $rows['tip']; - } - - // legend - $chartData['xname'] = CRM_Utils_Array::value('xname', $rows); - $chartData['yname'] = CRM_Utils_Array::value('yname', $rows); - - // carry some chart params if pass. - foreach ([ - 'xSize', - 'ySize', - 'divName', - ] as $f) { - if (!empty($rows[$f])) { - $chartData[$f] = $rows[$f]; - } - } - - return self::buildChart($chartData, $chart); - } - - /** - * @param $rows - * @param $chart - * @param $interval - * @param $chartInfo - * - * @return array - */ - public static function reportChart($rows, $chart, $interval, &$chartInfo) { - foreach ($interval as $key => $val) { - $graph[$val] = $rows['value'][$key]; - } - - $chartData = [ - 'values' => $graph, - 'legend' => $chartInfo['legend'], - 'xname' => $chartInfo['xname'], - 'yname' => $chartInfo['yname'], - ]; - - // rotate the x labels. - $chartData['xLabelAngle'] = CRM_Utils_Array::value('xLabelAngle', $chartInfo, 20); - if (!empty($chartInfo['tip'])) { - $chartData['tip'] = $chartInfo['tip']; - } - - // carry some chart params if pass. - foreach ([ - 'xSize', - 'ySize', - 'divName', - ] as $f) { - if (!empty($rows[$f])) { - $chartData[$f] = $rows[$f]; - } - } - - return self::buildChart($chartData, $chart); - } - - /** - * @param array $params - * @param $chart - * - * @return array - */ - public static function buildChart(&$params, $chart) { - $openFlashChart = []; - if ($chart && is_array($params) && !empty($params)) { - // build the chart objects. - $chartObj = CRM_Utils_OpenFlashChart::$chart($params); - - $openFlashChart = []; - if ($chartObj) { - // calculate chart size. - $xSize = CRM_Utils_Array::value('xSize', $params, 400); - $ySize = CRM_Utils_Array::value('ySize', $params, 300); - if ($chart == 'barChart') { - $ySize = CRM_Utils_Array::value('ySize', $params, 250); - $xSize = 60 * count($params['values']); - // hack to show tooltip. - if ($xSize < 200) { - $xSize = (count($params['values']) > 1) ? 100 * count($params['values']) : 170; - } - elseif ($xSize > 600 && count($params['values']) > 1) { - $xSize = (count($params['values']) + 400 / count($params['values'])) * count($params['values']); - } - } - - // generate unique id for this chart instance - $uniqueId = md5(uniqid(rand(), TRUE)); - - $openFlashChart["chart_{$uniqueId}"]['size'] = ['xSize' => $xSize, 'ySize' => $ySize]; - $openFlashChart["chart_{$uniqueId}"]['object'] = $chartObj; - - // assign chart data to template - $template = CRM_Core_Smarty::singleton(); - $template->assign('uniqueId', $uniqueId); - $template->assign("openFlashChartData", json_encode($openFlashChart)); - } - } - - return $openFlashChart; - } - -} diff --git a/CRM/Utils/Type.php b/CRM/Utils/Type.php index ef066db8f0..483e5629b1 100644 --- a/CRM/Utils/Type.php +++ b/CRM/Utils/Type.php @@ -233,19 +233,22 @@ class CRM_Utils_Type { * * @return mixed * The data, escaped if necessary. + * @throws \Exception */ public static function escape($data, $type, $abort = TRUE) { switch ($type) { case 'Integer': case 'Int': - if (CRM_Utils_Rule::integer($data)) { - return (int) $data; - } - break; - case 'Positive': - if (CRM_Utils_Rule::positiveInteger($data)) { - return (int) $data; + case 'Float': + case 'Money': + case 'Date': + case 'Timestamp': + case 'ContactReference': + case 'MysqlOrderByDirection': + $validatedData = self::validate($data, $type, $abort); + if (isset($validatedData)) { + return $validatedData; } break; @@ -287,43 +290,10 @@ class CRM_Utils_Type { } break; - case 'Float': - case 'Money': - if (CRM_Utils_Rule::numeric($data)) { - return $data; - } - break; - case 'String': case 'Memo': case 'Text': - return CRM_Core_DAO::escapeString($data); - - case 'Date': - case 'Timestamp': - // a null date or timestamp is valid - if (strlen(trim($data)) == 0) { - return trim($data); - } - - if ((preg_match('/^\d{8}$/', $data) || - preg_match('/^\d{14}$/', $data) - ) && - CRM_Utils_Rule::mysqlDate($data) - ) { - return $data; - } - break; - - case 'ContactReference': - if (strlen(trim($data)) == 0) { - return trim($data); - } - - if (CRM_Utils_Rule::validContact($data)) { - return (int) $data; - } - break; + return CRM_Core_DAO::escapeString(self::validate($data, $type, $abort)); case 'MysqlColumnNameOrAlias': if (CRM_Utils_Rule::mysqlColumnNameOrAlias($data)) { @@ -335,12 +305,6 @@ class CRM_Utils_Type { } break; - case 'MysqlOrderByDirection': - if (CRM_Utils_Rule::mysqlOrderByDirection($data)) { - return strtolower($data); - } - break; - case 'MysqlOrderBy': if (CRM_Utils_Rule::mysqlOrderBy($data)) { $parts = explode(',', $data); @@ -387,6 +351,7 @@ class CRM_Utils_Type { // @todo Use exceptions instead of CRM_Core_Error::fatal(). if ($abort) { $data = htmlentities($data); + CRM_Core_Error::fatal("$data is not of the type $type"); } return NULL; @@ -470,18 +435,6 @@ class CRM_Utils_Type { return $data; case 'Date': - // a null date is valid - if (strlen(trim($data)) == 0) { - return trim($data); - } - - if (preg_match('/^\d{8}$/', $data) && - CRM_Utils_Rule::mysqlDate($data) - ) { - return $data; - } - break; - case 'Timestamp': // a null timestamp is valid if (strlen(trim($data)) == 0) { @@ -504,7 +457,7 @@ class CRM_Utils_Type { } if (CRM_Utils_Rule::validContact($data)) { - return $data; + return (int) $data; } break; diff --git a/Civi/Angular/Manager.php b/Civi/Angular/Manager.php index c44b854aa6..cb4c4c86d2 100644 --- a/Civi/Angular/Manager.php +++ b/Civi/Angular/Manager.php @@ -98,6 +98,8 @@ class Manager { $angularModules['ui.sortable'] = include "$civicrm_root/ang/ui.sortable.ang.php"; $angularModules['unsavedChanges'] = include "$civicrm_root/ang/unsavedChanges.ang.php"; $angularModules['statuspage'] = include "$civicrm_root/ang/crmStatusPage.ang.php"; + $angularModules['api4Explorer'] = include "$civicrm_root/ang/api4Explorer.ang.php"; + $angularModules['api4'] = include "$civicrm_root/ang/api4.ang.php"; foreach (\CRM_Core_Component::getEnabledComponents() as $component) { $angularModules = array_merge($angularModules, $component->getAngularModules()); diff --git a/Civi/Api4/ACL.php b/Civi/Api4/ACL.php new file mode 100644 index 0000000000..363823dd20 --- /dev/null +++ b/Civi/Api4/ACL.php @@ -0,0 +1,54 @@ +streetParsing && !empty($item['street_address'])) { + $item = array_merge($item, \CRM_Core_BAO_Address::parseStreetAddress($item['street_address'])); + } + $item['skip_geocode'] = $this->skipGeocode; + } + return parent::writeObjects($items); + } + +} diff --git a/Civi/Api4/Action/Address/Create.php b/Civi/Api4/Action/Address/Create.php new file mode 100644 index 0000000000..33fffe4108 --- /dev/null +++ b/Civi/Api4/Action/Address/Create.php @@ -0,0 +1,46 @@ +ttl === 0 || $this->ttl === '0') ? 'inf' : $this->ttl; + $result[] = [ + 'id' => $this->contactId, + 'checksum' => \CRM_Contact_BAO_Contact_Utils::generateChecksum($this->contactId, NULL, $ttl), + ]; + } + +} diff --git a/Civi/Api4/Action/Contact/GetFields.php b/Civi/Api4/Action/Contact/GetFields.php new file mode 100644 index 0000000000..4db97e5012 --- /dev/null +++ b/Civi/Api4/Action/Contact/GetFields.php @@ -0,0 +1,54 @@ +checkPermissions && !\CRM_Core_Permission::check([$apiKeyPerms])) { + unset($fields['api_key']); + } + + return $fields; + } + +} diff --git a/Civi/Api4/Action/Contact/ValidateChecksum.php b/Civi/Api4/Action/Contact/ValidateChecksum.php new file mode 100644 index 0000000000..f8038f854e --- /dev/null +++ b/Civi/Api4/Action/Contact/ValidateChecksum.php @@ -0,0 +1,77 @@ + \CRM_Contact_BAO_Contact_Utils::validChecksum($this->contactId, $this->checksum), + ]; + } + +} diff --git a/Civi/Api4/Action/CustomValue/Create.php b/Civi/Api4/Action/CustomValue/Create.php new file mode 100644 index 0000000000..7f174b7e4e --- /dev/null +++ b/Civi/Api4/Action/CustomValue/Create.php @@ -0,0 +1,46 @@ +_itemsToGet('name'); + /** @var \Civi\Api4\Service\Spec\SpecGatherer $gatherer */ + $gatherer = \Civi::container()->get('spec_gatherer'); + $spec = $gatherer->getSpec('Custom_' . $this->getCustomGroup(), $this->getAction(), $this->includeCustom); + return SpecFormatter::specToArray($spec->getFields($fields), $this->loadOptions); + } + + /** + * @inheritDoc + */ + public function getParamInfo($param = NULL) { + $info = parent::getParamInfo($param); + if (!$param) { + // This param is meaningless here. + unset($info['includeCustom']); + } + return $info; + } + +} diff --git a/Civi/Api4/Action/CustomValue/Replace.php b/Civi/Api4/Action/CustomValue/Replace.php new file mode 100644 index 0000000000..347be65005 --- /dev/null +++ b/Civi/Api4/Action/CustomValue/Replace.php @@ -0,0 +1,46 @@ +currentDomain) { + $this->addWhere('id', '=', \CRM_Core_Config::domainID()); + } + return parent::getObjects(); + } + +} diff --git a/Civi/Api4/Action/Entity/Get.php b/Civi/Api4/Action/Entity/Get.php new file mode 100644 index 0000000000..a0ca45001d --- /dev/null +++ b/Civi/Api4/Action/Entity/Get.php @@ -0,0 +1,140 @@ +getPath('[civicrm.root]/Civi.php')], + array_column(\CRM_Extension_System::singleton()->getMapper()->getActiveModuleFiles(), 'filePath') + ); + foreach ($locations as $location) { + $dir = \CRM_Utils_File::addTrailingSlash(dirname($location)) . 'Civi/Api4'; + if (is_dir($dir)) { + foreach (glob("$dir/*.php") as $file) { + $matches = []; + preg_match('/(\w*).php/', $file, $matches); + $entity = ['name' => $matches[1]]; + if ($this->_isFieldSelected('description') || $this->_isFieldSelected('comment')) { + $this->addDocs($entity); + } + $entities[$matches[1]] = $entity; + } + } + } + unset($entities['CustomValue']); + + if ($this->includeCustom) { + $this->addCustomEntities($entities); + } + + ksort($entities); + return $entities; + } + + /** + * Add custom-field pseudo-entities + * + * @param $entities + * @throws \API_Exception + */ + private function addCustomEntities(&$entities) { + $customEntities = CustomGroup::get() + ->addWhere('is_multiple', '=', 1) + ->addWhere('is_active', '=', 1) + ->setSelect(['name', 'title', 'help_pre', 'help_post', 'extends']) + ->setCheckPermissions(FALSE) + ->execute(); + foreach ($customEntities as $customEntity) { + $fieldName = 'Custom_' . $customEntity['name']; + $entities[$fieldName] = [ + 'name' => $fieldName, + 'description' => $customEntity['title'] . ' custom group - extends ' . $customEntity['extends'], + ]; + if (!empty($customEntity['help_pre'])) { + $entities[$fieldName]['comment'] = $this->plainTextify($customEntity['help_pre']); + } + if (!empty($customEntity['help_post'])) { + $pre = empty($entities[$fieldName]['comment']) ? '' : $entities[$fieldName]['comment'] . "\n\n"; + $entities[$fieldName]['comment'] = $pre . $this->plainTextify($customEntity['help_post']); + } + } + } + + /** + * Convert html to plain text. + * + * @param $input + * @return mixed + */ + private function plainTextify($input) { + 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); + unset($entity['package'], $entity['method']); + } + +} diff --git a/Civi/Api4/Action/Entity/GetLinks.php b/Civi/Api4/Action/Entity/GetLinks.php new file mode 100644 index 0000000000..c57e071a8c --- /dev/null +++ b/Civi/Api4/Action/Entity/GetLinks.php @@ -0,0 +1,86 @@ +get('schema_map'); + foreach ($schema->getTables() as $table) { + $entity = CoreUtil::getApiNameFromTableName($table->getName()); + // Since this is an api function, exclude tables that don't have an api + if (class_exists('\Civi\Api4\\' . $entity)) { + $item = [ + 'entity' => $entity, + 'table' => $table->getName(), + 'links' => [], + ]; + foreach ($table->getTableLinks() as $link) { + $link = $link->toArray(); + $link['entity'] = CoreUtil::getApiNameFromTableName($link['targetTable']); + $item['links'][] = $link; + } + $result[] = $item; + } + } + return $result; + } + + public function fields() { + return [ + [ + 'name' => 'entity', + ], + [ + 'name' => 'table', + ], + [ + 'name' => 'links', + 'data_type' => 'Array', + ], + ]; + } + +} diff --git a/Civi/Api4/Action/Event/Get.php b/Civi/Api4/Action/Event/Get.php new file mode 100644 index 0000000000..0acc27e2e3 --- /dev/null +++ b/Civi/Api4/Action/Event/Get.php @@ -0,0 +1,47 @@ +_actionsToGet = $this->_itemsToGet('name'); + + $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] != '_') { + $this->loadAction($actionName); + } + } + if (!$this->_actionsToGet || count($this->_actionsToGet) > count($this->_actions)) { + // Search for entity-specific actions in extensions + foreach (\CRM_Extension_System::singleton()->getMapper()->getActiveModuleFiles() as $ext) { + $dir = \CRM_Utils_File::addTrailingSlash(dirname($ext['filePath'])); + $this->scanDir($dir . 'Civi/Api4/Action/' . $this->_entityName); + } + // Search for entity-specific actions in core + $this->scanDir(\CRM_Utils_File::addTrailingSlash(__DIR__) . $this->_entityName); + } + ksort($this->_actions); + return $this->_actions; + } + + /** + * @param $dir + */ + private function scanDir($dir) { + if (is_dir($dir)) { + foreach (glob("$dir/*.php") as $file) { + $matches = []; + preg_match('/(\w*).php/', $file, $matches); + $actionName = array_pop($matches); + $actionClass = new \ReflectionClass('\\Civi\\Api4\\Action\\' . $this->_entityName . '\\' . $actionName); + if ($actionClass->isInstantiable() && $actionClass->isSubclassOf('\\Civi\\Api4\\Generic\\AbstractAction')) { + $this->loadAction(lcfirst($actionName)); + } + } + } + } + + /** + * @param $actionName + */ + private function loadAction($actionName) { + try { + if (!isset($this->_actions[$actionName]) && (!$this->_actionsToGet || in_array($actionName, $this->_actionsToGet))) { + $action = ActionUtil::getAction($this->getEntityName(), $actionName); + if (is_object($action)) { + $this->_actions[$actionName] = ['name' => $actionName]; + if ($this->_isFieldSelected('description') || $this->_isFieldSelected('comment')) { + $actionReflection = new \ReflectionClass($action); + $actionInfo = ReflectionUtils::getCodeDocs($actionReflection); + unset($actionInfo['method']); + $this->_actions[$actionName] += $actionInfo; + } + if ($this->_isFieldSelected('params')) { + $this->_actions[$actionName]['params'] = $action->getParamInfo(); + // Language param is only relevant on multilingual sites + $languageLimit = (array) \Civi::settings()->get('languageLimit'); + if (count($languageLimit) < 2) { + unset($this->_actions[$actionName]['params']['language']); + } + elseif (isset($this->_actions[$actionName]['params']['language'])) { + $this->_actions[$actionName]['params']['language']['options'] = array_keys($languageLimit); + } + } + } + } + } + catch (NotImplementedException $e) { + } + } + + public function fields() { + return [ + [ + 'name' => 'name', + 'data_type' => 'String', + ], + [ + 'name' => 'description', + 'data_type' => 'String', + ], + [ + 'name' => 'comment', + 'data_type' => 'String', + ], + [ + 'name' => 'params', + 'data_type' => 'Array', + ], + ]; + } + +} diff --git a/Civi/Api4/Action/GroupContact/Create.php b/Civi/Api4/Action/GroupContact/Create.php new file mode 100644 index 0000000000..dda98c5490 --- /dev/null +++ b/Civi/Api4/Action/GroupContact/Create.php @@ -0,0 +1,46 @@ +method; + $item['tracking'] = $this->tracking; + } + return parent::writeObjects($items); + } + +} diff --git a/Civi/Api4/Action/GroupContact/Save.php b/Civi/Api4/Action/GroupContact/Save.php new file mode 100644 index 0000000000..1ac443e9ef --- /dev/null +++ b/Civi/Api4/Action/GroupContact/Save.php @@ -0,0 +1,46 @@ +findDomains(); + $meta = []; + foreach ($this->domainId as $domain) { + $meta[$domain] = $this->validateSettings($domain); + } + foreach ($this->domainId as $domain) { + $settingsBag = $this->contactId ? \Civi::contactSettings($this->contactId, $domain) : \Civi::settings($domain); + $this->processSettings($result, $settingsBag, $meta[$domain], $domain); + } + } + + /** + * Checks that really ought to be taken care of by Civi::settings + * + * @param int $domain + * @return array + * @throws \API_Exception + */ + protected function validateSettings($domain) { + $meta = \Civi\Core\SettingsMetadata::getMetadata([], $domain); + $names = isset($this->values) ? array_keys($this->values) : $this->select; + $invalid = array_diff($names, array_keys($meta)); + if ($invalid) { + throw new \API_Exception("Unknown settings for domain $domain: " . implode(', ', $invalid)); + } + if (isset($this->values)) { + foreach ($this->values as $name => &$value) { + \CRM_Core_BAO_Setting::validateSetting($value, $meta[$name]); + } + } + return $meta; + } + + protected function findDomains() { + if ($this->domainId == 'all') { + $this->domainId = Domain::get()->setCheckPermissions(FALSE)->addSelect('id')->execute()->column('id'); + } + elseif ($this->domainId) { + $this->domainId = (array) $this->domainId; + $domains = Domain::get()->setCheckPermissions(FALSE)->addSelect('id')->execute()->column('id'); + $invalid = array_diff($this->domainId, $domains); + if ($invalid) { + throw new \API_Exception('Invalid domain id: ' . implode(', ', $invalid)); + } + } + else { + $this->domainId = [\CRM_Core_Config::domainID()]; + } + } + +} diff --git a/Civi/Api4/Action/Setting/Get.php b/Civi/Api4/Action/Setting/Get.php new file mode 100644 index 0000000000..a91408177b --- /dev/null +++ b/Civi/Api4/Action/Setting/Get.php @@ -0,0 +1,90 @@ +select) { + foreach ($this->select as $name) { + $result[] = [ + 'name' => $name, + 'value' => $settingsBag->get($name), + 'domain_id' => $domain, + ]; + } + } + else { + foreach ($settingsBag->all() as $name => $value) { + $result[] = [ + 'name' => $name, + 'value' => $value, + 'domain_id' => $domain, + ]; + } + } + foreach ($result as $name => &$setting) { + if (isset($setting['value']) && !empty($meta[$name]['serialize'])) { + $setting['value'] = \CRM_Core_DAO::unSerializeField($setting['value'], $meta[$name]['serialize']); + } + } + } + +} diff --git a/Civi/Api4/Action/Setting/GetFields.php b/Civi/Api4/Action/Setting/GetFields.php new file mode 100644 index 0000000000..7cd7cea676 --- /dev/null +++ b/Civi/Api4/Action/Setting/GetFields.php @@ -0,0 +1,119 @@ +_itemsToGet('name'); + // $filter = $names ? ['name' => $names] : []; + $filter = []; + return \Civi\Core\SettingsMetadata::getMetadata($filter, $this->domainId, $this->loadOptions); + } + + public function fields() { + return [ + [ + 'name' => 'name', + 'data_type' => 'String', + ], + [ + 'name' => 'title', + 'data_type' => 'String', + ], + [ + 'name' => 'description', + 'data_type' => 'String', + ], + [ + 'name' => 'help_text', + 'data_type' => 'String', + ], + [ + 'name' => 'default', + 'data_type' => 'String', + ], + [ + 'name' => 'pseudoconstant', + 'data_type' => 'String', + ], + [ + 'name' => 'options', + 'data_type' => 'Array', + ], + [ + 'name' => 'group_name', + 'data_type' => 'String', + ], + [ + 'name' => 'group', + 'data_type' => 'String', + ], + [ + 'name' => 'html_type', + 'data_type' => 'String', + ], + [ + 'name' => 'add', + 'data_type' => 'String', + ], + [ + 'name' => 'serialize', + 'data_type' => 'Integer', + ], + [ + 'name' => 'data_type', + 'data_type' => 'Integer', + ], + ]; + } + +} diff --git a/Civi/Api4/Action/Setting/Revert.php b/Civi/Api4/Action/Setting/Revert.php new file mode 100644 index 0000000000..d8a340662d --- /dev/null +++ b/Civi/Api4/Action/Setting/Revert.php @@ -0,0 +1,81 @@ +select as $name) { + $settingsBag->revert($name); + $result[] = [ + 'name' => $name, + 'value' => $settingsBag->get($name), + 'domain_id' => $domain, + ]; + } + foreach ($result as $name => &$setting) { + if (isset($setting['value']) && !empty($meta[$name]['serialize'])) { + $setting['value'] = \CRM_Core_DAO::unSerializeField($setting['value'], $meta[$name]['serialize']); + } + } + } + +} diff --git a/Civi/Api4/Action/Setting/Set.php b/Civi/Api4/Action/Setting/Set.php new file mode 100644 index 0000000000..d0ea403ecd --- /dev/null +++ b/Civi/Api4/Action/Setting/Set.php @@ -0,0 +1,79 @@ +values as $name => $value) { + if (isset($value) && !empty($meta[$name]['serialize'])) { + $value = \CRM_Core_DAO::serializeField($value, $meta[$name]['serialize']); + } + $settingsBag->set($name, $value); + $result[] = [ + 'name' => $name, + 'value' => $this->values[$name], + 'domain_id' => $domain, + ]; + } + } + +} diff --git a/Civi/Api4/Action/System/Check.php b/Civi/Api4/Action/System/Check.php new file mode 100644 index 0000000000..e07ac0d1de --- /dev/null +++ b/Civi/Api4/Action/System/Check.php @@ -0,0 +1,118 @@ +toArray(); + } + return $messages; + } + + public static function fields() { + return [ + [ + 'name' => 'name', + 'title' => 'Name', + 'description' => 'Unique identifier', + 'data_type' => 'String', + ], + [ + 'name' => 'title', + 'title' => 'Title', + 'description' => 'Short title text', + 'data_type' => 'String', + ], + [ + 'name' => 'message', + 'title' => 'Message', + 'description' => 'Long description html', + 'data_type' => 'String', + ], + [ + 'name' => 'help', + 'title' => 'Help', + 'description' => 'Optional extra help (html string)', + 'data_type' => 'String', + ], + [ + 'name' => 'icon', + 'description' => 'crm-i class of icon to display with message', + 'data_type' => 'String', + ], + [ + 'name' => 'severity', + 'title' => 'Severity', + 'description' => 'Psr\Log\LogLevel string', + 'data_type' => 'String', + 'options' => array_combine(\CRM_Utils_Check::getSeverityList(), \CRM_Utils_Check::getSeverityList()), + ], + [ + 'name' => 'severity_id', + 'title' => 'Severity ID', + 'description' => 'Integer representation of Psr\Log\LogLevel', + 'data_type' => 'Integer', + 'options' => \CRM_Utils_Check::getSeverityList(), + ], + [ + 'name' => 'is_visible', + 'title' => 'is visible', + 'description' => '0 if message has been hidden by the user', + 'data_type' => 'Boolean', + ], + [ + 'name' => 'hidden_until', + 'title' => 'Hidden until', + 'description' => 'When will hidden message be visible again?', + 'data_type' => 'Date', + ], + [ + 'name' => 'actions', + 'title' => 'Actions', + 'description' => 'List of actions user can perform', + 'data_type' => 'Array', + ], + ]; + } + +} diff --git a/Civi/Api4/Action/System/Flush.php b/Civi/Api4/Action/System/Flush.php new file mode 100644 index 0000000000..71140ee35b --- /dev/null +++ b/Civi/Api4/Action/System/Flush.php @@ -0,0 +1,67 @@ +triggers, $this->session); + } + +} diff --git a/Civi/Api4/ActionSchedule.php b/Civi/Api4/ActionSchedule.php new file mode 100644 index 0000000000..f3274a4518 --- /dev/null +++ b/Civi/Api4/ActionSchedule.php @@ -0,0 +1,53 @@ + 'name'], + ['name' => 'description'], + ['name' => 'comment'], + ]; + }); + } + + /** + * @return Action\Entity\GetLinks + */ + public static function getLinks() { + return new Action\Entity\GetLinks('Entity', __FUNCTION__); + } + + /** + * @return array + */ + public static function permissions() { + return [ + 'default' => ['access CiviCRM'], + ]; + } + +} diff --git a/Civi/Api4/EntityTag.php b/Civi/Api4/EntityTag.php new file mode 100644 index 0000000000..b58b093321 --- /dev/null +++ b/Civi/Api4/EntityTag.php @@ -0,0 +1,47 @@ +request = $request; + } + + /** + * @return \Civi\Api4\Generic\AbstractAction + */ + public function getRequest() { + return $this->request; + } + + /** + * @param $request + */ + public function setRequest(AbstractAction $request) { + $this->request = $request; + } + +} diff --git a/Civi/Api4/Event/PostSelectQueryEvent.php b/Civi/Api4/Event/PostSelectQueryEvent.php new file mode 100644 index 0000000000..30036cced3 --- /dev/null +++ b/Civi/Api4/Event/PostSelectQueryEvent.php @@ -0,0 +1,99 @@ +results = $results; + $this->query = $query; + } + + /** + * @return array + */ + public function getResults() { + return $this->results; + } + + /** + * @param array $results + * @return $this + */ + public function setResults($results) { + $this->results = $results; + + return $this; + } + + /** + * @return \Civi\Api4\Query\Api4SelectQuery + */ + public function getQuery() { + return $this->query; + } + + /** + * @param \Civi\Api4\Query\Api4SelectQuery $query + * @return $this + */ + public function setQuery($query) { + $this->query = $query; + + return $this; + } + +} diff --git a/Civi/Api4/Event/SchemaMapBuildEvent.php b/Civi/Api4/Event/SchemaMapBuildEvent.php new file mode 100644 index 0000000000..2a63022b18 --- /dev/null +++ b/Civi/Api4/Event/SchemaMapBuildEvent.php @@ -0,0 +1,74 @@ +schemaMap = $schemaMap; + } + + /** + * @return \Civi\Api4\Service\Schema\SchemaMap + */ + public function getSchemaMap() { + return $this->schemaMap; + } + + /** + * @param \Civi\Api4\Service\Schema\SchemaMap $schemaMap + * + * @return $this + */ + public function setSchemaMap($schemaMap) { + $this->schemaMap = $schemaMap; + + return $this; + } + +} diff --git a/Civi/Api4/Event/Subscriber/ActivityPreCreationSubscriber.php b/Civi/Api4/Event/Subscriber/ActivityPreCreationSubscriber.php new file mode 100644 index 0000000000..d536413b1b --- /dev/null +++ b/Civi/Api4/Event/Subscriber/ActivityPreCreationSubscriber.php @@ -0,0 +1,76 @@ +getValue('activity_type'); + if ($activityType) { + $result = OptionValue::get() + ->setCheckPermissions(FALSE) + ->addWhere('name', '=', $activityType) + ->addWhere('option_group.name', '=', 'activity_type') + ->execute(); + + if ($result->count() !== 1) { + throw new \Exception('Activity type must match a *single* type'); + } + + $request->addValue('activity_type_id', $result->first()['value']); + } + } + + /** + * @param \Civi\Api4\Generic\DAOCreateAction $request + * + * @return bool + */ + protected function applies(DAOCreateAction $request) { + return $request->getEntityName() === 'Activity'; + } + +} diff --git a/Civi/Api4/Event/Subscriber/ActivitySchemaMapSubscriber.php b/Civi/Api4/Event/Subscriber/ActivitySchemaMapSubscriber.php new file mode 100644 index 0000000000..9dc9688023 --- /dev/null +++ b/Civi/Api4/Event/Subscriber/ActivitySchemaMapSubscriber.php @@ -0,0 +1,75 @@ + 'onSchemaBuild', + ]; + } + + /** + * @param \Civi\Api4\Event\SchemaMapBuildEvent $event + */ + public function onSchemaBuild(SchemaMapBuildEvent $event) { + $schema = $event->getSchemaMap(); + $table = $schema->getTableByName('civicrm_activity'); + + $middleAlias = \CRM_Utils_String::createRandom(10, implode(range('a', 'z'))); + $middleLink = new ActivityToActivityContactAssigneesJoinable($middleAlias); + + $bridge = new BridgeJoinable('civicrm_contact', 'id', 'assignees', $middleLink); + $bridge->setBaseTable('civicrm_activity_contact'); + $bridge->setJoinType(Joinable::JOIN_TYPE_ONE_TO_MANY); + + $table->addTableLink('contact_id', $bridge); + } + +} diff --git a/Civi/Api4/Event/Subscriber/ContactPreSaveSubscriber.php b/Civi/Api4/Event/Subscriber/ContactPreSaveSubscriber.php new file mode 100644 index 0000000000..d8bc34d584 --- /dev/null +++ b/Civi/Api4/Event/Subscriber/ContactPreSaveSubscriber.php @@ -0,0 +1,60 @@ +getEntityName() === 'Contact'; + } + +} diff --git a/Civi/Api4/Event/Subscriber/ContactSchemaMapSubscriber.php b/Civi/Api4/Event/Subscriber/ContactSchemaMapSubscriber.php new file mode 100644 index 0000000000..bcde7fb20c --- /dev/null +++ b/Civi/Api4/Event/Subscriber/ContactSchemaMapSubscriber.php @@ -0,0 +1,89 @@ + 'onSchemaBuild', + ]; + } + + /** + * @param \Civi\Api4\Event\SchemaMapBuildEvent $event + */ + public function onSchemaBuild(SchemaMapBuildEvent $event) { + $schema = $event->getSchemaMap(); + $table = $schema->getTableByName('civicrm_contact'); + $this->addCreatedActivitiesLink($table); + $this->fixPreferredLanguageAlias($table); + } + + /** + * @param \Civi\Api4\Service\Schema\Table $table + */ + private function addCreatedActivitiesLink($table) { + $alias = 'created_activities'; + $joinable = new Joinable('civicrm_activity_contact', 'contact_id', $alias); + $joinable->addCondition($alias . '.record_type_id = 1'); + $joinable->setJoinType($joinable::JOIN_TYPE_ONE_TO_MANY); + $table->addTableLink('id', $joinable); + } + + /** + * @param \Civi\Api4\Service\Schema\Table $table + */ + private function fixPreferredLanguageAlias($table) { + foreach ($table->getExternalLinks() as $link) { + if ($link->getAlias() === 'languages') { + $link->setAlias('preferred_language'); + return; + } + } + } + +} diff --git a/Civi/Api4/Event/Subscriber/ContributionPreSaveSubscriber.php b/Civi/Api4/Event/Subscriber/ContributionPreSaveSubscriber.php new file mode 100644 index 0000000000..73ffd46596 --- /dev/null +++ b/Civi/Api4/Event/Subscriber/ContributionPreSaveSubscriber.php @@ -0,0 +1,53 @@ +getEntityName() === 'Contribution'; + } + +} diff --git a/Civi/Api4/Event/Subscriber/CustomFieldPreSaveSubscriber.php b/Civi/Api4/Event/Subscriber/CustomFieldPreSaveSubscriber.php new file mode 100644 index 0000000000..d5e4cafb22 --- /dev/null +++ b/Civi/Api4/Event/Subscriber/CustomFieldPreSaveSubscriber.php @@ -0,0 +1,73 @@ + $value) { + // Translate simple key/value pairs into full-blown option values + if (!is_array($value)) { + $value = [ + 'label' => $value, + 'value' => $key, + 'is_active' => 1, + 'weight' => $weight, + ]; + $key = $weight++; + } + $field['option_label'][$key] = $value['label']; + $field['option_value'][$key] = $value['value']; + $field['option_status'][$key] = $value['is_active']; + $field['option_weight'][$key] = $value['weight']; + } + } + $field['option_type'] = !empty($field['option_values']); + } + + public function applies(AbstractAction $request) { + return $request->getEntityName() === 'CustomField'; + } + +} diff --git a/Civi/Api4/Event/Subscriber/CustomGroupPreCreationSubscriber.php b/Civi/Api4/Event/Subscriber/CustomGroupPreCreationSubscriber.php new file mode 100644 index 0000000000..2c0aec0c2b --- /dev/null +++ b/Civi/Api4/Event/Subscriber/CustomGroupPreCreationSubscriber.php @@ -0,0 +1,65 @@ +getValue('extends'); + $title = $request->getValue('title'); + $name = $request->getValue('name'); + + if (is_string($extends)) { + $request->addValue('extends', [$extends]); + } + + if (NULL === $title && $name) { + $request->addValue('title', $name); + } + } + + protected function applies(DAOCreateAction $request) { + return $request->getEntityName() === 'CustomGroup'; + } + +} diff --git a/Civi/Api4/Event/Subscriber/Generic/AbstractPrepareSubscriber.php b/Civi/Api4/Event/Subscriber/Generic/AbstractPrepareSubscriber.php new file mode 100644 index 0000000000..ce96848e11 --- /dev/null +++ b/Civi/Api4/Event/Subscriber/Generic/AbstractPrepareSubscriber.php @@ -0,0 +1,60 @@ + 'onApiPrepare', + ]; + } + + /** + * @param \Civi\API\Event\PrepareEvent $event + */ + abstract public function onApiPrepare(PrepareEvent $event); + +} diff --git a/Civi/Api4/Event/Subscriber/Generic/PreCreationSubscriber.php b/Civi/Api4/Event/Subscriber/Generic/PreCreationSubscriber.php new file mode 100644 index 0000000000..6ebd9fb632 --- /dev/null +++ b/Civi/Api4/Event/Subscriber/Generic/PreCreationSubscriber.php @@ -0,0 +1,86 @@ +getApiRequest(); + if (!$apiRequest instanceof DAOCreateAction) { + return; + } + + $this->addDefaultCreationValues($apiRequest); + if ($this->applies($apiRequest)) { + $this->modify($apiRequest); + } + } + + /** + * Modify the request + * + * @param \Civi\Api4\Generic\DAOCreateAction $request + * + * @return void + */ + abstract protected function modify(DAOCreateAction $request); + + /** + * Check if this subscriber should be applied to the request + * + * @param \Civi\Api4\Generic\DAOCreateAction $request + * + * @return bool + */ + abstract protected function applies(DAOCreateAction $request); + + /** + * Sets default values common to all creation requests + * + * @param \Civi\Api4\Generic\DAOCreateAction $request + */ + protected function addDefaultCreationValues(DAOCreateAction $request) { + } + +} diff --git a/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php b/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php new file mode 100644 index 0000000000..7c80adf76f --- /dev/null +++ b/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php @@ -0,0 +1,89 @@ +getApiRequest(); + + if ($apiRequest instanceof AbstractAction && $this->applies($apiRequest)) { + if ( + ($apiRequest instanceof AbstractCreateAction && $this->supportedOperation !== 'update') || + ($apiRequest instanceof AbstractUpdateAction && $this->supportedOperation !== 'create') + ) { + $values = $apiRequest->getValues(); + $this->modify($values, $apiRequest); + $apiRequest->setValues($values); + } + } + } + + /** + * Modify the item about to be saved + * + * @param array $item + * @param \Civi\Api4\Generic\AbstractAction $request + * + */ + abstract protected function modify(&$item, AbstractAction $request); + + /** + * Check if this subscriber should be applied to the request + * + * @param \Civi\Api4\Generic\AbstractAction $request + * + * @return bool + */ + abstract protected function applies(AbstractAction $request); + +} diff --git a/Civi/Api4/Event/Subscriber/IsCurrentSubscriber.php b/Civi/Api4/Event/Subscriber/IsCurrentSubscriber.php new file mode 100644 index 0000000000..4f9610ec6b --- /dev/null +++ b/Civi/Api4/Event/Subscriber/IsCurrentSubscriber.php @@ -0,0 +1,74 @@ +getApiRequest(); + if ($action['version'] == 4 && method_exists($action, 'getCurrent') + && in_array('Civi\Api4\Generic\Traits\IsCurrentTrait', ReflectionUtils::getTraits($action)) + ) { + $fields = $action->entityFields(); + if ($action->getCurrent()) { + if (isset($fields['is_active'])) { + $action->addWhere('is_active', '=', '1'); + } + $action->addClause('OR', ['start_date', 'IS NULL'], ['start_date', '<=', 'now']); + $action->addClause('OR', ['end_date', 'IS NULL'], ['end_date', '>=', 'now']); + } + elseif ($action->getCurrent() === FALSE) { + $conditions = [['end_date', '<', 'now'], ['start_date', '>', 'now']]; + if (isset($fields['is_active'])) { + $conditions[] = ['is_active', '=', '0']; + } + $action->addClause('OR', $conditions); + } + } + } + +} diff --git a/Civi/Api4/Event/Subscriber/OptionValuePreCreationSubscriber.php b/Civi/Api4/Event/Subscriber/OptionValuePreCreationSubscriber.php new file mode 100644 index 0000000000..5795a8f893 --- /dev/null +++ b/Civi/Api4/Event/Subscriber/OptionValuePreCreationSubscriber.php @@ -0,0 +1,85 @@ +setOptionGroupId($request); + } + + /** + * @param \Civi\Api4\Generic\DAOCreateAction $request + * + * @return bool + */ + protected function applies(DAOCreateAction $request) { + return $request->getEntityName() === 'OptionValue'; + } + + /** + * @param \Civi\Api4\Generic\DAOCreateAction $request + * @throws \API_Exception + * @throws \Exception + */ + private function setOptionGroupId(DAOCreateAction $request) { + $optionGroupName = $request->getValue('option_group'); + if (!$optionGroupName || $request->getValue('option_group_id')) { + return; + } + + $optionGroup = OptionGroup::get() + ->setCheckPermissions(FALSE) + ->addSelect('id') + ->addWhere('name', '=', $optionGroupName) + ->execute(); + + if ($optionGroup->count() !== 1) { + throw new \Exception('Option group name must match only a single group'); + } + + $request->addValue('option_group_id', $optionGroup->first()['id']); + } + +} diff --git a/Civi/Api4/Event/Subscriber/PermissionCheckSubscriber.php b/Civi/Api4/Event/Subscriber/PermissionCheckSubscriber.php new file mode 100644 index 0000000000..b63fdc553d --- /dev/null +++ b/Civi/Api4/Event/Subscriber/PermissionCheckSubscriber.php @@ -0,0 +1,66 @@ + [ + ['onApiAuthorize', Events::W_LATE], + ], + ]; + } + + /** + * @param \Civi\API\Event\AuthorizeEvent $event + * API authorization event. + */ + public function onApiAuthorize(\Civi\API\Event\AuthorizeEvent $event) { + /* @var \Civi\Api4\Generic\AbstractAction $apiRequest */ + $apiRequest = $event->getApiRequest(); + if ($apiRequest['version'] == 4) { + if (!$apiRequest->getCheckPermissions() || $apiRequest->isAuthorized()) { + $event->authorize(); + $event->stopPropagation(); + } + } + } + +} diff --git a/Civi/Api4/Event/Subscriber/PostSelectQuerySubscriber.php b/Civi/Api4/Event/Subscriber/PostSelectQuerySubscriber.php new file mode 100644 index 0000000000..22da84d960 --- /dev/null +++ b/Civi/Api4/Event/Subscriber/PostSelectQuerySubscriber.php @@ -0,0 +1,366 @@ + 'onPostQuery', + ]; + } + + /** + * @param \Civi\Api4\Event\PostSelectQueryEvent $event + */ + public function onPostQuery(PostSelectQueryEvent $event) { + $results = $event->getResults(); + $event->setResults($this->postRun($results, $event->getQuery())); + } + + /** + * @param array $results + * @param \Civi\Api4\Query\Api4SelectQuery $query + * + * @return array + */ + protected function postRun(array $results, Api4SelectQuery $query) { + if (empty($results)) { + return $results; + } + + $fieldSpec = $query->getApiFieldSpec(); + $this->unserializeFields($results, $query->getEntity(), $fieldSpec); + + // Group the selects to avoid queries for each field + $groupedSelects = $this->getNtoManyJoinSelects($query); + foreach ($groupedSelects as $finalAlias => $selects) { + $joinPath = $query->getPathJoinTypes($selects[0]); + $selects = $this->formatSelects($finalAlias, $selects, $query); + $joinResults = $this->getJoinResults($query, $finalAlias, $selects); + $this->formatJoinResults($joinResults, $query, $finalAlias); + + // Insert join results into original result + foreach ($results as &$primaryResult) { + $baseId = $primaryResult['id']; + $filtered = array_filter($joinResults, function ($res) use ($baseId) { + return ($res['_base_id'] === $baseId); + }); + $filtered = array_values($filtered); + ArrayInsertionUtil::insert($primaryResult, $joinPath, $filtered); + } + } + + return array_values($results); + } + + /** + * @param array $joinResults + * @param \Civi\Api4\Query\Api4SelectQuery $query + * @param string $alias + */ + private function formatJoinResults(&$joinResults, $query, $alias) { + $join = $query->getJoinedTable($alias); + $fields = []; + foreach ($join->getEntityFields() as $field) { + $name = explode('.', $field->getName()); + $fields[array_pop($name)] = $field->toArray(); + } + if ($fields) { + $this->unserializeFields($joinResults, NULL, $fields); + } + } + + /** + * Unserialize values + * + * @param array $results + * @param string $entity + * @param array $fields + */ + protected function unserializeFields(&$results, $entity, $fields = []) { + foreach ($results as &$result) { + foreach ($result as $field => &$value) { + if (!empty($fields[$field]['serialize']) && is_string($value)) { + $serializationType = $fields[$field]['serialize']; + $value = \CRM_Core_DAO::unSerializeField($value, $serializationType); + } + } + } + } + + /** + * Find only those joins that need to be handled by a separate query and weren't done in the main query. + * + * @param \Civi\Api4\Query\Api4SelectQuery $query + * + * @return array + */ + private function getNtoManyJoinSelects(Api4SelectQuery $query) { + $fkAliases = $query->getFkSelectAliases(); + $joinedDotSelects = array_filter( + $query->getSelect(), + function ($select) use ($fkAliases, $query) { + return isset($fkAliases[$select]) && array_filter($query->getPathJoinTypes($select)); + } + ); + + $selects = []; + // group related selects by alias so they can be executed in one query + foreach ($joinedDotSelects as $select) { + $parts = explode('.', $select); + $finalAlias = $parts[count($parts) - 2]; + $selects[$finalAlias][] = $select; + } + + // sort by depth, e.g. email selects should be done before email.location + uasort($selects, function ($a, $b) { + $aFirst = $a[0]; + $bFirst = $b[0]; + return substr_count($aFirst, '.') > substr_count($bFirst, '.'); + }); + + return $selects; + } + + /** + * @param array $selects + * @param $serializationType + * @param \Civi\Api4\Query\Api4SelectQuery $query + * + * @return array + */ + private function getResultsForSerializedField( + array $selects, + $serializationType, + Api4SelectQuery $query + ) { + // Get the alias (Selects are grouped and all target the same table) + $sampleField = current($selects); + $alias = strstr($sampleField, '.', TRUE); + + // Fetch the results with the serialized field + $selects['serialized'] = $query::MAIN_TABLE_ALIAS . '.' . $alias; + $serializedResults = $this->runWithNewSelects($selects, $query); + $newResults = []; + + // Create a new results array, with a separate entry for each option value + foreach ($serializedResults as $result) { + $optionValues = \CRM_Core_DAO::unSerializeField( + $result['serialized'], + $serializationType + ); + unset($result['serialized']); + foreach ($optionValues as $value) { + $newResults[] = array_merge($result, ['value' => $value]); + } + } + + $optionValueValues = array_unique(array_column($newResults, 'value')); + $optionValues = $this->getOptionValuesFromValues( + $selects, + $query, + $optionValueValues + ); + $valueField = $alias . '.value'; + + // Index by value + foreach ($optionValues as $key => $subResult) { + $optionValues[$subResult['value']] = $subResult; + unset($subResult[$key]); + + // Exclude 'value' if not in original selects + if (!in_array($valueField, $selects)) { + unset($optionValues[$subResult['value']]['value']); + } + } + + // Replace serialized with the sub-select results + foreach ($newResults as &$result) { + $result = array_merge($result, $optionValues[$result['value']]); + unset($result['value']); + } + + return $newResults; + } + + /** + * Prepares selects for the subquery to fetch join results + * + * @param string $alias + * @param array $selects + * @param \Civi\Api4\Query\Api4SelectQuery $query + * + * @return array + */ + private function formatSelects($alias, $selects, Api4SelectQuery $query) { + $mainAlias = $query::MAIN_TABLE_ALIAS; + $selectFields = []; + + foreach ($selects as $select) { + $selectAlias = $query->getFkSelectAliases()[$select]; + $fieldAlias = substr($select, strrpos($select, '.') + 1); + $selectFields[$fieldAlias] = $selectAlias; + } + + $firstSelect = $selects[0]; + $pathParts = explode('.', $firstSelect); + $numParts = count($pathParts); + $parentAlias = $numParts > 2 ? $pathParts[$numParts - 3] : $mainAlias; + + $selectFields['id'] = sprintf('%s.id', $alias); + $selectFields['_parent_id'] = $parentAlias . '.id'; + $selectFields['_base_id'] = $mainAlias . '.id'; + + return $selectFields; + } + + /** + * @param array $selects + * @param \Civi\Api4\Query\Api4SelectQuery $query + * + * @return array + */ + private function runWithNewSelects(array $selects, Api4SelectQuery $query) { + $aliasedSelects = array_map(function ($field, $alias) { + return sprintf('%s as "%s"', $field, $alias); + }, $selects, array_keys($selects)); + + $newSelect = sprintf('SELECT DISTINCT %s', implode(", ", $aliasedSelects)); + $sql = str_replace("\n", ' ', $query->getQuery()->toSQL()); + $originalSelect = substr($sql, 0, strpos($sql, ' FROM')); + $sql = str_replace($originalSelect, $newSelect, $sql); + + $relatedResults = []; + $resultDAO = \CRM_Core_DAO::executeQuery($sql); + while ($resultDAO->fetch()) { + $relatedResult = []; + foreach ($selects as $alias => $column) { + $returnName = $alias; + $alias = str_replace('.', '_', $alias); + if (property_exists($resultDAO, $alias)) { + $relatedResult[$returnName] = $resultDAO->$alias; + } + }; + $relatedResults[] = $relatedResult; + } + + return $relatedResults; + } + + /** + * @param \Civi\Api4\Query\Api4SelectQuery $query + * @param $alias + * @param $selects + * @return array + */ + protected function getJoinResults(Api4SelectQuery $query, $alias, $selects) { + $apiFieldSpec = $query->getApiFieldSpec(); + if (!empty($apiFieldSpec[$alias]['serialize'])) { + $type = $apiFieldSpec[$alias]['serialize']; + $joinResults = $this->getResultsForSerializedField($selects, $type, $query); + } + else { + $joinResults = $this->runWithNewSelects($selects, $query); + } + + // Remove results with no matching entries + $joinResults = array_filter($joinResults, function ($result) { + return !empty($result['id']); + }); + + return $joinResults; + } + + /** + * Get all the option_value values required in the query + * + * @param array $selects + * @param \Civi\Api4\Query\Api4SelectQuery $query + * @param array $values + * + * @return array + */ + private function getOptionValuesFromValues( + array $selects, + Api4SelectQuery $query, + array $values + ) { + $sampleField = current($selects); + $alias = strstr($sampleField, '.', TRUE); + + // Get the option value table that was joined + $relatedTable = NULL; + foreach ($query->getJoinedTables() as $joinedTable) { + if ($joinedTable->getAlias() === $alias) { + $relatedTable = $joinedTable; + } + } + + // We only want subselects related to the joined table + $subSelects = array_filter($selects, function ($select) use ($alias) { + return strpos($select, $alias) === 0; + }); + + // Fetch all related option_value entries + $valueField = $alias . '.value'; + $subSelects[] = $valueField; + $tableName = $relatedTable->getTargetTable(); + $conditions = $relatedTable->getExtraJoinConditions(); + $conditions[] = $valueField . ' IN ("' . implode('", "', $values) . '")'; + $subQuery = new \CRM_Utils_SQL_Select($tableName . ' ' . $alias); + $subQuery->where($conditions); + $subQuery->select($subSelects); + $subResults = $subQuery->execute()->fetchAll(); + + return $subResults; + } + +} diff --git a/Civi/Api4/Event/Subscriber/ValidateFieldsSubscriber.php b/Civi/Api4/Event/Subscriber/ValidateFieldsSubscriber.php new file mode 100644 index 0000000000..2e7faab588 --- /dev/null +++ b/Civi/Api4/Event/Subscriber/ValidateFieldsSubscriber.php @@ -0,0 +1,100 @@ +getApiRequest(); + if (is_a($apiRequest, 'Civi\Api4\Generic\AbstractAction')) { + $paramInfo = $apiRequest->getParamInfo(); + foreach ($paramInfo as $param => $info) { + $getParam = 'get' . ucfirst($param); + $value = $apiRequest->$getParam(); + // Required fields + if (!empty($info['required']) && (!$value && $value !== 0 && $value !== '0')) { + throw new \API_Exception('Parameter "' . $param . '" is required.'); + } + if (!empty($info['type']) && !self::checkType($value, $info['type'])) { + throw new \API_Exception('Parameter "' . $param . '" is not of the correct type. Expecting ' . implode(' or ', $info['type']) . '.'); + } + } + } + } + + /** + * Validate variable type on input + * + * @param $value + * @param $types + * @return bool + * @throws \API_Exception + */ + public static function checkType($value, $types) { + if ($value === NULL) { + return TRUE; + } + foreach ($types as $type) { + switch ($type) { + case 'array': + case 'bool': + case 'string': + case 'object': + $tester = 'is_' . $type; + if ($tester($value)) { + return TRUE; + } + break; + + case 'int': + if (\CRM_Utils_Rule::integer($value)) { + return TRUE; + } + break; + + case 'mixed': + return TRUE; + + default: + throw new \API_Exception('Unknown parameter type: ' . $type); + } + } + return FALSE; + } + +} diff --git a/Civi/Api4/Generic/AbstractAction.php b/Civi/Api4/Generic/AbstractAction.php new file mode 100644 index 0000000000..1a67e01eaf --- /dev/null +++ b/Civi/Api4/Generic/AbstractAction.php @@ -0,0 +1,481 @@ +setValue('first_name', 'Hello') + * ->addChain('add_to_a_group', GroupContact::create()->setValue('contact_id', '$id')->setValue('group_id', 123)) + * + * This will substitute the id of the newly created contact with $id. + * + * @var array + */ + protected $chain = []; + + /** + * Whether to enforce acl permissions based on the current user. + * + * Setting to FALSE will disable permission checks and override ACLs. + * In REST/javascript this cannot be disabled. + * + * @var bool + */ + protected $checkPermissions = TRUE; + + /** + * @var string + */ + protected $_entityName; + + /** + * @var string + */ + protected $_actionName; + + /** + * @var \ReflectionClass + */ + private $_reflection; + + /** + * @var array + */ + private $_paramInfo; + + /** + * @var array + */ + private $_entityFields; + + /** + * @var array + */ + private $_arrayStorage = []; + + /** + * @var int + * Used to identify api calls for transactions + * @see \Civi\Core\Transaction\Manager + */ + private $_id; + + /** + * Action constructor. + * + * @param string $entityName + * @param string $actionName + * @throws \API_Exception + */ + public function __construct($entityName, $actionName) { + // If a namespaced class name is passed in + if (strpos($entityName, '\\') !== FALSE) { + $entityName = substr($entityName, strrpos($entityName, '\\') + 1); + } + $this->_entityName = $entityName; + $this->_actionName = $actionName; + $this->_id = \Civi\API\Request::getNextId(); + } + + /** + * Strictly enforce api parameters + * @param $name + * @param $value + * @throws \Exception + */ + public function __set($name, $value) { + throw new \API_Exception('Unknown api parameter'); + } + + /** + * @param int $val + * @return $this + * @throws \API_Exception + */ + public function setVersion($val) { + if ($val != 4) { + throw new \API_Exception('Cannot modify api version'); + } + return $this; + } + + /** + * @param string $name + * Unique name for this chained request + * @param \Civi\Api4\Generic\AbstractAction $apiRequest + * @param string|int $index + * Either a string for how the results should be indexed e.g. 'name' + * or the index of a single result to return e.g. 0 for the first result. + * @return $this + */ + public function addChain($name, AbstractAction $apiRequest, $index = NULL) { + $this->chain[$name] = [$apiRequest->getEntityName(), $apiRequest->getActionName(), $apiRequest->getParams(), $index]; + return $this; + } + + /** + * Magic function to provide addFoo, getFoo and setFoo for params. + * + * @param $name + * @param $arguments + * @return static|mixed + * @throws \API_Exception + */ + public function __call($name, $arguments) { + $param = lcfirst(substr($name, 3)); + if (!$param || $param[0] == '_') { + throw new \API_Exception('Unknown api parameter: ' . $name); + } + $mode = substr($name, 0, 3); + // Handle plural when adding to e.g. $values with "addValue" method. + if ($mode == 'add' && $this->paramExists($param . 's')) { + $param .= 's'; + } + if ($this->paramExists($param)) { + switch ($mode) { + case 'get': + return $this->$param; + + case 'set': + $this->$param = $arguments[0]; + return $this; + + case 'add': + if (!is_array($this->$param)) { + throw new \API_Exception('Cannot add to non-array param'); + } + if (array_key_exists(1, $arguments)) { + $this->{$param}[$arguments[0]] = $arguments[1]; + } + else { + $this->{$param}[] = $arguments[0]; + } + return $this; + } + } + throw new \API_Exception('Unknown api parameter: ' . $name); + } + + /** + * Invoke api call. + * + * At this point all the params have been sent in and we initiate the api call & return the result. + * This is basically the outer wrapper for api v4. + * + * @return \Civi\Api4\Generic\Result + * @throws \Civi\API\Exception\UnauthorizedException + */ + public function execute() { + /** @var \Civi\API\Kernel $kernel */ + $kernel = \Civi::service('civi_api_kernel'); + + return $kernel->runRequest($this); + } + + /** + * @param \Civi\Api4\Generic\Result $result + */ + abstract public function _run(Result $result); + + /** + * Serialize this object's params into an array + * @return array + */ + public function getParams() { + $params = []; + foreach ($this->reflect()->getProperties(\ReflectionProperty::IS_PROTECTED) as $property) { + $name = $property->getName(); + // Skip variables starting with an underscore + if ($name[0] != '_') { + $params[$name] = $this->$name; + } + } + return $params; + } + + /** + * Get documentation for one or all params + * + * @param string $param + * @return array of arrays [description, type, default, (comment)] + */ + public function getParamInfo($param = NULL) { + if (!isset($this->_paramInfo)) { + $defaults = $this->getParamDefaults(); + foreach ($this->reflect()->getProperties(\ReflectionProperty::IS_PROTECTED) as $property) { + $name = $property->getName(); + if ($name != 'version' && $name[0] != '_') { + $this->_paramInfo[$name] = ReflectionUtils::getCodeDocs($property, 'Property'); + $this->_paramInfo[$name]['default'] = $defaults[$name]; + } + } + } + return $param ? $this->_paramInfo[$param] : $this->_paramInfo; + } + + /** + * @return string + */ + public function getEntityName() { + return $this->_entityName; + } + + /** + * + * @return string + */ + public function getActionName() { + return $this->_actionName; + } + + /** + * @param string $param + * @return bool + */ + public function paramExists($param) { + return array_key_exists($param, $this->getParams()); + } + + /** + * @return array + */ + protected function getParamDefaults() { + return array_intersect_key($this->reflect()->getDefaultProperties(), $this->getParams()); + } + + /** + * @inheritDoc + */ + public function offsetExists($offset) { + return in_array($offset, ['entity', 'action', 'params', 'version', 'check_permissions', 'id']) || isset($this->_arrayStorage[$offset]); + } + + /** + * @inheritDoc + */ + public function &offsetGet($offset) { + $val = NULL; + if (in_array($offset, ['entity', 'action'])) { + $offset .= 'Name'; + } + if (in_array($offset, ['entityName', 'actionName', 'params', 'version'])) { + $getter = 'get' . ucfirst($offset); + $val = $this->$getter(); + return $val; + } + if ($offset == 'check_permissions') { + return $this->checkPermissions; + } + if ($offset == 'id') { + return $this->_id; + } + if (isset($this->_arrayStorage[$offset])) { + return $this->_arrayStorage[$offset]; + } + return $val; + } + + /** + * @inheritDoc + */ + public function offsetSet($offset, $value) { + if (in_array($offset, ['entity', 'action', 'entityName', 'actionName', 'params', 'version', 'id'])) { + throw new \API_Exception('Cannot modify api4 state via array access'); + } + if ($offset == 'check_permissions') { + $this->setCheckPermissions($value); + } + else { + $this->_arrayStorage[$offset] = $value; + } + } + + /** + * @inheritDoc + */ + public function offsetUnset($offset) { + if (in_array($offset, ['entity', 'action', 'entityName', 'actionName', 'params', 'check_permissions', 'version', 'id'])) { + throw new \API_Exception('Cannot modify api4 state via array access'); + } + unset($this->_arrayStorage[$offset]); + } + + /** + * Is this api call permitted? + * + * This function is called if checkPermissions is set to true. + * + * @return bool + */ + public function isAuthorized() { + $permissions = $this->getPermissions(); + return \CRM_Core_Permission::check($permissions); + } + + /** + * @return array + */ + public function getPermissions() { + $permissions = call_user_func(["\\Civi\\Api4\\" . $this->_entityName, 'permissions']); + $permissions += [ + // applies to getFields, getActions, etc. + 'meta' => ['access CiviCRM'], + // catch-all, applies to create, get, delete, etc. + 'default' => ['administer CiviCRM'], + ]; + $action = $this->getActionName(); + if (isset($permissions[$action])) { + return $permissions[$action]; + } + elseif (in_array($action, ['getActions', 'getFields'])) { + return $permissions['meta']; + } + return $permissions['default']; + } + + /** + * Returns schema fields for this entity & action. + * + * Here we bypass the api wrapper and execute the getFields action directly. + * This is because we DON'T want the wrapper to check permissions as this is an internal op, + * but we DO want permissions to be checked inside the getFields request so e.g. the api_key + * field can be conditionally included. + * @see \Civi\Api4\Action\Contact\GetFields + * + * @return array + */ + public function entityFields() { + if (!$this->_entityFields) { + $getFields = ActionUtil::getAction($this->getEntityName(), 'getFields'); + $result = new Result(); + if (method_exists($this, 'getBaoName')) { + $getFields->setIncludeCustom(FALSE); + } + $getFields + ->setCheckPermissions($this->checkPermissions) + ->setAction($this->getActionName()) + ->_run($result); + $this->_entityFields = (array) $result->indexBy('name'); + } + return $this->_entityFields; + } + + /** + * @return \ReflectionClass + */ + public function reflect() { + if (!$this->_reflection) { + $this->_reflection = new \ReflectionClass($this); + } + return $this->_reflection; + } + + /** + * Validates required fields for actions which create a new object. + * + * @param $values + * @return array + * @throws \API_Exception + */ + protected function checkRequiredFields($values) { + $unmatched = []; + foreach ($this->entityFields() as $fieldName => $fieldInfo) { + if (!isset($values[$fieldName]) || $values[$fieldName] === '') { + if (!empty($fieldInfo['required']) && !isset($fieldInfo['default_value'])) { + $unmatched[] = $fieldName; + } + elseif (!empty($fieldInfo['required_if'])) { + if ($this->evaluateCondition($fieldInfo['required_if'], ['values' => $values])) { + $unmatched[] = $fieldName; + } + } + } + } + return $unmatched; + } + + /** + * This function is used internally for evaluating field annotations. + * + * It should never be passed raw user input. + * + * @param string $expr + * Conditional in php format e.g. $foo > $bar + * @param array $vars + * Variable name => value + * @return bool + * @throws \API_Exception + * @throws \Exception + */ + protected function evaluateCondition($expr, $vars) { + if (strpos($expr, '}') !== FALSE || strpos($expr, '{') !== FALSE) { + throw new \API_Exception('Illegal character in expression'); + } + $tpl = "{if $expr}1{else}0{/if}"; + return (bool) trim(\CRM_Core_Smarty::singleton()->fetchWith('string:' . $tpl, $vars)); + } + +} diff --git a/Civi/Api4/Generic/AbstractBatchAction.php b/Civi/Api4/Generic/AbstractBatchAction.php new file mode 100644 index 0000000000..6250e256e1 --- /dev/null +++ b/Civi/Api4/Generic/AbstractBatchAction.php @@ -0,0 +1,99 @@ +select = (array) $select; + parent::__construct($entityName, $actionName); + } + + /** + * @return array + */ + protected function getBatchRecords() { + $params = [ + 'checkPermissions' => $this->checkPermissions, + 'where' => $this->where, + 'orderBy' => $this->orderBy, + 'limit' => $this->limit, + 'offset' => $this->offset, + ]; + if (empty($this->reload)) { + $params['select'] = $this->select; + } + + return (array) civicrm_api4($this->getEntityName(), 'get', $params); + } + + /** + * @return array + */ + protected function getSelect() { + return $this->select; + } + +} diff --git a/Civi/Api4/Generic/AbstractCreateAction.php b/Civi/Api4/Generic/AbstractCreateAction.php new file mode 100644 index 0000000000..2b1e3a3fd1 --- /dev/null +++ b/Civi/Api4/Generic/AbstractCreateAction.php @@ -0,0 +1,77 @@ + value pairs. + * @method $this addValue($field, $value) Set field value. + * @method array getValues() Get field values. + * + * @package Civi\Api4\Generic + */ +abstract class AbstractCreateAction extends AbstractAction { + + /** + * Field values to set + * + * @var array + */ + protected $values = []; + + /** + * @param string $key + * + * @return mixed|null + */ + public function getValue($key) { + return isset($this->values[$key]) ? $this->values[$key] : NULL; + } + + /** + * @throws \API_Exception + */ + protected function validateValues() { + $unmatched = $this->checkRequiredFields($this->getValues()); + if ($unmatched) { + throw new \API_Exception("Mandatory values missing from Api4 {$this->getEntityName()}::{$this->getActionName()}: " . implode(", ", $unmatched), "mandatory_missing", ["fields" => $unmatched]); + } + } + +} diff --git a/Civi/Api4/Generic/AbstractEntity.php b/Civi/Api4/Generic/AbstractEntity.php new file mode 100644 index 0000000000..2101213ef2 --- /dev/null +++ b/Civi/Api4/Generic/AbstractEntity.php @@ -0,0 +1,124 @@ +select = ['row_count']; + return $this; + } + + /** + * Adds field defaults to the where clause. + * + * Note: it will skip adding field defaults when fetching records by id, + * or if that field has already been added to the where clause. + * + * @throws \API_Exception + */ + protected function setDefaultWhereClause() { + if (!$this->_itemsToGet('id')) { + $fields = $this->entityFields(); + foreach ($fields as $field) { + if (isset($field['default_value']) && !$this->_whereContains($field['name'])) { + $this->addWhere($field['name'], '=', $field['default_value']); + } + } + } + } + + /** + * Helper to parse the WHERE param for getRecords to perform simple pre-filtering. + * + * This is intended to optimize some common use-cases e.g. calling the api to get + * one or more records by name or id. + * + * Ex: If getRecords fetches a long list of items each with a unique name, + * but the user has specified a single record to retrieve, you can optimize the call + * by checking $this->_itemsToGet('name') and only fetching the item(s) with that name. + * + * @param string $field + * @return array|null + */ + protected function _itemsToGet($field) { + foreach ($this->where as $clause) { + // Look for exact-match operators (=, IN, or LIKE with no wildcard) + if ($clause[0] == $field && (in_array($clause[1], ['=', 'IN']) || ($clause[1] == 'LIKE' && !(is_string($clause[2]) && strpos($clause[2], '%') !== FALSE)))) { + return (array) $clause[2]; + } + } + return NULL; + } + + /** + * Helper to see if a field should be selected by the getRecords function. + * + * Checks the SELECT, WHERE and ORDER BY params to see what fields are needed. + * + * Note that if no SELECT clause has been set then all fields should be selected + * and this function will always return TRUE. + * + * @param string $field + * @return bool + */ + protected function _isFieldSelected($field) { + if (!$this->select || in_array($field, $this->select) || isset($this->orderBy[$field])) { + return TRUE; + } + return $this->_whereContains($field); + } + + /** + * Walk through the where clause and check if a field is in use. + * + * @param string $field + * @param array $clauses + * @return bool + */ + protected function _whereContains($field, $clauses = NULL) { + if ($clauses === NULL) { + $clauses = $this->where; + } + foreach ($clauses as $clause) { + if (is_array($clause) && is_string($clause[0])) { + if ($clause[0] == $field) { + return TRUE; + } + elseif (is_array($clause[1])) { + return $this->_whereContains($field, $clause[1]); + } + } + } + return FALSE; + } + +} diff --git a/Civi/Api4/Generic/AbstractQueryAction.php b/Civi/Api4/Generic/AbstractQueryAction.php new file mode 100644 index 0000000000..3e3dc2278e --- /dev/null +++ b/Civi/Api4/Generic/AbstractQueryAction.php @@ -0,0 +1,179 @@ +addWhere('contact_type', 'IN', array('Individual', 'Household')) + * + * @var array + */ + protected $where = []; + + /** + * Array of field(s) to use in ordering the results + * + * Defaults to id ASC + * + * $example->addOrderBy('sort_name', 'ASC') + * + * @var array + */ + protected $orderBy = []; + + /** + * Maximum number of results to return. + * + * Defaults to unlimited. + * + * Note: the Api Explorer sets this to 25 by default to avoid timeouts. + * Change or remove this default for your application code. + * + * @var int + */ + protected $limit = 0; + + /** + * Zero-based index of first result to return. + * + * Defaults to "0" - first record. + * + * @var int + */ + protected $offset = 0; + + /** + * @param string $field + * @param string $op + * @param mixed $value + * @return $this + * @throws \API_Exception + */ + public function addWhere($field, $op, $value = NULL) { + if (!in_array($op, \CRM_Core_DAO::acceptedSQLOperators())) { + throw new \API_Exception('Unsupported operator'); + } + $this->where[] = [$field, $op, $value]; + return $this; + } + + /** + * Adds one or more AND/OR/NOT clause groups + * + * @param string $operator + * @param mixed $condition1 ... $conditionN + * Either a nested array of arguments, or a variable number of arguments passed to this function. + * + * @return $this + * @throws \API_Exception + */ + public function addClause($operator, $condition1) { + if (!is_array($condition1[0])) { + $condition1 = array_slice(func_get_args(), 1); + } + $this->where[] = [$operator, $condition1]; + return $this; + } + + /** + * @param string $field + * @param string $direction + * @return $this + */ + public function addOrderBy($field, $direction = 'ASC') { + $this->orderBy[$field] = $direction; + return $this; + } + + /** + * A human-readable where clause, for the reading enjoyment of you humans. + * + * @param array $whereClause + * @param string $op + * @return string + */ + protected function whereClauseToString($whereClause = NULL, $op = 'AND') { + if ($whereClause === NULL) { + $whereClause = $this->where; + } + $output = ''; + if (!is_array($whereClause) || !$whereClause) { + return $output; + } + if (in_array($whereClause[0], ['AND', 'OR', 'NOT'])) { + $op = array_shift($whereClause); + if ($op == 'NOT') { + $output = 'NOT '; + $op = 'AND'; + } + return $output . '(' . $this->whereClauseToString($whereClause, $op) . ')'; + } + elseif (isset($whereClause[1]) && in_array($whereClause[1], \CRM_Core_DAO::acceptedSQLOperators())) { + $output = $whereClause[0] . ' ' . $whereClause[1] . ' '; + if (isset($whereClause[2])) { + $output .= is_array($whereClause[2]) ? '[' . implode(', ', $whereClause[2]) . ']' : $whereClause[2]; + } + } + else { + $clauses = []; + foreach (array_filter($whereClause) as $clause) { + $clauses[] = $this->whereClauseToString($clause, $op); + } + $output = implode(" $op ", $clauses); + } + return $output; + } + +} diff --git a/Civi/Api4/Generic/AbstractSaveAction.php b/Civi/Api4/Generic/AbstractSaveAction.php new file mode 100644 index 0000000000..30759ee620 --- /dev/null +++ b/Civi/Api4/Generic/AbstractSaveAction.php @@ -0,0 +1,125 @@ +idField = array_values((array) $idField)[0]; + parent::__construct($entityName, $actionName); + } + + /** + * @throws \API_Exception + */ + protected function validateValues() { + $unmatched = []; + foreach ($this->records as $record) { + if (empty($record[$this->idField])) { + $unmatched = array_unique(array_merge($unmatched, $this->checkRequiredFields($record))); + } + } + if ($unmatched) { + throw new \API_Exception("Mandatory values missing from Api4 {$this->getEntityName()}::{$this->getActionName()}: " . implode(", ", $unmatched), "mandatory_missing", ["fields" => $unmatched]); + } + } + + /** + * @return string + */ + protected function getIdField() { + return $this->idField; + } + +} diff --git a/Civi/Api4/Generic/AbstractUpdateAction.php b/Civi/Api4/Generic/AbstractUpdateAction.php new file mode 100644 index 0000000000..371b8c76ef --- /dev/null +++ b/Civi/Api4/Generic/AbstractUpdateAction.php @@ -0,0 +1,80 @@ + value pairs. + * @method $this addValue($field, $value) Set field value. + * @method array getValues() Get field values. + * @method $this setReload(bool $reload) Specify whether complete objects will be returned after saving. + * @method bool getReload() + * + * @package Civi\Api4\Generic + */ +abstract class AbstractUpdateAction extends AbstractBatchAction { + + /** + * Field values to update. + * + * @var array + * @required + */ + protected $values = []; + + /** + * Reload objects after saving. + * + * Setting to TRUE will load complete records and return them as the api result. + * If FALSE the api usually returns only the fields specified to be updated. + * + * @var bool + */ + protected $reload = FALSE; + + /** + * @param string $key + * + * @return mixed|null + */ + public function getValue($key) { + return isset($this->values[$key]) ? $this->values[$key] : NULL; + } + +} diff --git a/Civi/Api4/Generic/BasicBatchAction.php b/Civi/Api4/Generic/BasicBatchAction.php new file mode 100644 index 0000000000..fb54c7647f --- /dev/null +++ b/Civi/Api4/Generic/BasicBatchAction.php @@ -0,0 +1,108 @@ + array + */ + private $doer; + + /** + * BasicBatchAction constructor. + * + * @param string $entityName + * @param string $actionName + * @param string|array $select + * One or more fields to select from each matching item. + * @param callable $doer + * Function(array $item, BasicBatchAction $thisAction) => array + */ + public function __construct($entityName, $actionName, $select = 'id', $doer = NULL) { + parent::__construct($entityName, $actionName, $select); + $this->doer = $doer; + } + + /** + * We pass the doTask function an array representing one item to update. + * We expect to get the same format back. + * + * @param \Civi\Api4\Generic\Result $result + */ + public function _run(Result $result) { + foreach ($this->getBatchRecords() as $item) { + $result[] = $this->doTask($item); + } + } + + /** + * This Basic Batch class can be used in one of two ways: + * + * 1. Use this class directly by passing a callable ($doer) to the constructor. + * 2. Extend this class and override this function. + * + * Either way, this function should return an array with an output record + * for the item. + * + * @param array $item + * @return array + * @throws \Civi\API\Exception\NotImplementedException + */ + protected function doTask($item) { + if (is_callable($this->doer)) { + return call_user_func($this->doer, $item, $this); + } + throw new NotImplementedException('Doer function not found for api4 ' . $this->getEntityName() . '::' . $this->getActionName()); + } + +} diff --git a/Civi/Api4/Generic/BasicCreateAction.php b/Civi/Api4/Generic/BasicCreateAction.php new file mode 100644 index 0000000000..43cc8bb193 --- /dev/null +++ b/Civi/Api4/Generic/BasicCreateAction.php @@ -0,0 +1,99 @@ + array + */ + private $setter; + + /** + * Basic Create constructor. + * + * @param string $entityName + * @param string $actionName + * @param callable $setter + * Function(array $item, BasicCreateAction $thisAction) => array + */ + public function __construct($entityName, $actionName, $setter = NULL) { + parent::__construct($entityName, $actionName); + $this->setter = $setter; + } + + /** + * We pass the writeRecord function an array representing one item to write. + * We expect to get the same format back. + * + * @param \Civi\Api4\Generic\Result $result + */ + public function _run(Result $result) { + $this->validateValues(); + $result->exchangeArray([$this->writeRecord($this->values)]); + } + + /** + * This Basic Create class can be used in one of two ways: + * + * 1. Use this class directly by passing a callable ($setter) to the constructor. + * 2. Extend this class and override this function. + * + * Either way, this function should return an array representing the one new object. + * + * @param array $item + * @return array + * @throws \Civi\API\Exception\NotImplementedException + */ + protected function writeRecord($item) { + if (is_callable($this->setter)) { + return call_user_func($this->setter, $item, $this); + } + throw new NotImplementedException('Setter function not found for api4 ' . $this->getEntityName() . '::' . $this->getActionName()); + } + +} diff --git a/Civi/Api4/Generic/BasicGetAction.php b/Civi/Api4/Generic/BasicGetAction.php new file mode 100644 index 0000000000..5e5dfb19a2 --- /dev/null +++ b/Civi/Api4/Generic/BasicGetAction.php @@ -0,0 +1,119 @@ + array + */ + private $getter; + + /** + * Basic Get constructor. + * + * @param string $entityName + * @param string $actionName + * @param callable $getter + */ + public function __construct($entityName, $actionName, $getter = NULL) { + parent::__construct($entityName, $actionName); + $this->getter = $getter; + } + + /** + * Fetch results from the getter then apply filter/sort/select/limit. + * + * @param \Civi\Api4\Generic\Result $result + */ + public function _run(Result $result) { + $this->setDefaultWhereClause(); + $values = $this->getRecords(); + $result->exchangeArray($this->queryArray($values)); + } + + /** + * This Basic Get class is a general-purpose api for non-DAO-based entities. + * + * Useful for fetching records from files or other places. + * You can specify any php function to retrieve the records, and this class will + * automatically filter, sort, select & limit the raw data from your callback. + * + * You can implement this action in one of two ways: + * 1. Use this class directly by passing a callable ($getter) to the constructor. + * 2. Extend this class and override this function. + * + * Either way, this function should return an array of arrays, each representing one retrieved object. + * + * The simplest thing for your getter function to do is return every full record + * and allow this class to automatically do the sorting and filtering. + * + * Sometimes however that may not be practical for performance reasons. + * To optimize your getter, it can use the following helpers from $this: + * + * Use this->_itemsToGet() to match records to field values in the WHERE clause. + * Note the WHERE clause can potentially be very complex and it is not recommended + * to parse $this->where yourself. + * + * Use $this->_isFieldSelected() to check if a field value is called for - useful + * if loading the field involves expensive calculations. + * + * Be careful not to make assumptions, e.g. if LIMIT 100 is specified and your getter "helpfully" truncates the list + * at 100 without accounting for WHERE, ORDER BY and LIMIT clauses, the final filtered result may be very incorrect. + * + * @return array + * @throws \Civi\API\Exception\NotImplementedException + */ + protected function getRecords() { + if (is_callable($this->getter)) { + return call_user_func($this->getter, $this); + } + throw new NotImplementedException('Getter function not found for api4 ' . $this->getEntityName() . '::' . $this->getActionName()); + } + +} diff --git a/Civi/Api4/Generic/BasicGetFieldsAction.php b/Civi/Api4/Generic/BasicGetFieldsAction.php new file mode 100644 index 0000000000..511c063307 --- /dev/null +++ b/Civi/Api4/Generic/BasicGetFieldsAction.php @@ -0,0 +1,191 @@ +getEntityName(), $this->getAction()); + } + catch (NotImplementedException $e) { + } + if (isset($actionClass) && method_exists($actionClass, 'fields')) { + $values = $actionClass->fields(); + } + else { + $values = $this->getRecords(); + } + $this->padResults($values); + $result->exchangeArray($this->queryArray($values)); + } + + /** + * Ensure every result contains, at minimum, the array keys as defined in $this->fields. + * + * Attempt to set some sensible defaults for some fields. + * + * In most cases it's not necessary to override this function, even if your entity is really weird. + * Instead just override $this->fields and thes function will respect that. + * + * @param array $values + */ + protected function padResults(&$values) { + $fields = array_column($this->fields(), 'name'); + foreach ($values as &$field) { + $defaults = array_intersect_key([ + 'title' => empty($field['name']) ? NULL : ucwords(str_replace('_', ' ', $field['name'])), + 'entity' => $this->getEntityName(), + 'required' => FALSE, + 'options' => !empty($field['pseudoconstant']), + 'data_type' => \CRM_Utils_Array::value('type', $field, 'String'), + ], array_flip($fields)); + $field += $defaults; + if (!$this->loadOptions && isset($defaults['options'])) { + $field['options'] = (bool) $field['options']; + } + $field += array_fill_keys($fields, NULL); + } + } + + /** + * @return string + */ + public function getAction() { + // For actions that build on top of other actions, return fields for the simpler action + $sub = [ + 'save' => 'create', + 'replace' => 'create', + ]; + return $sub[$this->action] ?? $this->action; + } + + public function fields() { + return [ + [ + 'name' => 'name', + 'data_type' => 'String', + ], + [ + 'name' => 'title', + 'data_type' => 'String', + ], + [ + 'name' => 'description', + 'data_type' => 'String', + ], + [ + 'name' => 'default_value', + 'data_type' => 'String', + ], + [ + 'name' => 'required', + 'data_type' => 'Boolean', + ], + [ + 'name' => 'required_if', + 'data_type' => 'String', + ], + [ + 'name' => 'options', + 'data_type' => 'Array', + ], + [ + 'name' => 'data_type', + 'data_type' => 'String', + ], + [ + 'name' => 'input_type', + 'data_type' => 'String', + ], + [ + 'name' => 'input_attrs', + 'data_type' => 'Array', + ], + [ + 'name' => 'fk_entity', + 'data_type' => 'String', + ], + [ + 'name' => 'serialize', + 'data_type' => 'Integer', + ], + [ + 'name' => 'entity', + 'data_type' => 'String', + ], + ]; + } + +} diff --git a/Civi/Api4/Generic/BasicReplaceAction.php b/Civi/Api4/Generic/BasicReplaceAction.php new file mode 100644 index 0000000000..0d85c6aac9 --- /dev/null +++ b/Civi/Api4/Generic/BasicReplaceAction.php @@ -0,0 +1,149 @@ +getBatchRecords(); + + // Copy defaults from where clause if the operator is = + foreach ($this->where as $clause) { + if (is_array($clause) && $clause[1] === '=') { + $this->defaults[$clause[0]] = $clause[2]; + } + } + + $idField = $this->getSelect()[0]; + $toDelete = array_diff_key(array_column($items, NULL, $idField), array_flip(array_filter(\CRM_Utils_Array::collect($idField, $this->records)))); + + // Try to delegate to the Save action + try { + $saveAction = ActionUtil::getAction($this->getEntityName(), 'save'); + $saveAction + ->setCheckPermissions($this->getCheckPermissions()) + ->setReload($this->reload) + ->setRecords($this->records) + ->setDefaults($this->defaults); + $result->exchangeArray((array) $saveAction->execute()); + } + // Fall back on Create/Update if Save doesn't exist + catch (NotImplementedException $e) { + foreach ($this->records as $record) { + $record += $this->defaults; + if (!empty($record[$idField])) { + $result[] = civicrm_api4($this->getEntityName(), 'update', [ + 'reload' => $this->reload, + 'where' => [[$idField, '=', $record[$idField]]], + 'values' => $record, + 'checkPermissions' => $this->getCheckPermissions(), + ])->first(); + } + else { + $result[] = civicrm_api4($this->getEntityName(), 'create', [ + 'values' => $record, + 'checkPermissions' => $this->getCheckPermissions(), + ])->first(); + } + } + } + + if ($toDelete) { + $result->deleted = (array) civicrm_api4($this->getEntityName(), 'delete', [ + 'where' => [[$idField, 'IN', array_keys($toDelete)]], + 'checkPermissions' => $this->getCheckPermissions(), + ]); + } + } + +} diff --git a/Civi/Api4/Generic/BasicSaveAction.php b/Civi/Api4/Generic/BasicSaveAction.php new file mode 100644 index 0000000000..cd63ca21d1 --- /dev/null +++ b/Civi/Api4/Generic/BasicSaveAction.php @@ -0,0 +1,114 @@ + array + */ + private $setter; + + /** + * Basic Create constructor. + * + * @param string $entityName + * @param string $actionName + * @param string $idField + * @param callable $setter + * Function(array $item, BasicCreateAction $thisAction) => array + */ + public function __construct($entityName, $actionName, $idField = 'id', $setter = NULL) { + parent::__construct($entityName, $actionName, $idField); + $this->setter = $setter; + } + + /** + * We pass the writeRecord function an array representing one item to write. + * We expect to get the same format back. + * + * @param \Civi\Api4\Generic\Result $result + */ + public function _run(Result $result) { + $this->validateValues(); + foreach ($this->records as $record) { + $record += $this->defaults; + $result[] = $this->writeRecord($record); + } + if ($this->reload) { + /** @var BasicGetAction $get */ + $get = ActionUtil::getAction($this->getEntityName(), 'get'); + $get + ->setCheckPermissions($this->getCheckPermissions()) + ->addWhere($this->getIdField(), 'IN', (array) $result->column($this->getIdField())); + $result->exchangeArray((array) $get->execute()); + } + } + + /** + * This Basic Save class can be used in one of two ways: + * + * 1. Use this class directly by passing a callable ($setter) to the constructor. + * 2. Extend this class and override this function. + * + * Either way, this function should return an array representing the one new object. + * + * @param array $item + * @return array + * @throws \Civi\API\Exception\NotImplementedException + */ + protected function writeRecord($item) { + if (is_callable($this->setter)) { + return call_user_func($this->setter, $item, $this); + } + throw new NotImplementedException('Setter function not found for api4 ' . $this->getEntityName() . '::' . $this->getActionName()); + } + +} diff --git a/Civi/Api4/Generic/BasicUpdateAction.php b/Civi/Api4/Generic/BasicUpdateAction.php new file mode 100644 index 0000000000..c3aa0c1fb6 --- /dev/null +++ b/Civi/Api4/Generic/BasicUpdateAction.php @@ -0,0 +1,108 @@ + array + */ + private $setter; + + /** + * BasicUpdateAction constructor. + * + * @param string $entityName + * @param string $actionName + * @param string|array $select + * One or more fields to select from each matching item. + * @param callable $setter + * Function(array $item, BasicUpdateAction $thisAction) => array + */ + public function __construct($entityName, $actionName, $select = 'id', $setter = NULL) { + parent::__construct($entityName, $actionName, $select); + $this->setter = $setter; + } + + /** + * We pass the writeRecord function an array representing one item to update. + * We expect to get the same format back. + * + * @param \Civi\Api4\Generic\Result $result + * @throws \API_Exception + * @throws \Civi\API\Exception\NotImplementedException + */ + public function _run(Result $result) { + foreach ($this->getBatchRecords() as $item) { + $result[] = $this->writeRecord($this->values + $item); + } + + if (!$result->count()) { + throw new \API_Exception('Cannot ' . $this->getActionName() . ' ' . $this->getEntityName() . ', no records found with ' . $this->whereClauseToString()); + } + } + + /** + * This Basic Update class can be used in one of two ways: + * + * 1. Use this class directly by passing a callable ($setter) to the constructor. + * 2. Extend this class and override this function. + * + * Either way, this function should return an array representing the one modified object. + * + * @param array $item + * @return array + * @throws \Civi\API\Exception\NotImplementedException + */ + protected function writeRecord($item) { + if (is_callable($this->setter)) { + return call_user_func($this->setter, $item, $this); + } + throw new NotImplementedException('Setter function not found for api4 ' . $this->getEntityName() . '::' . $this->getActionName()); + } + +} diff --git a/Civi/Api4/Generic/DAOCreateAction.php b/Civi/Api4/Generic/DAOCreateAction.php new file mode 100644 index 0000000000..e3d63c2cd3 --- /dev/null +++ b/Civi/Api4/Generic/DAOCreateAction.php @@ -0,0 +1,71 @@ +validateValues(); + $params = $this->values; + $this->fillDefaults($params); + + $resultArray = $this->writeObjects([$params]); + + $result->exchangeArray($resultArray); + } + + /** + * @throws \API_Exception + */ + protected function validateValues() { + if (!empty($this->values['id'])) { + throw new \API_Exception('Cannot pass id to Create action. Use Update action instead.'); + } + parent::validateValues(); + } + +} diff --git a/Civi/Api4/Generic/DAODeleteAction.php b/Civi/Api4/Generic/DAODeleteAction.php new file mode 100644 index 0000000000..8001b7e848 --- /dev/null +++ b/Civi/Api4/Generic/DAODeleteAction.php @@ -0,0 +1,110 @@ +getParamDefaults(); + if ($defaults['where'] && !array_diff_key($this->where, $defaults['where'])) { + throw new \API_Exception('Cannot delete ' . $this->getEntityName() . ' with no "where" parameter specified'); + } + + $items = $this->getObjects(); + + if (!$items) { + throw new \API_Exception('Cannot delete ' . $this->getEntityName() . ', no records found with ' . $this->whereClauseToString()); + } + + $ids = $this->deleteObjects($items); + + $result->exchangeArray($ids); + } + + /** + * @param $items + * @return array + * @throws \API_Exception + */ + protected function deleteObjects($items) { + $ids = []; + $baoName = $this->getBaoName(); + + if ($this->getCheckPermissions()) { + foreach ($items as $item) { + $this->checkContactPermissions($baoName, $item); + } + } + + if ($this->getEntityName() !== 'EntityTag' && method_exists($baoName, 'del')) { + foreach ($items as $item) { + $args = [$item['id']]; + $bao = call_user_func_array([$baoName, 'del'], $args); + if ($bao !== FALSE) { + $ids[] = ['id' => $item['id']]; + } + else { + throw new \API_Exception("Could not delete {$this->getEntityName()} id {$item['id']}"); + } + } + } + else { + foreach ($items as $item) { + $bao = new $baoName(); + $bao->id = $item['id']; + // delete it + $action_result = $bao->delete(); + if ($action_result) { + $ids[] = ['id' => $item['id']]; + } + else { + throw new \API_Exception("Could not delete {$this->getEntityName()} id {$item['id']}"); + } + } + } + return $ids; + } + +} diff --git a/Civi/Api4/Generic/DAOEntity.php b/Civi/Api4/Generic/DAOEntity.php new file mode 100644 index 0000000000..9842cd5703 --- /dev/null +++ b/Civi/Api4/Generic/DAOEntity.php @@ -0,0 +1,94 @@ +setDefaultWhereClause(); + $result->exchangeArray($this->getObjects()); + } + +} diff --git a/Civi/Api4/Generic/DAOGetFieldsAction.php b/Civi/Api4/Generic/DAOGetFieldsAction.php new file mode 100644 index 0000000000..2565f8f29c --- /dev/null +++ b/Civi/Api4/Generic/DAOGetFieldsAction.php @@ -0,0 +1,87 @@ +_itemsToGet('name'); + /** @var \Civi\Api4\Service\Spec\SpecGatherer $gatherer */ + $gatherer = \Civi::container()->get('spec_gatherer'); + // Any fields name with a dot in it is custom + if ($fields) { + $this->includeCustom = strpos(implode('', $fields), '.') !== FALSE; + } + $spec = $gatherer->getSpec($this->getEntityName(), $this->getAction(), $this->includeCustom); + return SpecFormatter::specToArray($spec->getFields($fields), $this->loadOptions); + } + + public function fields() { + $fields = parent::fields(); + $fields[] = [ + 'name' => 'custom_field_id', + 'data_type' => 'Integer', + ]; + $fields[] = [ + 'name' => 'custom_group_id', + 'data_type' => 'Integer', + ]; + return $fields; + } + +} diff --git a/Civi/Api4/Generic/DAOSaveAction.php b/Civi/Api4/Generic/DAOSaveAction.php new file mode 100644 index 0000000000..634cd8e14a --- /dev/null +++ b/Civi/Api4/Generic/DAOSaveAction.php @@ -0,0 +1,67 @@ +records as &$record) { + $record += $this->defaults; + if (empty($record['id'])) { + $this->fillDefaults($record); + } + } + $this->validateValues(); + + $resultArray = $this->writeObjects($this->records); + + $result->exchangeArray($resultArray); + } + +} diff --git a/Civi/Api4/Generic/DAOUpdateAction.php b/Civi/Api4/Generic/DAOUpdateAction.php new file mode 100644 index 0000000000..7c8c0475a6 --- /dev/null +++ b/Civi/Api4/Generic/DAOUpdateAction.php @@ -0,0 +1,97 @@ +values['id'])) { + $wheres = array_column($this->where, NULL, 0); + if (!isset($wheres['id'])) { + $this->addWhere('id', '=', $this->values['id']); + } + elseif (!($wheres['id'][1] === '=' && $wheres['id'][2] == $this->values['id'])) { + throw new \Exception("Cannot update the id of an existing " . $this->getEntityName() . '.'); + } + } + + // Require WHERE if we didn't get an ID from values + if (!$this->where) { + throw new \API_Exception('Parameter "where" is required unless an id is supplied in values.'); + } + + // Update a single record by ID unless select requires more than id + if ($this->getSelect() === ['id'] && count($this->where) === 1 && $this->where[0][0] === 'id' && $this->where[0][1] === '=' && !empty($this->where[0][2])) { + $this->values['id'] = $this->where[0][2]; + $result->exchangeArray($this->writeObjects([$this->values])); + return; + } + + // Batch update 1 or more records based on WHERE clause + $items = $this->getObjects(); + foreach ($items as &$item) { + $item = $this->values + $item; + } + + if (!$items) { + throw new \API_Exception('Cannot ' . $this->getActionName() . ' ' . $this->getEntityName() . ', no records found with ' . $this->whereClauseToString()); + } + + $result->exchangeArray($this->writeObjects($items)); + } + +} diff --git a/Civi/Api4/Generic/Result.php b/Civi/Api4/Generic/Result.php new file mode 100644 index 0000000000..9930ce813f --- /dev/null +++ b/Civi/Api4/Generic/Result.php @@ -0,0 +1,131 @@ +getArrayCopy(); + return array_pop($items); + } + + /** + * @param int $index + * @return array|null + */ + public function itemAt($index) { + $length = $index < 0 ? 0 - $index : $index + 1; + if ($length > count($this)) { + return NULL; + } + return array_slice(array_values($this->getArrayCopy()), $index, 1)[0]; + } + + /** + * Re-index the results array (which by default is non-associative) + * + * Drops any item from the results that does not contain the specified key + * + * @param string $key + * @return $this + * @throws \API_Exception + */ + public function indexBy($key) { + $this->indexedBy = $key; + if (count($this)) { + $newResults = []; + foreach ($this as $values) { + if (isset($values[$key])) { + $newResults[$values[$key]] = $values; + } + } + if (!$newResults) { + throw new \API_Exception("Key $key not found in api results"); + } + $this->exchangeArray($newResults); + } + return $this; + } + + /** + * Returns the number of results + * + * @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; + } + + /** + * Reduce each result to one field + * + * @param $name + * @return array + */ + public function column($name) { + return array_column($this->getArrayCopy(), $name, $this->indexedBy); + } + +} diff --git a/Civi/Api4/Generic/Traits/ArrayQueryActionTrait.php b/Civi/Api4/Generic/Traits/ArrayQueryActionTrait.php new file mode 100644 index 0000000000..36ae76227a --- /dev/null +++ b/Civi/Api4/Generic/Traits/ArrayQueryActionTrait.php @@ -0,0 +1,236 @@ +filterArray($values); + $values = $this->sortArray($values); + $values = $this->limitArray($values); + $values = $this->selectArray($values); + return $values; + } + + /** + * @param array $values + * @return array + */ + protected function filterArray($values) { + if ($this->getWhere()) { + $values = array_filter($values, [$this, 'evaluateFilters']); + } + return array_values($values); + } + + /** + * @param array $row + * @return bool + */ + private function evaluateFilters($row) { + $where = $this->getWhere(); + $allConditions = in_array($where[0], ['AND', 'OR', 'NOT']) ? $where : ['AND', $where]; + return $this->walkFilters($row, $allConditions); + } + + /** + * @param array $row + * @param array $filters + * @return bool + * @throws \Civi\API\Exception\NotImplementedException + */ + private function walkFilters($row, $filters) { + switch ($filters[0]) { + case 'AND': + case 'NOT': + $result = TRUE; + foreach ($filters[1] as $filter) { + if (!$this->walkFilters($row, $filter)) { + $result = FALSE; + break; + } + } + return $result == ($filters[0] == 'AND'); + + case 'OR': + $result = !count($filters[1]); + foreach ($filters[1] as $filter) { + if ($this->walkFilters($row, $filter)) { + return TRUE; + } + } + return $result; + + default: + return $this->filterCompare($row, $filters); + } + } + + /** + * @param array $row + * @param array $condition + * @return bool + * @throws \Civi\API\Exception\NotImplementedException + */ + private function filterCompare($row, $condition) { + if (!is_array($condition)) { + throw new NotImplementedException('Unexpected where syntax; expecting array.'); + } + $value = isset($row[$condition[0]]) ? $row[$condition[0]] : NULL; + $operator = $condition[1]; + $expected = isset($condition[2]) ? $condition[2] : NULL; + switch ($operator) { + case '=': + case '!=': + case '<>': + $equal = $value == $expected; + // PHP is too imprecise about comparing the number 0 + if ($expected === 0 || $expected === '0') { + $equal = ($value === 0 || $value === '0'); + } + // PHP is too imprecise about comparing empty strings + if ($expected === '') { + $equal = ($value === ''); + } + return $equal == ($operator == '='); + + case 'IS NULL': + case 'IS NOT NULL': + return is_null($value) == ($operator == 'IS NULL'); + + case '>': + return $value > $expected; + + case '>=': + return $value >= $expected; + + case '<': + return $value < $expected; + + case '<=': + return $value <= $expected; + + case 'BETWEEN': + case 'NOT BETWEEN': + $between = ($value >= $expected[0] && $value <= $expected[1]); + return $between == ($operator == 'BETWEEN'); + + case 'LIKE': + case 'NOT LIKE': + $pattern = '/^' . str_replace('%', '.*', preg_quote($expected, '/')) . '$/i'; + return !preg_match($pattern, $value) == ($operator != 'LIKE'); + + case 'IN': + return in_array($value, $expected); + + case 'NOT IN': + return !in_array($value, $expected); + + default: + throw new NotImplementedException("Unsupported operator: '$operator' cannot be used with array data"); + } + } + + /** + * @param $values + * @return array + */ + protected function sortArray($values) { + if ($this->getOrderBy()) { + usort($values, [$this, 'sortCompare']); + } + return $values; + } + + private function sortCompare($a, $b) { + foreach ($this->getOrderBy() as $field => $dir) { + $modifier = $dir == 'ASC' ? 1 : -1; + if (isset($a[$field]) && isset($b[$field])) { + if ($a[$field] == $b[$field]) { + continue; + } + return (strnatcasecmp($a[$field], $b[$field]) * $modifier); + } + elseif (isset($a[$field]) || isset($b[$field])) { + return ((isset($a[$field]) ? 1 : -1) * $modifier); + } + } + return 0; + } + + /** + * @param $values + * @return array + */ + protected function selectArray($values) { + if ($this->getSelect() === ['row_count']) { + $values = [['row_count' => count($values)]]; + } + elseif ($this->getSelect()) { + foreach ($values as &$value) { + $value = array_intersect_key($value, array_flip($this->getSelect())); + } + } + return $values; + } + + /** + * @param $values + * @return array + */ + protected function limitArray($values) { + if ($this->getOffset() || $this->getLimit()) { + $values = array_slice($values, $this->getOffset() ?: 0, $this->getLimit() ?: NULL); + } + return $values; + } + +} diff --git a/Civi/Api4/Generic/Traits/CustomValueActionTrait.php b/Civi/Api4/Generic/Traits/CustomValueActionTrait.php new file mode 100644 index 0000000000..ba064a4f56 --- /dev/null +++ b/Civi/Api4/Generic/Traits/CustomValueActionTrait.php @@ -0,0 +1,127 @@ +customGroup = $customGroup; + parent::__construct('CustomValue', $actionName, ['id', 'entity_id']); + } + + /** + * Custom Group name if this is a CustomValue pseudo-entity. + * + * @var string + */ + private $customGroup; + + /** + * @inheritDoc + */ + public function getEntityName() { + return 'Custom_' . $this->getCustomGroup(); + } + + /** + * @inheritDoc + */ + protected function writeObjects($items) { + $result = []; + $fields = $this->entityFields(); + foreach ($items as $item) { + FormattingUtil::formatWriteParams($item, $this->getEntityName(), $fields); + + // Convert field names to custom_xx format + foreach ($fields as $name => $field) { + if (!empty($field['custom_field_id']) && isset($item[$name])) { + $item['custom_' . $field['custom_field_id']] = $item[$name]; + unset($item[$name]); + } + } + + $result[] = \CRM_Core_BAO_CustomValueTable::setValues($item); + } + return $result; + } + + /** + * @inheritDoc + */ + protected function deleteObjects($items) { + $customTable = CoreUtil::getCustomTableByName($this->getCustomGroup()); + $ids = []; + foreach ($items as $item) { + \CRM_Utils_Hook::pre('delete', $this->getEntityName(), $item['id'], \CRM_Core_DAO::$_nullArray); + \CRM_Utils_SQL_Delete::from($customTable) + ->where('id = #value') + ->param('#value', $item['id']) + ->execute(); + \CRM_Utils_Hook::post('delete', $this->getEntityName(), $item['id'], \CRM_Core_DAO::$_nullArray); + $ids[] = $item['id']; + } + return $ids; + } + + /** + * @inheritDoc + */ + protected function fillDefaults(&$params) { + foreach ($this->entityFields() as $name => $field) { + if (!isset($params[$name]) && isset($field['default_value'])) { + $params[$name] = $field['default_value']; + } + } + } + + /** + * @return string + */ + public function getCustomGroup() { + return $this->customGroup; + } + +} diff --git a/Civi/Api4/Generic/Traits/DAOActionTrait.php b/Civi/Api4/Generic/Traits/DAOActionTrait.php new file mode 100644 index 0000000000..29e30f86ea --- /dev/null +++ b/Civi/Api4/Generic/Traits/DAOActionTrait.php @@ -0,0 +1,290 @@ +getEntityName()); + } + + /** + * Extract the true fields from a BAO + * + * (Used by create and update actions) + * @param object $bao + * @return array + */ + public static function baoToArray($bao) { + $fields = $bao->fields(); + $values = []; + foreach ($fields as $key => $field) { + $name = $field['name']; + if (property_exists($bao, $name)) { + $values[$name] = isset($bao->$name) ? $bao->$name : NULL; + } + } + return $values; + } + + /** + * @return array|int + */ + protected function getObjects() { + $query = new Api4SelectQuery($this->getEntityName(), $this->getCheckPermissions(), $this->entityFields()); + $query->select = $this->getSelect(); + $query->where = $this->getWhere(); + $query->orderBy = $this->getOrderBy(); + $query->limit = $this->getLimit(); + $query->offset = $this->getOffset(); + return $query->run(); + } + + /** + * Fill field defaults which were declared by the api. + * + * Note: default values from core are ignored because the BAO or database layer will supply them. + * + * @param array $params + */ + protected function fillDefaults(&$params) { + $fields = $this->entityFields(); + $bao = $this->getBaoName(); + $coreFields = array_column($bao::fields(), NULL, 'name'); + + foreach ($fields as $name => $field) { + // If a default value in the api field is different than in core, the api should override it. + if (!isset($params[$name]) && !empty($field['default_value']) && $field['default_value'] != \CRM_Utils_Array::pathGet($coreFields, [$name, 'default'])) { + $params[$name] = $field['default_value']; + } + } + } + + /** + * Write bao objects as part of a create/update action. + * + * @param array $items + * The records to write to the DB. + * @return array + * The records after being written to the DB (e.g. including newly assigned "id"). + * @throws \API_Exception + */ + protected function writeObjects($items) { + $baoName = $this->getBaoName(); + + // Some BAOs are weird and don't support a straightforward "create" method. + $oddballs = [ + 'EntityTag' => 'add', + 'GroupContact' => 'add', + 'Website' => 'add', + ]; + $method = $oddballs[$this->getEntityName()] ?? 'create'; + if (!method_exists($baoName, $method)) { + $method = 'add'; + } + + $result = []; + + foreach ($items as $item) { + $entityId = UtilsArray::value('id', $item); + FormattingUtil::formatWriteParams($item, $this->getEntityName(), $this->entityFields()); + $this->formatCustomParams($item, $entityId); + $item['check_permissions'] = $this->getCheckPermissions(); + + // For some reason the contact bao requires this + if ($entityId && $this->getEntityName() == 'Contact') { + $item['contact_id'] = $entityId; + } + + if ($this->getCheckPermissions()) { + $this->checkContactPermissions($baoName, $item); + } + + if ($this->getEntityName() == 'Address') { + $createResult = $baoName::add($item, $this->fixAddress); + } + elseif (method_exists($baoName, $method)) { + $createResult = $baoName::$method($item); + } + else { + $createResult = $this->genericCreateMethod($item); + } + + if (!$createResult) { + $errMessage = sprintf('%s write operation failed', $this->getEntityName()); + throw new \API_Exception($errMessage); + } + + if (!empty($this->reload) && is_a($createResult, 'CRM_Core_DAO')) { + $createResult->find(TRUE); + } + + // trim back the junk and just get the array: + $resultArray = $this->baoToArray($createResult); + + $result[] = $resultArray; + } + return $result; + } + + /** + * Fallback when a BAO does not contain create or add functions + * + * @param $params + * @return mixed + */ + private function genericCreateMethod($params) { + $baoName = $this->getBaoName(); + $hook = empty($params['id']) ? 'create' : 'edit'; + + \CRM_Utils_Hook::pre($hook, $this->getEntityName(), UtilsArray::value('id', $params), $params); + /** @var \CRM_Core_DAO $instance */ + $instance = new $baoName(); + $instance->copyValues($params, TRUE); + $instance->save(); + \CRM_Utils_Hook::post($hook, $this->getEntityName(), $instance->id, $instance); + + return $instance; + } + + /** + * @param array $params + * @param int $entityId + * @return mixed + */ + protected function formatCustomParams(&$params, $entityId) { + $customParams = []; + + // $customValueID is the ID of the custom value in the custom table for this + // entity (i guess this assumes it's not a multi value entity) + foreach ($params as $name => $value) { + if (strpos($name, '.') === FALSE) { + continue; + } + + list($customGroup, $customField) = explode('.', $name); + + $customFieldId = \CRM_Core_BAO_CustomField::getFieldValue( + \CRM_Core_DAO_CustomField::class, + $customField, + 'id', + 'name' + ); + $customFieldType = \CRM_Core_BAO_CustomField::getFieldValue( + \CRM_Core_DAO_CustomField::class, + $customField, + 'html_type', + 'name' + ); + $customFieldExtends = \CRM_Core_BAO_CustomGroup::getFieldValue( + \CRM_Core_DAO_CustomGroup::class, + $customGroup, + 'extends', + 'name' + ); + + // todo are we sure we don't want to allow setting to NULL? need to test + if ($customFieldId && NULL !== $value) { + + if ($customFieldType == 'CheckBox') { + // this function should be part of a class + formatCheckBoxField($value, 'custom_' . $customFieldId, $this->getEntityName()); + } + + \CRM_Core_BAO_CustomField::formatCustomField( + $customFieldId, + $customParams, + $value, + $customFieldExtends, + // todo check when this is needed + NULL, + $entityId, + FALSE, + FALSE, + TRUE + ); + } + } + + if ($customParams) { + $params['custom'] = $customParams; + } + } + + /** + * Check edit/delete permissions for contacts and related entities. + * + * @param $baoName + * @param $item + * @throws \Civi\API\Exception\UnauthorizedException + */ + protected function checkContactPermissions($baoName, $item) { + if ($baoName == 'CRM_Contact_BAO_Contact' && !empty($item['id'])) { + $permission = $this->getActionName() == 'delete' ? \CRM_Core_Permission::DELETE : \CRM_Core_Permission::EDIT; + if (!\CRM_Contact_BAO_Contact_Permission::allow($item['id'], $permission)) { + throw new \Civi\API\Exception\UnauthorizedException('Permission denied to modify contact record'); + } + } + else { + // Fixme: decouple from v3 + require_once 'api/v3/utils.php'; + _civicrm_api3_check_edit_permissions($baoName, ['check_permissions' => 1] + $item); + } + } + +} diff --git a/Civi/Api4/Generic/Traits/IsCurrentTrait.php b/Civi/Api4/Generic/Traits/IsCurrentTrait.php new file mode 100644 index 0000000000..edd02d8e5e --- /dev/null +++ b/Civi/Api4/Generic/Traits/IsCurrentTrait.php @@ -0,0 +1,75 @@ += now) AND (start_date IS NULL OR start_DATE <= now) + * + * Adding current = FALSE is a shortcut for + * WHERE is_active = 0 OR start_date > now OR end_date < now + * + * @var bool + */ + protected $current; + + /** + * @return bool + */ + public function getCurrent() { + return $this->current; + } + + /** + * @param bool $current + * @return $this + */ + public function setCurrent($current) { + $this->current = $current; + return $this; + } + +} diff --git a/Civi/Api4/Group.php b/Civi/Api4/Group.php new file mode 100644 index 0000000000..b21754603b --- /dev/null +++ b/Civi/Api4/Group.php @@ -0,0 +1,47 @@ + [ + ['onApiResolve', Events::W_EARLY], + ], + ]; + } + + /** + * @param \Civi\API\Event\ResolveEvent $event + * API resolution event. + */ + public function onApiResolve(ResolveEvent $event) { + $apiRequest = $event->getApiRequest(); + if ($apiRequest instanceof AbstractAction) { + $event->setApiRequest($apiRequest); + $event->setApiProvider($this); + $event->stopPropagation(); + } + } + + /** + * @inheritDoc + * + * @param \Civi\Api4\Generic\AbstractAction $action + * + * @return \Civi\Api4\Generic\Result + */ + public function invoke($action) { + // Load result class based on @return annotation in the execute() method. + $reflection = new \ReflectionClass($action); + $doc = ReflectionUtils::getCodeDocs($reflection->getMethod('execute'), 'Method'); + $resultClass = \CRM_Utils_Array::value('return', $doc, '\\Civi\\Api4\\Generic\\Result'); + $result = new $resultClass(); + $result->action = $action->getActionName(); + $result->entity = $action->getEntityName(); + $action->_run($result); + $this->handleChains($action, $result); + return $result; + } + + /** + * Run each chained action once per row + * + * @param \Civi\Api4\Generic\AbstractAction $action + * @param \Civi\Api4\Generic\Result $result + */ + protected function handleChains($action, $result) { + foreach ($action->getChain() as $name => $request) { + $request += [NULL, NULL, [], NULL]; + $request[2]['checkPermissions'] = $action->getCheckPermissions(); + foreach ($result as &$row) { + $row[$name] = $this->runChain($request, $row); + } + } + } + + /** + * Run a chained action + * + * @param $request + * @param $row + * @return array|\Civi\Api4\Generic\Result|null + * @throws \API_Exception + */ + protected function runChain($request, $row) { + list($entity, $action, $params, $index) = $request; + // Swap out variables in $entity, $action & $params + $this->resolveChainLinks($entity, $row); + $this->resolveChainLinks($action, $row); + $this->resolveChainLinks($params, $row); + return (array) civicrm_api4($entity, $action, $params, $index); + } + + /** + * Swap out variable names + * + * @param mixed $val + * @param array $result + */ + protected function resolveChainLinks(&$val, $result) { + if (is_array($val)) { + foreach ($val as &$v) { + $this->resolveChainLinks($v, $result); + } + } + elseif (is_string($val) && strlen($val) > 1 && substr($val, 0, 1) === '$') { + $val = \CRM_Utils_Array::pathGet($result, explode('.', substr($val, 1))); + } + } + + /** + * @inheritDoc + * @param int $version + * @return array + */ + public function getEntityNames($version) { + /** FIXME */ + return []; + } + + /** + * @inheritDoc + * @param int $version + * @param string $entity + * @return array + */ + public function getActionNames($version, $entity) { + /** FIXME Civi\API\V4\Action\GetActions */ + return []; + } + +} diff --git a/Civi/Api4/Query/Api4SelectQuery.php b/Civi/Api4/Query/Api4SelectQuery.php new file mode 100644 index 0000000000..f7026ba349 --- /dev/null +++ b/Civi/Api4/Query/Api4SelectQuery.php @@ -0,0 +1,580 @@ +=', '>', '<', 'LIKE', "<>", "!=", + * * "NOT LIKE", 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', + * * 'IS NOT NULL', or 'IS NULL'. + */ +class Api4SelectQuery extends SelectQuery { + + /** + * @var int + */ + protected $apiVersion = 4; + + /** + * @var array + * Maps select fields to [, ] + */ + protected $fkSelectAliases = []; + + /** + * @var \Civi\Api4\Service\Schema\Joinable\Joinable[] + * The joinable tables that have been joined so far + */ + protected $joinedTables = []; + + /** + * @param string $entity + * @param bool $checkPermissions + * @param array $fields + */ + public function __construct($entity, $checkPermissions, $fields) { + require_once 'api/v3/utils.php'; + $this->entity = $entity; + $this->checkPermissions = $checkPermissions; + + $baoName = CoreUtil::getBAOFromApiName($entity); + $bao = new $baoName(); + + $this->entityFieldNames = _civicrm_api3_field_names(_civicrm_api3_build_fields_array($bao)); + $this->apiFieldSpec = (array) $fields; + + \CRM_Utils_SQL_Select::from($this->getTableName($baoName) . ' ' . self::MAIN_TABLE_ALIAS); + + // Add ACLs first to avoid redundant subclauses + $this->query->where($this->getAclClause(self::MAIN_TABLE_ALIAS, $baoName)); + } + + /** + * Why walk when you can + * + * @return array|int + */ + public function run() { + $this->addJoins(); + $this->buildSelectFields(); + $this->buildWhereClause(); + + // Select + if (in_array('row_count', $this->select)) { + $this->query->select("count(*) as c"); + } + else { + foreach ($this->selectFields as $column => $alias) { + $this->query->select("$column as `$alias`"); + } + // Order by + $this->buildOrderBy(); + } + + // Limit + if (!empty($this->limit) || !empty($this->offset)) { + $this->query->limit($this->limit, $this->offset); + } + + $results = []; + $sql = $this->query->toSQL(); + $query = \CRM_Core_DAO::executeQuery($sql); + + while ($query->fetch()) { + if (in_array('row_count', $this->select)) { + $results[]['row_count'] = (int) $query->c; + break; + } + $results[$query->id] = []; + foreach ($this->selectFields as $column => $alias) { + $returnName = $alias; + $alias = str_replace('.', '_', $alias); + $results[$query->id][$returnName] = property_exists($query, $alias) ? $query->$alias : NULL; + }; + } + $event = new PostSelectQueryEvent($results, $this); + \Civi::dispatcher()->dispatch(Events::POST_SELECT_QUERY, $event); + + return $event->getResults(); + } + + /** + * Gets all FK fields and does the required joins + */ + protected function addJoins() { + $allFields = array_merge($this->select, array_keys($this->orderBy)); + $recurse = function($clauses) use (&$allFields, &$recurse) { + foreach ($clauses as $clause) { + if ($clause[0] === 'NOT' && is_string($clause[1][0])) { + $recurse($clause[1][1]); + } + elseif (in_array($clause[0], ['AND', 'OR', 'NOT'])) { + $recurse($clause[1]); + } + elseif (is_array($clause[0])) { + array_walk($clause, $recurse); + } + else { + $allFields[] = $clause[0]; + } + } + }; + $recurse($this->where); + $dotFields = array_unique(array_filter($allFields, function ($field) { + return strpos($field, '.') !== FALSE; + })); + + foreach ($dotFields as $dotField) { + $this->joinFK($dotField); + } + } + + /** + * Populate $this->selectFields + * + * @throws \Civi\API\Exception\UnauthorizedException + */ + protected function buildSelectFields() { + $return_all_fields = (empty($this->select) || !is_array($this->select)); + $return = $return_all_fields ? $this->entityFieldNames : $this->select; + if ($return_all_fields || in_array('custom', $this->select)) { + foreach (array_keys($this->apiFieldSpec) as $fieldName) { + if (strpos($fieldName, 'custom_') === 0) { + $return[] = $fieldName; + } + } + } + + // Always select the ID if the table has one. + if (array_key_exists('id', $this->apiFieldSpec) || strstr($this->entity, 'Custom_')) { + $this->selectFields[self::MAIN_TABLE_ALIAS . ".id"] = "id"; + } + + // core return fields + foreach ($return as $fieldName) { + $field = $this->getField($fieldName); + if (strpos($fieldName, '.') && !empty($this->fkSelectAliases[$fieldName]) && !array_filter($this->getPathJoinTypes($fieldName))) { + $this->selectFields[$this->fkSelectAliases[$fieldName]] = $fieldName; + } + elseif ($field && in_array($field['name'], $this->entityFieldNames)) { + $this->selectFields[self::MAIN_TABLE_ALIAS . "." . UtilsArray::value('column_name', $field, $field['name'])] = $field['name']; + } + } + } + + /** + * @inheritDoc + */ + protected function buildWhereClause() { + foreach ($this->where as $clause) { + $sql_clause = $this->treeWalkWhereClause($clause); + $this->query->where($sql_clause); + } + } + + /** + * @inheritDoc + */ + protected function buildOrderBy() { + foreach ($this->orderBy as $field => $dir) { + if ($dir !== 'ASC' && $dir !== 'DESC') { + throw new \API_Exception("Invalid sort direction. Cannot order by $field $dir"); + } + if ($this->getField($field)) { + $this->query->orderBy(self::MAIN_TABLE_ALIAS . '.' . $field . " $dir"); + } + else { + throw new \API_Exception("Invalid sort field. Cannot order by $field $dir"); + } + } + } + + /** + * Recursively validate and transform a branch or leaf clause array to SQL. + * + * @param array $clause + * @return string SQL where clause + * + * @uses validateClauseAndComposeSql() to generate the SQL etc. + * @todo if an 'and' is nested within and 'and' (or or-in-or) then should + * flatten that to be a single list of clauses. + */ + protected function treeWalkWhereClause($clause) { + switch ($clause[0]) { + case 'OR': + case 'AND': + // handle branches + if (count($clause[1]) === 1) { + // a single set so AND|OR is immaterial + return $this->treeWalkWhereClause($clause[1][0]); + } + else { + $sql_subclauses = []; + foreach ($clause[1] as $subclause) { + $sql_subclauses[] = $this->treeWalkWhereClause($subclause); + } + return '(' . implode("\n" . $clause[0], $sql_subclauses) . ')'; + } + + case 'NOT': + // If we get a group of clauses with no operator, assume AND + if (!is_string($clause[1][0])) { + $clause[1] = ['AND', $clause[1]]; + } + return 'NOT (' . $this->treeWalkWhereClause($clause[1]) . ')'; + + default: + return $this->validateClauseAndComposeSql($clause); + } + } + + /** + * Validate and transform a leaf clause array to SQL. + * @param array $clause [$fieldName, $operator, $criteria] + * @return string SQL + * @throws \API_Exception + * @throws \Exception + */ + protected function validateClauseAndComposeSql($clause) { + // Pad array for unary operators + list($key, $operator, $value) = array_pad($clause, 3, NULL); + $fieldSpec = $this->getField($key); + // derive table and column: + $table_name = NULL; + $column_name = NULL; + if (in_array($key, $this->entityFieldNames)) { + $table_name = self::MAIN_TABLE_ALIAS; + $column_name = $key; + } + elseif (strpos($key, '.') && isset($this->fkSelectAliases[$key])) { + list($table_name, $column_name) = explode('.', $this->fkSelectAliases[$key]); + } + + if (!$table_name || !$column_name) { + throw new \API_Exception("Invalid field '$key' in where clause."); + } + + FormattingUtil::formatValue($value, $fieldSpec, $this->getEntity()); + + $sql_clause = \CRM_Core_DAO::createSQLFilter("`$table_name`.`$column_name`", [$operator => $value]); + if ($sql_clause === NULL) { + throw new \API_Exception("Invalid value in where clause for field '$key'"); + } + return $sql_clause; + } + + /** + * @inheritDoc + */ + protected function getFields() { + return $this->apiFieldSpec; + } + + /** + * Fetch a field from the getFields list + * + * @param string $fieldName + * + * @return string|null + */ + protected function getField($fieldName) { + if ($fieldName) { + $fieldPath = explode('.', $fieldName); + if (count($fieldPath) > 1) { + $fieldName = implode('.', array_slice($fieldPath, -2)); + } + return UtilsArray::value($fieldName, $this->apiFieldSpec); + } + return NULL; + } + + /** + * @param $key + * @throws \API_Exception + */ + protected function joinFK($key) { + $pathArray = explode('.', $key); + + if (count($pathArray) < 2) { + return; + } + + /** @var \Civi\Api4\Service\Schema\Joiner $joiner */ + $joiner = \Civi::container()->get('joiner'); + $field = array_pop($pathArray); + $pathString = implode('.', $pathArray); + + if (!$joiner->canJoin($this, $pathString)) { + return; + } + + $joinPath = $joiner->join($this, $pathString); + /** @var \Civi\Api4\Service\Schema\Joinable\Joinable $lastLink */ + $lastLink = array_pop($joinPath); + + // Cache field info for retrieval by $this->getField() + $prefix = array_pop($pathArray) . '.'; + if (!isset($this->apiFieldSpec[$prefix . $field])) { + $joinEntity = $lastLink->getEntity(); + // Custom fields are already prefixed + if ($lastLink instanceof CustomGroupJoinable) { + $prefix = ''; + } + foreach ($lastLink->getEntityFields() as $fieldObject) { + $this->apiFieldSpec[$prefix . $fieldObject->getName()] = $fieldObject->toArray() + ['entity' => $joinEntity]; + } + } + + if (!$lastLink->getField($field)) { + throw new \API_Exception('Invalid join'); + } + + // custom groups use aliases for field names + if ($lastLink instanceof CustomGroupJoinable) { + $field = $lastLink->getSqlColumn($field); + } + + $this->fkSelectAliases[$key] = sprintf('%s.%s', $lastLink->getAlias(), $field); + } + + /** + * @param \Civi\Api4\Service\Schema\Joinable\Joinable $joinable + * + * @return $this + */ + public function addJoinedTable(Joinable $joinable) { + $this->joinedTables[] = $joinable; + + return $this; + } + + /** + * @return FALSE|string + */ + public function getFrom() { + return AllCoreTables::getTableForClass(AllCoreTables::getFullName($this->entity)); + } + + /** + * @return string + */ + public function getEntity() { + return $this->entity; + } + + /** + * @return array + */ + public function getSelect() { + return $this->select; + } + + /** + * @return array + */ + public function getWhere() { + return $this->where; + } + + /** + * @return array + */ + public function getOrderBy() { + return $this->orderBy; + } + + /** + * @return mixed + */ + public function getLimit() { + return $this->limit; + } + + /** + * @return mixed + */ + public function getOffset() { + return $this->offset; + } + + /** + * @return array + */ + public function getSelectFields() { + return $this->selectFields; + } + + /** + * @return bool + */ + public function isFillUniqueFields() { + return $this->isFillUniqueFields; + } + + /** + * @return \CRM_Utils_SQL_Select + */ + public function getQuery() { + return $this->query; + } + + /** + * @return array + */ + public function getJoins() { + return $this->joins; + } + + /** + * @return array + */ + public function getApiFieldSpec() { + return $this->apiFieldSpec; + } + + /** + * @return array + */ + public function getEntityFieldNames() { + return $this->entityFieldNames; + } + + /** + * @return array + */ + public function getAclFields() { + return $this->aclFields; + } + + /** + * @return bool|string + */ + public function getCheckPermissions() { + return $this->checkPermissions; + } + + /** + * @return int + */ + public function getApiVersion() { + return $this->apiVersion; + } + + /** + * @return array + */ + public function getFkSelectAliases() { + return $this->fkSelectAliases; + } + + /** + * @return \Civi\Api4\Service\Schema\Joinable\Joinable[] + */ + public function getJoinedTables() { + return $this->joinedTables; + } + + /** + * @return \Civi\Api4\Service\Schema\Joinable\Joinable + */ + public function getJoinedTable($alias) { + foreach ($this->joinedTables as $join) { + if ($join->getAlias() == $alias) { + return $join; + } + } + } + + /** + * Get table name on basis of entity + * + * @param string $baoName + * + * @return void + */ + public function getTableName($baoName) { + if (strstr($this->entity, 'Custom_')) { + $this->query = \CRM_Utils_SQL_Select::from(CoreUtil::getCustomTableByName(str_replace('Custom_', '', $this->entity)) . ' ' . self::MAIN_TABLE_ALIAS); + $this->entityFieldNames = array_keys($this->apiFieldSpec); + } + else { + $bao = new $baoName(); + $this->query = \CRM_Utils_SQL_Select::from($bao->tableName() . ' ' . self::MAIN_TABLE_ALIAS); + } + } + + /** + * Separates a string like 'emails.location_type.label' into an array, where + * each value in the array tells whether it is 1-1 or 1-n join type + * + * @param string $pathString + * Dot separated path to the field + * + * @return array + * Index is table alias and value is boolean whether is 1-to-many join + */ + public function getPathJoinTypes($pathString) { + $pathParts = explode('.', $pathString); + // remove field + array_pop($pathParts); + $path = []; + $query = $this; + $isMultipleChecker = function($alias) use ($query) { + foreach ($query->getJoinedTables() as $table) { + if ($table->getAlias() === $alias) { + return $table->getJoinType() === Joinable::JOIN_TYPE_ONE_TO_MANY; + } + } + return FALSE; + }; + + foreach ($pathParts as $part) { + $path[$part] = $isMultipleChecker($part); + } + + return $path; + } + +} diff --git a/Civi/Api4/Relationship.php b/Civi/Api4/Relationship.php new file mode 100644 index 0000000000..888e98d9f0 --- /dev/null +++ b/Civi/Api4/Relationship.php @@ -0,0 +1,54 @@ + $item) { + $result[] = ['path' => $path] + $item; + } + return $result; + }); + } + + public static function getFields() { + return new BasicGetFieldsAction(__CLASS__, __FUNCTION__, function() { + return [ + [ + 'name' => 'path', + 'title' => 'Relative Path', + 'required' => TRUE, + 'data_type' => 'String', + ], + [ + 'name' => 'title', + 'title' => 'Page Title', + 'required' => TRUE, + 'data_type' => 'String', + ], + [ + 'name' => 'page_callback', + 'title' => 'Page Callback', + 'required' => TRUE, + 'data_type' => 'String', + ], + [ + 'name' => 'page_arguments', + 'title' => 'Page Arguments', + 'required' => FALSE, + 'data_type' => 'String', + ], + [ + 'name' => 'path_arguments', + 'title' => 'Path Arguments', + 'required' => FALSE, + 'data_type' => 'String', + ], + [ + 'name' => 'access_arguments', + 'title' => 'Access Arguments', + 'required' => FALSE, + 'data_type' => 'Array', + ], + ]; + }); + } + + /** + * @return array + */ + public static function permissions() { + return [ + "meta" => ["access CiviCRM"], + "default" => ["administer CiviCRM"], + ]; + } + +} diff --git a/Civi/Api4/Service/Schema/Joinable/ActivityToActivityContactAssigneesJoinable.php b/Civi/Api4/Service/Schema/Joinable/ActivityToActivityContactAssigneesJoinable.php new file mode 100644 index 0000000000..18fa632332 --- /dev/null +++ b/Civi/Api4/Service/Schema/Joinable/ActivityToActivityContactAssigneesJoinable.php @@ -0,0 +1,75 @@ +addCondition(sprintf('%s.record_type_id = (%s)', $alias, $subSelect)); + parent::__construct('civicrm_activity_contact', 'activity_id', $alias); + } + +} diff --git a/Civi/Api4/Service/Schema/Joinable/BridgeJoinable.php b/Civi/Api4/Service/Schema/Joinable/BridgeJoinable.php new file mode 100644 index 0000000000..f294be8b3f --- /dev/null +++ b/Civi/Api4/Service/Schema/Joinable/BridgeJoinable.php @@ -0,0 +1,58 @@ +middleLink = $middleLink; + } + + /** + * @return Joinable + */ + public function getMiddleLink() { + return $this->middleLink; + } + +} diff --git a/Civi/Api4/Service/Schema/Joinable/CustomGroupJoinable.php b/Civi/Api4/Service/Schema/Joinable/CustomGroupJoinable.php new file mode 100644 index 0000000000..c74b861bf8 --- /dev/null +++ b/Civi/Api4/Service/Schema/Joinable/CustomGroupJoinable.php @@ -0,0 +1,108 @@ +entity = $entity; + $this->columns = $columns; + parent::__construct($targetTable, 'entity_id', $alias); + $this->joinType = $isMultiRecord ? + self::JOIN_TYPE_ONE_TO_MANY : self::JOIN_TYPE_ONE_TO_ONE; + } + + /** + * @inheritDoc + */ + public function getEntityFields() { + if (!$this->entityFields) { + $fields = CustomField::get() + ->setCheckPermissions(FALSE) + ->setSelect(['custom_group.name', 'custom_group_id', 'name', 'label', 'data_type', 'html_type', 'is_required', 'is_searchable', 'is_search_range', 'weight', 'is_active', 'is_view', 'option_group_id', 'default_value', 'date_format', 'time_format', 'start_date_years', 'end_date_years']) + ->addWhere('custom_group.table_name', '=', $this->getTargetTable()) + ->execute(); + foreach ($fields as $field) { + $this->entityFields[] = \Civi\Api4\Service\Spec\SpecFormatter::arrayToField($field, $this->getEntity()); + } + } + return $this->entityFields; + } + + /** + * @inheritDoc + */ + public function getField($fieldName) { + foreach ($this->getEntityFields() as $field) { + $name = $field->getName(); + if ($name === $fieldName || strrpos($name, '.' . $fieldName) === strlen($name) - strlen($fieldName) - 1) { + return $field; + } + } + return NULL; + } + + /** + * @return string + */ + public function getSqlColumn($fieldName) { + return $this->columns[$fieldName]; + } + +} diff --git a/Civi/Api4/Service/Schema/Joinable/Joinable.php b/Civi/Api4/Service/Schema/Joinable/Joinable.php new file mode 100644 index 0000000000..18478c8b24 --- /dev/null +++ b/Civi/Api4/Service/Schema/Joinable/Joinable.php @@ -0,0 +1,312 @@ +targetTable = $targetTable; + $this->targetColumn = $targetColumn; + if (!$this->entity) { + $this->entity = CoreUtil::getApiNameFromTableName($targetTable); + } + $this->alias = $alias ?: str_replace('civicrm_', '', $targetTable); + } + + /** + * Gets conditions required when joining to a base table + * + * @param string|null $baseTableAlias + * Name of the base table, if aliased. + * + * @return array + */ + public function getConditionsForJoin($baseTableAlias = NULL) { + $baseCondition = sprintf( + '%s.%s = %s.%s', + $baseTableAlias ?: $this->baseTable, + $this->baseColumn, + $this->getAlias(), + $this->targetColumn + ); + + return array_merge([$baseCondition], $this->conditions); + } + + /** + * @return string + */ + public function getBaseTable() { + return $this->baseTable; + } + + /** + * @param string $baseTable + * + * @return $this + */ + public function setBaseTable($baseTable) { + $this->baseTable = $baseTable; + + return $this; + } + + /** + * @return string + */ + public function getBaseColumn() { + return $this->baseColumn; + } + + /** + * @param string $baseColumn + * + * @return $this + */ + public function setBaseColumn($baseColumn) { + $this->baseColumn = $baseColumn; + + return $this; + } + + /** + * @return string + */ + public function getAlias() { + return $this->alias; + } + + /** + * @param string $alias + * + * @return $this + */ + public function setAlias($alias) { + $this->alias = $alias; + + return $this; + } + + /** + * @return string + */ + public function getTargetTable() { + return $this->targetTable; + } + + /** + * @return string + */ + public function getTargetColumn() { + return $this->targetColumn; + } + + /** + * @return string + */ + public function getEntity() { + return $this->entity; + } + + /** + * @param $condition + * + * @return $this + */ + public function addCondition($condition) { + $this->conditions[] = $condition; + + return $this; + } + + /** + * @return array + */ + public function getExtraJoinConditions() { + return $this->conditions; + } + + /** + * @param array $conditions + * + * @return $this + */ + public function setConditions($conditions) { + $this->conditions = $conditions; + + return $this; + } + + /** + * @return string + */ + public function getJoinSide() { + return $this->joinSide; + } + + /** + * @param string $joinSide + * + * @return $this + */ + public function setJoinSide($joinSide) { + $this->joinSide = $joinSide; + + return $this; + } + + /** + * @return int + */ + public function getJoinType() { + return $this->joinType; + } + + /** + * @param int $joinType + * + * @return $this + */ + public function setJoinType($joinType) { + $this->joinType = $joinType; + + return $this; + } + + /** + * @return array + */ + public function toArray() { + return get_object_vars($this); + } + + /** + * @return \Civi\Api4\Service\Spec\FieldSpec[] + */ + public function getEntityFields() { + if (!$this->entityFields) { + $bao = AllCoreTables::getClassForTable($this->getTargetTable()); + if ($bao) { + foreach ($bao::fields() as $field) { + $this->entityFields[] = \Civi\Api4\Service\Spec\SpecFormatter::arrayToField($field, $this->getEntity()); + } + } + } + return $this->entityFields; + } + + /** + * @return \Civi\Api4\Service\Spec\FieldSpec|NULL + */ + public function getField($fieldName) { + foreach ($this->getEntityFields() as $field) { + if ($field->getName() === $fieldName) { + return $field; + } + } + return NULL; + } + +} diff --git a/Civi/Api4/Service/Schema/Joinable/OptionValueJoinable.php b/Civi/Api4/Service/Schema/Joinable/OptionValueJoinable.php new file mode 100644 index 0000000000..b5ba1f0527 --- /dev/null +++ b/Civi/Api4/Service/Schema/Joinable/OptionValueJoinable.php @@ -0,0 +1,96 @@ +optionGroupName = $optionGroup; + $optionValueTable = 'civicrm_option_value'; + + // default join alias to option group name, e.g. activity_type + if (!$alias && !is_numeric($optionGroup)) { + $alias = $optionGroup; + } + + parent::__construct($optionValueTable, $keyColumn, $alias); + + if (!is_numeric($optionGroup)) { + $subSelect = 'SELECT id FROM civicrm_option_group WHERE name = "%s"'; + $subQuery = sprintf($subSelect, $optionGroup); + $condition = sprintf('%s.option_group_id = (%s)', $alias, $subQuery); + } + else { + $condition = sprintf('%s.option_group_id = %d', $alias, $optionGroup); + } + + $this->addCondition($condition); + } + + /** + * The existing condition must also be re-aliased + * + * @param string $alias + * + * @return $this + */ + public function setAlias($alias) { + foreach ($this->conditions as $index => $condition) { + $search = $this->alias . '.'; + $replace = $alias . '.'; + $this->conditions[$index] = str_replace($search, $replace, $condition); + } + + parent::setAlias($alias); + + return $this; + } + +} diff --git a/Civi/Api4/Service/Schema/Joiner.php b/Civi/Api4/Service/Schema/Joiner.php new file mode 100644 index 0000000000..99f3b5b0a2 --- /dev/null +++ b/Civi/Api4/Service/Schema/Joiner.php @@ -0,0 +1,132 @@ +schemaMap = $schemaMap; + } + + /** + * @param \Civi\Api4\Query\Api4SelectQuery $query + * The query object to do the joins on + * @param string $joinPath + * A path of aliases in dot notation, e.g. contact.phone + * @param string $side + * Can be LEFT or INNER + * + * @throws \Exception + * @return \Civi\Api4\Service\Schema\Joinable\Joinable[] + * The path used to make the join + */ + public function join(Api4SelectQuery $query, $joinPath, $side = 'LEFT') { + $fullPath = $this->getPath($query->getFrom(), $joinPath); + $baseTable = $query::MAIN_TABLE_ALIAS; + + foreach ($fullPath as $link) { + $target = $link->getTargetTable(); + $alias = $link->getAlias(); + $conditions = $link->getConditionsForJoin($baseTable); + + $query->join($side, $target, $alias, $conditions); + $query->addJoinedTable($link); + + $baseTable = $link->getAlias(); + } + + return $fullPath; + } + + /** + * @param \Civi\Api4\Query\Api4SelectQuery $query + * @param $joinPath + * + * @return bool + */ + public function canJoin(Api4SelectQuery $query, $joinPath) { + return !empty($this->getPath($query->getFrom(), $joinPath)); + } + + /** + * @param string $baseTable + * @param string $joinPath + * + * @return array + * @throws \Exception + */ + protected function getPath($baseTable, $joinPath) { + $cacheKey = sprintf('%s.%s', $baseTable, $joinPath); + if (!isset($this->cache[$cacheKey])) { + $stack = explode('.', $joinPath); + $fullPath = []; + + foreach ($stack as $key => $targetAlias) { + $links = $this->schemaMap->getPath($baseTable, $targetAlias); + + if (empty($links)) { + throw new \Exception(sprintf('Cannot join %s to %s', $baseTable, $targetAlias)); + } + else { + $fullPath = array_merge($fullPath, $links); + $lastLink = end($links); + $baseTable = $lastLink->getTargetTable(); + } + } + + $this->cache[$cacheKey] = $fullPath; + } + + return $this->cache[$cacheKey]; + } + +} diff --git a/Civi/Api4/Service/Schema/SchemaMap.php b/Civi/Api4/Service/Schema/SchemaMap.php new file mode 100644 index 0000000000..0ca16795ab --- /dev/null +++ b/Civi/Api4/Service/Schema/SchemaMap.php @@ -0,0 +1,174 @@ +getTableByName($baseTableName); + $path = []; + + if (!$table) { + return $path; + } + + $this->findPaths($table, $targetTableAlias, 1, $path); + + foreach ($path as $index => $pathLink) { + if ($pathLink instanceof BridgeJoinable) { + $start = array_slice($path, 0, $index); + $middle = [$pathLink->getMiddleLink()]; + $end = array_slice($path, $index, count($path) - $index); + $path = array_merge($start, $middle, $end); + } + } + + return $path; + } + + /** + * @return Table[] + */ + public function getTables() { + return $this->tables; + } + + /** + * @param $name + * + * @return Table|null + */ + public function getTableByName($name) { + foreach ($this->tables as $table) { + if ($table->getName() === $name) { + return $table; + } + } + + return NULL; + } + + /** + * Adds a table to the schema map if it has not already been added + * + * @param Table $table + * + * @return $this + */ + public function addTable(Table $table) { + if (!$this->getTableByName($table->getName())) { + $this->tables[] = $table; + } + + return $this; + } + + /** + * @param array $tables + */ + public function addTables(array $tables) { + foreach ($tables as $table) { + $this->addTable($table); + } + } + + /** + * Recursive function to traverse the schema looking for a path + * + * @param Table $table + * The current table to base fromm + * @param string $target + * The target joinable table alias + * @param int $depth + * The current level of recursion which reflects the number of joins needed + * @param \Civi\Api4\Service\Schema\Joinable\Joinable[] $path + * (By-reference) The possible paths to the target table + * @param \Civi\Api4\Service\Schema\Joinable\Joinable[] $currentPath + * For internal use only to track the path to reach the target table + */ + private function findPaths(Table $table, $target, $depth, &$path, $currentPath = [] + ) { + static $visited = []; + + // reset if new call + if ($depth === 1) { + $visited = []; + } + + $canBeShorter = empty($path) || count($currentPath) + 1 < count($path); + $tooFar = $depth > self::MAX_JOIN_DEPTH; + $beenHere = in_array($table->getName(), $visited); + + if ($tooFar || $beenHere || !$canBeShorter) { + return; + } + + // prevent circular reference + $visited[] = $table->getName(); + + foreach ($table->getExternalLinks() as $link) { + if ($link->getAlias() === $target) { + $path = array_merge($currentPath, [$link]); + } + else { + $linkTable = $this->getTableByName($link->getTargetTable()); + if ($linkTable) { + $nextStep = array_merge($currentPath, [$link]); + $this->findPaths($linkTable, $target, $depth + 1, $path, $nextStep); + } + } + } + } + +} diff --git a/Civi/Api4/Service/Schema/SchemaMapBuilder.php b/Civi/Api4/Service/Schema/SchemaMapBuilder.php new file mode 100644 index 0000000000..76d11bcc73 --- /dev/null +++ b/Civi/Api4/Service/Schema/SchemaMapBuilder.php @@ -0,0 +1,252 @@ +dispatcher = $dispatcher; + $this->apiEntities = array_keys((array) Entity::get()->setCheckPermissions(FALSE)->addSelect('name')->execute()->indexBy('name')); + } + + /** + * @return SchemaMap + */ + public function build() { + $map = new SchemaMap(); + $this->loadTables($map); + + $event = new SchemaMapBuildEvent($map); + $this->dispatcher->dispatch(Events::SCHEMA_MAP_BUILD, $event); + + return $map; + } + + /** + * Add all tables and joins + * + * @param SchemaMap $map + */ + private function loadTables(SchemaMap $map) { + /** @var \CRM_Core_DAO $daoName */ + foreach (AllCoreTables::get() as $daoName => $data) { + $table = new Table($data['table']); + foreach ($daoName::fields() as $field => $fieldData) { + $this->addJoins($table, $field, $fieldData); + } + $map->addTable($table); + if (in_array($data['name'], $this->apiEntities)) { + $this->addCustomFields($map, $table, $data['name']); + } + } + + $this->addBackReferences($map); + } + + /** + * @param Table $table + * @param string $field + * @param array $data + */ + private function addJoins(Table $table, $field, array $data) { + $fkClass = UtilsArray::value('FKClassName', $data); + + // can there be multiple methods e.g. pseudoconstant and fkclass + if ($fkClass) { + $tableName = AllCoreTables::getTableForClass($fkClass); + $fkKey = UtilsArray::value('FKKeyColumn', $data, 'id'); + $alias = str_replace('_id', '', $field); + $joinable = new Joinable($tableName, $fkKey, $alias); + $joinable->setJoinType($joinable::JOIN_TYPE_MANY_TO_ONE); + $table->addTableLink($field, $joinable); + } + elseif (UtilsArray::value('pseudoconstant', $data)) { + $this->addPseudoConstantJoin($table, $field, $data); + } + } + + /** + * @param Table $table + * @param string $field + * @param array $data + */ + private function addPseudoConstantJoin(Table $table, $field, array $data) { + $pseudoConstant = UtilsArray::value('pseudoconstant', $data); + $tableName = UtilsArray::value('table', $pseudoConstant); + $optionGroupName = UtilsArray::value('optionGroupName', $pseudoConstant); + $keyColumn = UtilsArray::value('keyColumn', $pseudoConstant, 'id'); + + if ($tableName) { + $alias = str_replace('civicrm_', '', $tableName); + $joinable = new Joinable($tableName, $keyColumn, $alias); + $condition = UtilsArray::value('condition', $pseudoConstant); + if ($condition) { + $joinable->addCondition($condition); + } + $table->addTableLink($field, $joinable); + } + elseif ($optionGroupName) { + $keyColumn = UtilsArray::value('keyColumn', $pseudoConstant, 'value'); + $joinable = new OptionValueJoinable($optionGroupName, NULL, $keyColumn); + + if (!empty($data['serialize'])) { + $joinable->setJoinType($joinable::JOIN_TYPE_ONE_TO_MANY); + } + + $table->addTableLink($field, $joinable); + } + } + + /** + * Loop through existing links and provide link from the other side + * + * @param SchemaMap $map + */ + private function addBackReferences(SchemaMap $map) { + foreach ($map->getTables() as $table) { + foreach ($table->getTableLinks() as $link) { + // there are too many possible joins from option value so skip + if ($link instanceof OptionValueJoinable) { + continue; + } + + $target = $map->getTableByName($link->getTargetTable()); + $tableName = $link->getBaseTable(); + $plural = str_replace('civicrm_', '', $this->getPlural($tableName)); + $joinable = new Joinable($tableName, $link->getBaseColumn(), $plural); + $joinable->setJoinType($joinable::JOIN_TYPE_ONE_TO_MANY); + $target->addTableLink($link->getTargetColumn(), $joinable); + } + } + } + + /** + * Simple implementation of pluralization. + * Could be replaced with symfony/inflector + * + * @param string $singular + * + * @return string + */ + private function getPlural($singular) { + $last_letter = substr($singular, -1); + switch ($last_letter) { + case 'y': + return substr($singular, 0, -1) . 'ies'; + + case 's': + return $singular . 'es'; + + default: + return $singular . 's'; + } + } + + /** + * @param \Civi\Api4\Service\Schema\SchemaMap $map + * @param \Civi\Api4\Service\Schema\Table $baseTable + * @param string $entity + */ + private function addCustomFields(SchemaMap $map, Table $baseTable, $entity) { + // Don't be silly + if (!array_key_exists($entity, \CRM_Core_SelectValues::customGroupExtends())) { + return; + } + $queryEntity = (array) $entity; + if ($entity == 'Contact') { + $queryEntity = ['Contact', 'Individual', 'Organization', 'Household']; + } + $fieldData = \CRM_Utils_SQL_Select::from('civicrm_custom_field f') + ->join('custom_group', 'INNER JOIN civicrm_custom_group g ON g.id = f.custom_group_id') + ->select(['g.name as custom_group_name', 'g.table_name', 'g.is_multiple', 'f.name', 'label', 'column_name', 'option_group_id']) + ->where('g.extends IN (@entity)', ['@entity' => $queryEntity]) + ->where('g.is_active') + ->where('f.is_active') + ->execute(); + + $links = []; + + while ($fieldData->fetch()) { + $tableName = $fieldData->table_name; + + $customTable = $map->getTableByName($tableName); + if (!$customTable) { + $customTable = new Table($tableName); + } + + if (!empty($fieldData->option_group_id)) { + $optionValueJoinable = new OptionValueJoinable($fieldData->option_group_id, $fieldData->label); + $customTable->addTableLink($fieldData->column_name, $optionValueJoinable); + } + + $map->addTable($customTable); + + $alias = $fieldData->custom_group_name; + $links[$alias]['tableName'] = $tableName; + $links[$alias]['isMultiple'] = !empty($fieldData->is_multiple); + $links[$alias]['columns'][$fieldData->name] = $fieldData->column_name; + } + + foreach ($links as $alias => $link) { + $joinable = new CustomGroupJoinable($link['tableName'], $alias, $link['isMultiple'], $entity, $link['columns']); + $baseTable->addTableLink('id', $joinable); + } + } + +} diff --git a/Civi/Api4/Service/Schema/Table.php b/Civi/Api4/Service/Schema/Table.php new file mode 100644 index 0000000000..a5a81820ae --- /dev/null +++ b/Civi/Api4/Service/Schema/Table.php @@ -0,0 +1,163 @@ +name = $name; + } + + /** + * @return string + */ + public function getName() { + return $this->name; + } + + /** + * @param string $name + * + * @return $this + */ + public function setName($name) { + $this->name = $name; + + return $this; + } + + /** + * @return \Civi\Api4\Service\Schema\Joinable\Joinable[] + */ + public function getTableLinks() { + return $this->tableLinks; + } + + /** + * @return \Civi\Api4\Service\Schema\Joinable\Joinable[] + * Only those links that are not joining the table to itself + */ + public function getExternalLinks() { + return array_filter($this->tableLinks, function (Joinable $joinable) { + return $joinable->getTargetTable() !== $this->getName(); + }); + } + + /** + * @param \Civi\Api4\Service\Schema\Joinable\Joinable $linkToRemove + */ + public function removeLink(Joinable $linkToRemove) { + foreach ($this->tableLinks as $index => $link) { + if ($link === $linkToRemove) { + unset($this->tableLinks[$index]); + } + } + } + + /** + * @param string $baseColumn + * @param \Civi\Api4\Service\Schema\Joinable\Joinable $joinable + * + * @return $this + */ + public function addTableLink($baseColumn, Joinable $joinable) { + $target = $joinable->getTargetTable(); + $targetCol = $joinable->getTargetColumn(); + $alias = $joinable->getAlias(); + + if (!$this->hasLink($target, $targetCol, $alias)) { + if (!$joinable->getBaseTable()) { + $joinable->setBaseTable($this->getName()); + } + if (!$joinable->getBaseColumn()) { + $joinable->setBaseColumn($baseColumn); + } + $this->tableLinks[] = $joinable; + } + + return $this; + } + + /** + * @param mixed $tableLinks + * + * @return $this + */ + public function setTableLinks($tableLinks) { + $this->tableLinks = $tableLinks; + + return $this; + } + + /** + * @param $target + * @param $targetCol + * @param $alias + * + * @return bool + */ + private function hasLink($target, $targetCol, $alias) { + foreach ($this->tableLinks as $link) { + if ($link->getTargetTable() === $target + && $link->getTargetColumn() === $targetCol + && $link->getAlias() === $alias + ) { + return TRUE; + } + } + + return FALSE; + } + +} diff --git a/Civi/Api4/Service/Spec/CustomFieldSpec.php b/Civi/Api4/Service/Spec/CustomFieldSpec.php new file mode 100644 index 0000000000..d3f94232ef --- /dev/null +++ b/Civi/Api4/Service/Spec/CustomFieldSpec.php @@ -0,0 +1,153 @@ +setFkEntity('Contact'); + $dataType = 'Integer'; + break; + + case 'File': + case 'StateProvince': + case 'Country': + $this->setFkEntity($dataType); + $dataType = 'Integer'; + break; + } + return parent::setDataType($dataType); + } + + /** + * @return int + */ + public function getCustomFieldId() { + return $this->customFieldId; + } + + /** + * @param int $customFieldId + * + * @return $this + */ + public function setCustomFieldId($customFieldId) { + $this->customFieldId = $customFieldId; + + return $this; + } + + /** + * @return int + */ + public function getCustomGroupName() { + return $this->customGroup; + } + + /** + * @param string $customGroupName + * + * @return $this + */ + public function setCustomGroupName($customGroupName) { + $this->customGroup = $customGroupName; + + return $this; + } + + /** + * @return string + */ + public function getCustomTableName() { + return $this->tableName; + } + + /** + * @param string $customFieldColumnName + * + * @return $this + */ + public function setCustomTableName($customFieldColumnName) { + $this->tableName = $customFieldColumnName; + + return $this; + } + + /** + * @return string + */ + public function getCustomFieldColumnName() { + return $this->columnName; + } + + /** + * @param string $customFieldColumnName + * + * @return $this + */ + public function setCustomFieldColumnName($customFieldColumnName) { + $this->columnName = $customFieldColumnName; + + return $this; + } + +} diff --git a/Civi/Api4/Service/Spec/FieldSpec.php b/Civi/Api4/Service/Spec/FieldSpec.php new file mode 100644 index 0000000000..7a44a1d925 --- /dev/null +++ b/Civi/Api4/Service/Spec/FieldSpec.php @@ -0,0 +1,402 @@ + 'Integer', + 'Link' => 'Url', + 'Memo' => 'Text', + ]; + + /** + * @param string $name + * @param string $entity + * @param string $dataType + */ + public function __construct($name, $entity, $dataType = 'String') { + $this->entity = $entity; + $this->setName($name); + $this->setDataType($dataType); + } + + /** + * @return mixed + */ + public function getDefaultValue() { + return $this->defaultValue; + } + + /** + * @param mixed $defaultValue + * + * @return $this + */ + public function setDefaultValue($defaultValue) { + $this->defaultValue = $defaultValue; + + return $this; + } + + /** + * @return string + */ + public function getName() { + return $this->name; + } + + /** + * @param string $name + * + * @return $this + */ + public function setName($name) { + $this->name = $name; + + return $this; + } + + /** + * @return string + */ + public function getTitle() { + return $this->title; + } + + /** + * @param string $title + * + * @return $this + */ + public function setTitle($title) { + $this->title = $title; + + return $this; + } + + /** + * @return string + */ + public function getEntity() { + return $this->entity; + } + + /** + * @return string + */ + public function getDescription() { + return $this->description; + } + + /** + * @param string $description + * + * @return $this + */ + public function setDescription($description) { + $this->description = $description; + + return $this; + } + + /** + * @return bool + */ + public function isRequired() { + return $this->required; + } + + /** + * @param bool $required + * + * @return $this + */ + public function setRequired($required) { + $this->required = $required; + + return $this; + } + + /** + * @return bool + */ + public function getRequiredIf() { + return $this->requiredIf; + } + + /** + * @param bool $requiredIf + * + * @return $this + */ + public function setRequiredIf($requiredIf) { + $this->requiredIf = $requiredIf; + + return $this; + } + + /** + * @return string + */ + public function getDataType() { + return $this->dataType; + } + + /** + * @param $dataType + * + * @return $this + * @throws \Exception + */ + public function setDataType($dataType) { + if (array_key_exists($dataType, self::$typeAliases)) { + $dataType = self::$typeAliases[$dataType]; + } + + if (!in_array($dataType, $this->getValidDataTypes())) { + throw new \Exception(sprintf('Invalid data type "%s', $dataType)); + } + + $this->dataType = $dataType; + + return $this; + } + + /** + * @return int + */ + public function getSerialize() { + return $this->serialize; + } + + /** + * @param int|null $serialize + * @return $this + */ + public function setSerialize($serialize) { + $this->serialize = $serialize; + + return $this; + } + + /** + * @return string + */ + public function getInputType() { + return $this->inputType; + } + + /** + * @param string $inputType + * @return $this + */ + public function setInputType($inputType) { + $this->inputType = $inputType; + + return $this; + } + + /** + * @return array + */ + public function getInputAttrs() { + return $this->inputAttrs; + } + + /** + * @param array $inputAttrs + * @return $this + */ + public function setInputAttrs($inputAttrs) { + $this->inputAttrs = $inputAttrs; + + return $this; + } + + /** + * Add valid types that are not not part of \CRM_Utils_Type::dataTypes + * + * @return array + */ + private function getValidDataTypes() { + $extraTypes = ['Boolean', 'Text', 'Float', 'Url', 'Array']; + $extraTypes = array_combine($extraTypes, $extraTypes); + + return array_merge(\CRM_Utils_Type::dataTypes(), $extraTypes); + } + + /** + * @return array + */ + public function getOptions() { + if (!isset($this->options) || $this->options === TRUE) { + $fieldName = $this->getName(); + + if ($this instanceof CustomFieldSpec) { + // buildOptions relies on the custom_* type of field names + $fieldName = sprintf('custom_%d', $this->getCustomFieldId()); + } + + $bao = CoreUtil::getBAOFromApiName($this->getEntity()); + $options = $bao::buildOptions($fieldName); + + if (!is_array($options) || !$options) { + $options = FALSE; + } + + $this->setOptions($options); + } + return $this->options; + } + + /** + * @param array|bool $options + * + * @return $this + */ + public function setOptions($options) { + $this->options = $options; + return $this; + } + + /** + * @return string + */ + public function getFkEntity() { + return $this->fkEntity; + } + + /** + * @param string $fkEntity + * + * @return $this + */ + public function setFkEntity($fkEntity) { + $this->fkEntity = $fkEntity; + + return $this; + } + + /** + * @param array $values + * @return array + */ + public function toArray($values = []) { + $ret = []; + foreach (get_object_vars($this) as $key => $val) { + $key = strtolower(preg_replace('/(?=[A-Z])/', '_$0', $key)); + if (!$values || in_array($key, $values)) { + $ret[$key] = $val; + } + } + return $ret; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/ACLCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/ACLCreationSpecProvider.php new file mode 100644 index 0000000000..856b6cf47c --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/ACLCreationSpecProvider.php @@ -0,0 +1,58 @@ +getFieldByName('entity_table')->setDefaultValue('civicrm_acl_role'); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'ACL' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/ActionScheduleCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/ActionScheduleCreationSpecProvider.php new file mode 100644 index 0000000000..833d96a821 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/ActionScheduleCreationSpecProvider.php @@ -0,0 +1,62 @@ +getFieldByName('title')->setRequired(TRUE); + $spec->getFieldByName('mapping_id')->setRequired(TRUE); + $spec->getFieldByName('entity_value')->setRequired(TRUE); + $spec->getFieldByName('start_action_date')->setRequiredIf('empty($values.absolute_date)'); + $spec->getFieldByName('absolute_date')->setRequiredIf('empty($values.start_action_date)'); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'ActionSchedule' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/ActivityCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/ActivityCreationSpecProvider.php new file mode 100644 index 0000000000..4e59727ac0 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/ActivityCreationSpecProvider.php @@ -0,0 +1,63 @@ +setRequired(TRUE); + $sourceContactField->setFkEntity('Contact'); + + $spec->addFieldSpec($sourceContactField); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'Activity' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/AddressCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/AddressCreationSpecProvider.php new file mode 100644 index 0000000000..3febce659c --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/AddressCreationSpecProvider.php @@ -0,0 +1,62 @@ +getFieldByName('contact_id')->setRequired(TRUE); + $spec->getFieldByName('location_type_id')->setRequired(TRUE); + } + + /** + * @param string $entity + * @param string $action + * + * @return bool + */ + public function applies($entity, $action) { + return $entity === 'Address' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/CampaignCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/CampaignCreationSpecProvider.php new file mode 100644 index 0000000000..9e39553e80 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/CampaignCreationSpecProvider.php @@ -0,0 +1,59 @@ +getFieldByName('title')->setRequired(TRUE); + $spec->getFieldByName('name')->setRequired(FALSE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'Campaign' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/ContactCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/ContactCreationSpecProvider.php new file mode 100644 index 0000000000..d57817da9b --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/ContactCreationSpecProvider.php @@ -0,0 +1,66 @@ +getFieldByName('contact_type') + ->setDefaultValue('Individual'); + + $spec->getFieldByName('is_opt_out')->setRequired(FALSE); + $spec->getFieldByName('is_deleted')->setRequired(FALSE); + + } + + /** + * @param string $entity + * @param string $action + * + * @return bool + */ + public function applies($entity, $action) { + return $entity === 'Contact' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/ContactTypeCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/ContactTypeCreationSpecProvider.php new file mode 100644 index 0000000000..d211c0218d --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/ContactTypeCreationSpecProvider.php @@ -0,0 +1,64 @@ +getFieldByName('label')->setRequired(TRUE); + $spec->getFieldByName('name')->setRequired(TRUE); + $spec->getFieldByName('parent_id')->setRequired(TRUE); + + } + + /** + * @param string $entity + * @param string $action + * + * @return bool + */ + public function applies($entity, $action) { + return $entity === 'ContactType' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/ContributionCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/ContributionCreationSpecProvider.php new file mode 100644 index 0000000000..4ad937b5b5 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/ContributionCreationSpecProvider.php @@ -0,0 +1,59 @@ +getFieldByName('financial_type_id')->setRequired(TRUE); + $spec->getFieldByName('receive_date')->setDefaultValue('now'); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'Contribution' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/CustomFieldCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/CustomFieldCreationSpecProvider.php new file mode 100644 index 0000000000..a0921efc81 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/CustomFieldCreationSpecProvider.php @@ -0,0 +1,63 @@ +getEntity(), 'Array'); + $optionField->setTitle(ts('Option Values')); + $optionField->setDescription('Pass an array of options (value => label) to create this field\'s option values'); + $spec->addFieldSpec($optionField); + $spec->getFieldByName('data_type')->setDefaultValue('String')->setRequired(FALSE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'CustomField' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/CustomGroupCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/CustomGroupCreationSpecProvider.php new file mode 100644 index 0000000000..2a2555a135 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/CustomGroupCreationSpecProvider.php @@ -0,0 +1,58 @@ +getFieldByName('extends')->setRequired(TRUE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'CustomGroup' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/CustomValueSpecProvider.php b/Civi/Api4/Service/Spec/Provider/CustomValueSpecProvider.php new file mode 100644 index 0000000000..3d082b6cd2 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/CustomValueSpecProvider.php @@ -0,0 +1,69 @@ +getAction(); + if ($action !== 'create') { + $idField = new FieldSpec('id', $spec->getEntity(), 'Integer'); + $idField->setTitle(ts('Custom Value ID')); + $spec->addFieldSpec($idField); + } + $entityField = new FieldSpec('entity_id', $spec->getEntity(), 'Integer'); + $entityField->setTitle(ts('Entity ID')); + $entityField->setRequired($action === 'create'); + $entityField->setFkEntity('Contact'); + $spec->addFieldSpec($entityField); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return strstr($entity, 'Custom_'); + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/DefaultLocationTypeProvider.php b/Civi/Api4/Service/Spec/Provider/DefaultLocationTypeProvider.php new file mode 100644 index 0000000000..908450d9d8 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/DefaultLocationTypeProvider.php @@ -0,0 +1,62 @@ +getFieldByName('location_type_id')->setRequired(TRUE); + $defaultType = \CRM_Core_BAO_LocationType::getDefault(); + if ($defaultType) { + $locationField->setDefaultValue($defaultType->id); + } + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $action === 'create' && in_array($entity, ['Address', 'Email', 'IM', 'OpenID', 'Phone']); + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/DomainCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/DomainCreationSpecProvider.php new file mode 100644 index 0000000000..22bc5d4ae1 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/DomainCreationSpecProvider.php @@ -0,0 +1,59 @@ +getFieldByName('name')->setRequired(TRUE); + $spec->getFieldByName('version')->setRequired(TRUE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'Domain' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/EmailCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/EmailCreationSpecProvider.php new file mode 100644 index 0000000000..fde8e0889e --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/EmailCreationSpecProvider.php @@ -0,0 +1,61 @@ +getFieldByName('contact_id')->setRequired(TRUE); + $spec->getFieldByName('email')->setRequired(TRUE); + $spec->getFieldByName('on_hold')->setRequired(FALSE); + $spec->getFieldByName('is_bulkmail')->setRequired(FALSE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'Email' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/EntityTagCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/EntityTagCreationSpecProvider.php new file mode 100644 index 0000000000..cc0f5b6048 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/EntityTagCreationSpecProvider.php @@ -0,0 +1,61 @@ +getFieldByName('entity_table')->setRequired(FALSE)->setDefaultValue('civicrm_contact'); + } + + /** + * @param string $entity + * @param string $action + * + * @return bool + */ + public function applies($entity, $action) { + return $entity === 'EntityTag' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/EventCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/EventCreationSpecProvider.php new file mode 100644 index 0000000000..301a8d8045 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/EventCreationSpecProvider.php @@ -0,0 +1,68 @@ +getFieldByName('event_type_id')->setRequiredIf('empty($values.template_id)'); + $spec->getFieldByName('title')->setRequiredIf('empty($values.is_template)'); + $spec->getFieldByName('start_date')->setRequiredIf('empty($values.is_template)'); + $spec->getFieldByName('template_title')->setRequiredIf('!empty($values.is_template)'); + + $template_id = new FieldSpec('template_id', 'Event', 'Integer'); + $template_id + ->setTitle('Template Id') + ->setDescription('Template on which to base this new event'); + $spec->addFieldSpec($template_id); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'Event' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/Generic/SpecProviderInterface.php b/Civi/Api4/Service/Spec/Provider/Generic/SpecProviderInterface.php new file mode 100644 index 0000000000..35dc09b2e1 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/Generic/SpecProviderInterface.php @@ -0,0 +1,59 @@ +getFieldByName('is_deleted'); + if ($isDeletedField) { + $isDeletedField->setDefaultValue('0'); + } + + // Exclude test records from api Get by default + $isTestField = $spec->getFieldByName('is_test'); + if ($isTestField) { + $isTestField->setDefaultValue('0'); + } + + $isTemplateField = $spec->getFieldByName('is_template'); + if ($isTemplateField) { + $isTemplateField->setDefaultValue('0'); + } + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $action === 'get'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/GroupCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/GroupCreationSpecProvider.php new file mode 100644 index 0000000000..975296fb56 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/GroupCreationSpecProvider.php @@ -0,0 +1,58 @@ +getFieldByName('title')->setRequired(TRUE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'Group' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/MappingCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/MappingCreationSpecProvider.php new file mode 100644 index 0000000000..7058659171 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/MappingCreationSpecProvider.php @@ -0,0 +1,63 @@ +getFieldByName('name')->setRequired(TRUE); + } + + /** + * @param string $entity + * @param string $action + * + * @return bool + */ + public function applies($entity, $action) { + return strpos($entity, 'Mapping') === 0 && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/NavigationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/NavigationSpecProvider.php new file mode 100644 index 0000000000..2af06eb997 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/NavigationSpecProvider.php @@ -0,0 +1,60 @@ +getFieldByName('domain_id')->setRequired(FALSE)->setDefaultValue('current_domain'); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'Navigation' && in_array($action, ['create', 'get']); + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/NoteCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/NoteCreationSpecProvider.php new file mode 100644 index 0000000000..1b04539611 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/NoteCreationSpecProvider.php @@ -0,0 +1,62 @@ +getFieldByName('note')->setRequired(TRUE); + $spec->getFieldByName('entity_table')->setDefaultValue('civicrm_contact'); + } + + /** + * @param string $entity + * @param string $action + * + * @return bool + */ + public function applies($entity, $action) { + return $entity === 'Note' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/OptionValueCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/OptionValueCreationSpecProvider.php new file mode 100644 index 0000000000..f46859f8d1 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/OptionValueCreationSpecProvider.php @@ -0,0 +1,59 @@ +getFieldByName('weight')->setRequired(FALSE); + $spec->getFieldByName('value')->setRequired(FALSE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'OptionValue' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/PhoneCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/PhoneCreationSpecProvider.php new file mode 100644 index 0000000000..1e259ce17e --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/PhoneCreationSpecProvider.php @@ -0,0 +1,59 @@ +getFieldByName('contact_id')->setRequired(TRUE); + $spec->getFieldByName('phone')->setRequired(TRUE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'Phone' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/RelationshipTypeCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/RelationshipTypeCreationSpecProvider.php new file mode 100644 index 0000000000..ca390bd79f --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/RelationshipTypeCreationSpecProvider.php @@ -0,0 +1,59 @@ +getFieldByName('name_a_b')->setRequired(TRUE); + $spec->getFieldByName('name_b_a')->setRequired(TRUE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'RelationshipType' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/StatusPreferenceCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/StatusPreferenceCreationSpecProvider.php new file mode 100644 index 0000000000..369137de72 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/StatusPreferenceCreationSpecProvider.php @@ -0,0 +1,58 @@ +getFieldByName('domain_id')->setRequired(FALSE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'StatusPreference' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/TagCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/TagCreationSpecProvider.php new file mode 100644 index 0000000000..c876787656 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/TagCreationSpecProvider.php @@ -0,0 +1,61 @@ +getFieldByName('used_for')->setDefaultValue('civicrm_contact'); + } + + /** + * @param string $entity + * @param string $action + * + * @return bool + */ + public function applies($entity, $action) { + return $entity === 'Tag' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/UFFieldCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/UFFieldCreationSpecProvider.php new file mode 100644 index 0000000000..f0ae2b10e7 --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/UFFieldCreationSpecProvider.php @@ -0,0 +1,58 @@ +getFieldByName('label')->setRequired(FALSE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'UFField' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/Provider/UFMatchCreationSpecProvider.php b/Civi/Api4/Service/Spec/Provider/UFMatchCreationSpecProvider.php new file mode 100644 index 0000000000..450aa3c5ec --- /dev/null +++ b/Civi/Api4/Service/Spec/Provider/UFMatchCreationSpecProvider.php @@ -0,0 +1,58 @@ +getFieldByName('domain_id')->setRequired(FALSE); + } + + /** + * @inheritDoc + */ + public function applies($entity, $action) { + return $entity === 'UFMatch' && $action === 'create'; + } + +} diff --git a/Civi/Api4/Service/Spec/RequestSpec.php b/Civi/Api4/Service/Spec/RequestSpec.php new file mode 100644 index 0000000000..22bc46de1e --- /dev/null +++ b/Civi/Api4/Service/Spec/RequestSpec.php @@ -0,0 +1,145 @@ +entity = $entity; + $this->action = $action; + } + + public function addFieldSpec(FieldSpec $field) { + $this->fields[] = $field; + } + + /** + * @param $name + * + * @return FieldSpec|null + */ + public function getFieldByName($name) { + foreach ($this->fields as $field) { + if ($field->getName() === $name) { + return $field; + } + } + + return NULL; + } + + /** + * @return array + * Gets all the field names currently part of the specification + */ + public function getFieldNames() { + return array_map(function(FieldSpec $field) { + return $field->getName(); + }, $this->fields); + } + + /** + * @return array|FieldSpec[] + */ + public function getRequiredFields() { + return array_filter($this->fields, function (FieldSpec $field) { + return $field->isRequired(); + }); + } + + /** + * @return array|FieldSpec[] + */ + public function getConditionalRequiredFields() { + return array_filter($this->fields, function (FieldSpec $field) { + return $field->getRequiredIf(); + }); + } + + /** + * @param array $fieldNames + * Optional array of fields to return + * @return FieldSpec[] + */ + public function getFields($fieldNames = NULL) { + if (!$fieldNames) { + return $this->fields; + } + $fields = []; + foreach ($this->fields as $field) { + if (in_array($field->getName(), $fieldNames)) { + $fields[] = $field; + } + } + return $fields; + } + + /** + * @return string + */ + public function getEntity() { + return $this->entity; + } + + /** + * @return string + */ + public function getAction() { + return $this->action; + } + +} diff --git a/Civi/Api4/Service/Spec/SpecFormatter.php b/Civi/Api4/Service/Spec/SpecFormatter.php new file mode 100644 index 0000000000..b1c1c804e3 --- /dev/null +++ b/Civi/Api4/Service/Spec/SpecFormatter.php @@ -0,0 +1,251 @@ +getOptions(); + } + $fieldArray[$field->getName()] = $field->toArray(); + } + + return $fieldArray; + } + + /** + * @param array $data + * @param string $entity + * + * @return FieldSpec + */ + public static function arrayToField(array $data, $entity) { + $dataTypeName = self::getDataType($data); + + if (!empty($data['custom_group_id'])) { + $field = new CustomFieldSpec($data['name'], $entity, $dataTypeName); + if (strpos($entity, 'Custom_') !== 0) { + $field->setName($data['custom_group.name'] . '.' . $data['name']); + } + else { + $field->setCustomTableName($data['custom_group.table_name']); + $field->setCustomFieldColumnName($data['column_name']); + } + $field->setCustomFieldId(ArrayHelper::value('id', $data)); + $field->setCustomGroupName($data['custom_group.name']); + $field->setTitle(ArrayHelper::value('label', $data)); + $field->setOptions(self::customFieldHasOptions($data)); + if (\CRM_Core_BAO_CustomField::isSerialized($data)) { + $field->setSerialize(\CRM_Core_DAO::SERIALIZE_SEPARATOR_BOOKEND); + } + } + else { + $name = ArrayHelper::value('name', $data); + $field = new FieldSpec($name, $entity, $dataTypeName); + $field->setRequired((bool) ArrayHelper::value('required', $data, FALSE)); + $field->setTitle(ArrayHelper::value('title', $data)); + $field->setOptions(!empty($data['pseudoconstant'])); + $field->setSerialize(ArrayHelper::value('serialize', $data)); + } + + $field->setDefaultValue(ArrayHelper::value('default', $data)); + $field->setDescription(ArrayHelper::value('description', $data)); + self::setInputTypeAndAttrs($field, $data, $dataTypeName); + + $fkAPIName = ArrayHelper::value('FKApiName', $data); + $fkClassName = ArrayHelper::value('FKClassName', $data); + if ($fkAPIName || $fkClassName) { + $field->setFkEntity($fkAPIName ?: AllCoreTables::getBriefName($fkClassName)); + } + + return $field; + } + + /** + * Does this custom field have options + * + * @param array $field + * @return bool + */ + private static function customFieldHasOptions($field) { + // This will include boolean fields with Yes/No options. + if (in_array($field['html_type'], ['Radio', 'CheckBox'])) { + return TRUE; + } + // Do this before the "Select" string search because date fields have a "Select Date" html_type + // and contactRef fields have an "Autocomplete-Select" html_type - contacts are an FK not an option list. + if (in_array($field['data_type'], ['ContactReference', 'Date'])) { + return FALSE; + } + if (strpos($field['html_type'], 'Select') !== FALSE) { + return TRUE; + } + return !empty($field['option_group_id']); + } + + /** + * Get the data type from an array. Defaults to 'data_type' with fallback to + * mapping for the integer value 'type' + * + * @param array $data + * + * @return string + */ + private static function getDataType(array $data) { + if (isset($data['data_type'])) { + return !empty($data['time_format']) ? 'Timestamp' : $data['data_type']; + } + + $dataTypeInt = ArrayHelper::value('type', $data); + $dataTypeName = \CRM_Utils_Type::typeToString($dataTypeInt); + + return $dataTypeName; + } + + /** + * @param \Civi\Api4\Service\Spec\FieldSpec $fieldSpec + * @param array $data + * @param string $dataTypeName + */ + public static function setInputTypeAndAttrs(FieldSpec &$fieldSpec, $data, $dataTypeName) { + $inputType = isset($data['html']['type']) ? $data['html']['type'] : ArrayHelper::value('html_type', $data); + $inputAttrs = ArrayHelper::value('html', $data, []); + unset($inputAttrs['type']); + + if (!$inputType) { + // If no html type is set, guess + switch ($dataTypeName) { + case 'Int': + $inputType = 'Number'; + $inputAttrs['min'] = 0; + break; + + case 'Text': + $inputType = ArrayHelper::value('type', $data) === \CRM_Utils_Type::T_LONGTEXT ? 'TextArea' : 'Text'; + break; + + case 'Timestamp': + $inputType = 'Date'; + $inputAttrs['time'] = TRUE; + break; + + case 'Date': + $inputAttrs['time'] = FALSE; + break; + + case 'Time': + $inputType = 'Date'; + $inputAttrs['time'] = TRUE; + $inputAttrs['date'] = FALSE; + break; + + default: + $map = [ + 'Email' => 'Email', + 'Boolean' => 'Checkbox', + ]; + $inputType = ArrayHelper::value($dataTypeName, $map, 'Text'); + } + } + if (strstr($inputType, 'Multi-Select') || ($inputType == 'Select' && !empty($data['serialize']))) { + $inputAttrs['multiple'] = TRUE; + $inputType = 'Select'; + } + $map = [ + 'Select State/Province' => 'Select', + 'Select Country' => 'Select', + 'Select Date' => 'Date', + 'Link' => 'Url', + ]; + $inputType = ArrayHelper::value($inputType, $map, $inputType); + if ($inputType == 'Date' && !empty($inputAttrs['formatType'])) { + self::setLegacyDateFormat($inputAttrs); + } + // Date/time settings from custom fields + if ($inputType == 'Date' && !empty($data['custom_group_id'])) { + $inputAttrs['time'] = empty($data['time_format']) ? FALSE : ($data['time_format'] == 1 ? 12 : 24); + $inputAttrs['date'] = $data['date_format']; + $inputAttrs['start_date_years'] = (int) $data['start_date_years']; + $inputAttrs['end_date_years'] = (int) $data['end_date_years']; + } + if ($inputType == 'Text' && !empty($data['maxlength'])) { + $inputAttrs['maxlength'] = (int) $data['maxlength']; + } + if ($inputType == 'TextArea') { + foreach (['rows', 'cols', 'note_rows', 'note_cols'] as $prop) { + if (!empty($data[$prop])) { + $inputAttrs[str_replace('note_', '', $prop)] = (int) $data[$prop]; + } + } + } + $fieldSpec + ->setInputType($inputType) + ->setInputAttrs($inputAttrs); + } + + /** + * @param array $inputAttrs + */ + private static function setLegacyDateFormat(&$inputAttrs) { + if (empty(\Civi::$statics['legacyDatePrefs'][$inputAttrs['formatType']])) { + \Civi::$statics['legacyDatePrefs'][$inputAttrs['formatType']] = []; + $params = ['name' => $inputAttrs['formatType']]; + \CRM_Core_DAO::commonRetrieve('CRM_Core_DAO_PreferencesDate', $params, \Civi::$statics['legacyDatePrefs'][$inputAttrs['formatType']]); + } + $dateFormat = \Civi::$statics['legacyDatePrefs'][$inputAttrs['formatType']]; + unset($inputAttrs['formatType']); + $inputAttrs['time'] = !empty($dateFormat['time_format']); + $inputAttrs['date'] = TRUE; + $inputAttrs['start_date_years'] = (int) $dateFormat['start']; + $inputAttrs['end_date_years'] = (int) $dateFormat['end']; + } + +} diff --git a/Civi/Api4/Service/Spec/SpecGatherer.php b/Civi/Api4/Service/Spec/SpecGatherer.php new file mode 100644 index 0000000000..d9b6e0e90c --- /dev/null +++ b/Civi/Api4/Service/Spec/SpecGatherer.php @@ -0,0 +1,175 @@ +addDAOFields($entity, $action, $specification); + if ($includeCustom && array_key_exists($entity, \CRM_Core_SelectValues::customGroupExtends())) { + $this->addCustomFields($entity, $specification); + } + } + // Custom pseudo-entities + else { + $this->getCustomGroupFields(substr($entity, 7), $specification); + } + + // Default value only makes sense for create actions + if ($action != 'create') { + foreach ($specification->getFields() as $field) { + $field->setDefaultValue(NULL); + } + } + + foreach ($this->specProviders as $provider) { + if ($provider->applies($entity, $action)) { + $provider->modifySpec($specification); + } + } + + return $specification; + } + + /** + * @param \Civi\Api4\Service\Spec\Provider\Generic\SpecProviderInterface $provider + */ + public function addSpecProvider(SpecProviderInterface $provider) { + $this->specProviders[] = $provider; + } + + /** + * @param string $entity + * @param string $action + * @param \Civi\Api4\Service\Spec\RequestSpec $specification + */ + private function addDAOFields($entity, $action, RequestSpec $specification) { + $DAOFields = $this->getDAOFields($entity); + + foreach ($DAOFields as $DAOField) { + if ($DAOField['name'] == 'id' && $action == 'create') { + continue; + } + if ($action !== 'create' || isset($DAOField['default'])) { + $DAOField['required'] = FALSE; + } + if ($DAOField['name'] == 'is_active' && empty($DAOField['default'])) { + $DAOField['default'] = '1'; + } + $field = SpecFormatter::arrayToField($DAOField, $entity); + $specification->addFieldSpec($field); + } + } + + /** + * @param string $entity + * @param \Civi\Api4\Service\Spec\RequestSpec $specification + */ + private function addCustomFields($entity, RequestSpec $specification) { + $extends = ($entity == 'Contact') ? ['Contact', 'Individual', 'Organization', 'Household'] : [$entity]; + $customFields = CustomField::get() + ->setCheckPermissions(FALSE) + ->addWhere('custom_group.extends', 'IN', $extends) + ->setSelect(['custom_group.name', 'custom_group_id', 'name', 'label', 'data_type', 'html_type', 'is_searchable', 'is_search_range', 'weight', 'is_active', 'is_view', 'option_group_id', 'default_value', 'date_format', 'time_format', 'start_date_years', 'end_date_years']) + ->execute(); + + foreach ($customFields as $fieldArray) { + $field = SpecFormatter::arrayToField($fieldArray, $entity); + $specification->addFieldSpec($field); + } + } + + /** + * @param string $customGroup + * @param \Civi\Api4\Service\Spec\RequestSpec $specification + */ + private function getCustomGroupFields($customGroup, RequestSpec $specification) { + $customFields = CustomField::get() + ->addWhere('custom_group.name', '=', $customGroup) + ->setSelect(['custom_group.name', 'custom_group_id', 'name', 'label', 'data_type', 'html_type', 'is_searchable', 'is_search_range', 'weight', 'is_active', 'is_view', 'option_group_id', 'default_value', 'custom_group.table_name', 'column_name', 'date_format', 'time_format', 'start_date_years', 'end_date_years']) + ->execute(); + + foreach ($customFields as $fieldArray) { + $field = SpecFormatter::arrayToField($fieldArray, 'Custom_' . $customGroup); + $specification->addFieldSpec($field); + } + } + + /** + * @param string $entityName + * + * @return array + */ + private function getDAOFields($entityName) { + $bao = CoreUtil::getBAOFromApiName($entityName); + + return $bao::fields(); + } + +} diff --git a/Civi/Api4/Setting.php b/Civi/Api4/Setting.php new file mode 100644 index 0000000000..47e7a569fb --- /dev/null +++ b/Civi/Api4/Setting.php @@ -0,0 +1,65 @@ + is_multiple ], ..] + * @param mixed $values + * The value to be inserted + */ + public static function insert(&$array, $parts, $values) { + $key = key($parts); + $isMulti = array_shift($parts); + if (!isset($array[$key])) { + $array[$key] = $isMulti ? [] : NULL; + } + if (empty($parts)) { + $values = self::filterValues($array, $isMulti, $values); + $array[$key] = $values; + } + else { + if ($isMulti) { + foreach ($array[$key] as &$subArray) { + self::insert($subArray, $parts, $values); + } + } + else { + self::insert($array[$key], $parts, $values); + } + } + } + + /** + * @param $parentArray + * @param $isMulti + * @param $values + * + * @return array|mixed + */ + private static function filterValues($parentArray, $isMulti, $values) { + $parentID = UtilsArray::value('id', $parentArray); + + if ($parentID) { + $values = array_filter($values, function ($value) use ($parentID) { + return UtilsArray::value('_parent_id', $value) == $parentID; + }); + } + + $unsets = ['_parent_id', '_base_id']; + array_walk($values, function (&$value) use ($unsets) { + foreach ($unsets as $unset) { + if (isset($value[$unset])) { + unset($value[$unset]); + } + } + }); + + if (!$isMulti) { + $values = array_shift($values); + } + return $values; + } + +} diff --git a/Civi/Api4/Utils/CoreUtil.php b/Civi/Api4/Utils/CoreUtil.php new file mode 100644 index 0000000000..56eee46b42 --- /dev/null +++ b/Civi/Api4/Utils/CoreUtil.php @@ -0,0 +1,88 @@ +addSelect('table_name') + ->addWhere('name', '=', $customGroupName) + ->execute() + ->first()['table_name']; + } + + /** + * Given a sql table name, return the name of the api entity. + * + * @param $tableName + * @return string + */ + public static function getApiNameFromTableName($tableName) { + return AllCoreTables::getBriefName(AllCoreTables::getClassForTable($tableName)); + } + +} diff --git a/Civi/Api4/Utils/FormattingUtil.php b/Civi/Api4/Utils/FormattingUtil.php new file mode 100644 index 0000000000..b845ea6608 --- /dev/null +++ b/Civi/Api4/Utils/FormattingUtil.php @@ -0,0 +1,132 @@ + $field) { + if (!empty($params[$name])) { + $value =& $params[$name]; + // Hack for null values -- see comment below + if ($value === 'null') { + $value = 'Null'; + } + FormattingUtil::formatValue($value, $field, $entity); + // Ensure we have an array for serialized fields + if (!empty($field['serialize'] && !is_array($value))) { + $value = (array) $value; + } + } + /* + * Because of the wacky way that database values are saved we need to format + * some of the values here. In this strange world the string 'null' is used to + * unset values. Hence if we encounter true null we change it to string 'null'. + * + * If we encounter the string 'null' then we assume the user actually wants to + * set the value to string null. However since the string null is reserved for + * unsetting values we must change it. Another quirk of the DB_DataObject is + * that it allows 'Null' to be set, but any other variation of string 'null' + * will be converted to true null, e.g. 'nuLL', 'NUlL' etc. so we change it to + * 'Null'. + */ + elseif (array_key_exists($name, $params) && $params[$name] === NULL) { + $params[$name] = 'null'; + } + } + } + + /** + * Transform raw api input to appropriate format for use in a SQL query. + * + * This is used by read AND write actions (Get, Create, Update, Replace) + * + * @param $value + * @param $fieldSpec + * @param string $entity + * Ex: 'Contact', 'Domain' + * @throws \API_Exception + */ + public static function formatValue(&$value, $fieldSpec, $entity) { + if (is_array($value)) { + foreach ($value as &$val) { + self::formatValue($val, $fieldSpec, $entity); + } + return; + } + $fk = UtilsArray::value('fk_entity', $fieldSpec); + if ($fieldSpec['name'] == 'id') { + $fk = $entity; + } + $dataType = UtilsArray::value('data_type', $fieldSpec); + + if ($fk === 'Domain' && $value === 'current_domain') { + $value = \CRM_Core_Config::domainID(); + } + + if ($fk === 'Contact' && !is_numeric($value)) { + $value = \_civicrm_api3_resolve_contactID($value); + if ('unknown-user' === $value) { + throw new \API_Exception("\"{$fieldSpec['name']}\" \"{$value}\" cannot be resolved to a contact ID", 2002, ['error_field' => $fieldSpec['name'], "type" => "integer"]); + } + } + + switch ($dataType) { + case 'Timestamp': + $value = date('Y-m-d H:i:s', strtotime($value)); + break; + + case 'Date': + $value = date('Ymd', strtotime($value)); + break; + } + } + +} diff --git a/Civi/Api4/Utils/ReflectionUtils.php b/Civi/Api4/Utils/ReflectionUtils.php new file mode 100644 index 0000000000..535f9523c5 --- /dev/null +++ b/Civi/Api4/Utils/ReflectionUtils.php @@ -0,0 +1,140 @@ +getDocComment()); + + // Recurse into parent functions + if (isset($docs['inheritDoc']) || isset($docs['inheritdoc'])) { + unset($docs['inheritDoc'], $docs['inheritdoc']); + $newReflection = NULL; + try { + if ($type) { + $name = $reflection->getName(); + $reflectionClass = $reflection->getDeclaringClass()->getParentClass(); + if ($reflectionClass) { + $getItem = "get$type"; + $newReflection = $reflectionClass->$getItem($name); + } + } + else { + $newReflection = $reflection->getParentClass(); + } + } + catch (\ReflectionException $e) { + } + if ($newReflection) { + // Mix in + $additionalDocs = self::getCodeDocs($newReflection, $type); + if (!empty($docs['comment']) && !empty($additionalDocs['comment'])) { + $docs['comment'] .= "\n\n" . $additionalDocs['comment']; + } + $docs += $additionalDocs; + } + } + return $docs; + } + + /** + * @param string $comment + * @return array + */ + public static function parseDocBlock($comment) { + $info = []; + foreach (preg_split("/((\r?\n)|(\r\n?))/", $comment) as $num => $line) { + if (!$num || strpos($line, '*/') !== FALSE) { + continue; + } + $line = ltrim(trim($line), '* '); + if (strpos($line, '@') === 0) { + $words = explode(' ', $line); + $key = substr($words[0], 1); + if ($key == 'var') { + $info['type'] = explode('|', $words[1]); + } + elseif ($key == 'options') { + $val = str_replace(', ', ',', implode(' ', array_slice($words, 1))); + $info['options'] = explode(',', $val); + } + else { + // Unrecognized annotation, but we'll duly add it to the info array + $val = implode(' ', array_slice($words, 1)); + $info[$key] = strlen($val) ? $val : TRUE; + } + } + elseif ($num == 1) { + $info['description'] = $line; + } + elseif (!$line) { + if (isset($info['comment'])) { + $info['comment'] .= "\n"; + } + } + else { + $info['comment'] = isset($info['comment']) ? "{$info['comment']}\n$line" : $line; + } + } + if (isset($info['comment'])) { + $info['comment'] = trim($info['comment']); + } + return $info; + } + + /** + * List all traits used by a class and its parents. + * + * @param object|string $class + * @return array + */ + public static function getTraits($class) { + $traits = []; + // Get traits of this class + parent classes + do { + $traits = array_merge(class_uses($class), $traits); + } while ($class = get_parent_class($class)); + // Get traits of traits + foreach ($traits as $trait => $same) { + $traits = array_merge(class_uses($trait), $traits); + } + return $traits; + } + +} diff --git a/Civi/Api4/Website.php b/Civi/Api4/Website.php new file mode 100644 index 0000000000..280c71d3fb --- /dev/null +++ b/Civi/Api4/Website.php @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Civi/Core/Container.php b/Civi/Core/Container.php index 0dfebb73ed..8050564561 100644 --- a/Civi/Core/Container.php +++ b/Civi/Core/Container.php @@ -313,6 +313,7 @@ class Container { if (\CRM_Utils_Constant::value('CIVICRM_FLEXMAILER_HACK_SERVICES')) { \Civi\Core\Resolver::singleton()->call(CIVICRM_FLEXMAILER_HACK_SERVICES, [$container]); } + \CRM_Api4_Services::hook_container($container); \CRM_Utils_Hook::container($container); diff --git a/Civi/Test/Api3TestTrait.php b/Civi/Test/Api3TestTrait.php index 1c99c0490b..e853f5249b 100644 --- a/Civi/Test/Api3TestTrait.php +++ b/Civi/Test/Api3TestTrait.php @@ -22,7 +22,12 @@ trait Api3TestTrait { * @return array */ public function versionThreeAndFour() { - return [[3], [4]]; + $r = [[3]]; + global $civicrm_root; + if (file_exists("$civicrm_root/Civi/Api4") || file_exists("$civicrm_root/ext/api4")) { + $r[] = [4]; + } + return $r; } /** @@ -572,13 +577,11 @@ trait Api3TestTrait { } // Resolve custom field names foreach ($custom as $group => $fields) { - if (isset($row[$group])) { - foreach ($fields as $field => $v3FieldName) { - if (isset($row[$group][$field])) { - $result[$index][$v3FieldName] = $row[$group][$field]; - } + foreach ($fields as $field => $v3FieldName) { + if (isset($row["$group.$field"])) { + $result[$index][$v3FieldName] = $row["$group.$field"]; + unset($result[$index]["$group.$field"]); } - unset($result[$index][$group]); } } } diff --git a/ang/api4.ang.php b/ang/api4.ang.php new file mode 100644 index 0000000000..2c8a85b753 --- /dev/null +++ b/ang/api4.ang.php @@ -0,0 +1,13 @@ + 'civicrm', + 'js' => [ + 'ang/api4.js', + 'ang/api4/*.js', + 'ang/api4/*/*.js', + ], + 'css' => [], + 'partials' => [], + 'requires' => [], +]; diff --git a/ang/api4.js b/ang/api4.js new file mode 100644 index 0000000000..d1116fc45a --- /dev/null +++ b/ang/api4.js @@ -0,0 +1,4 @@ +(function(angular, $, _) { + // Declare a list of dependencies. + angular.module('api4', CRM.angRequires('api4')); +})(angular, CRM.$, CRM._); diff --git a/ang/api4/crmApi4.js b/ang/api4/crmApi4.js new file mode 100644 index 0000000000..743b35910b --- /dev/null +++ b/ang/api4/crmApi4.js @@ -0,0 +1,37 @@ +(function(angular, $, _) { + + angular.module('api4').factory('crmApi4', function($q) { + var crmApi4 = function(entity, action, params, index) { + // JSON serialization in CRM.api4 is not aware of Angular metadata like $$hash, so use angular.toJson() + var deferred = $q.defer(); + var p; + var backend = crmApi4.backend || CRM.api4; + if (_.isObject(entity)) { + // eval content is locally generated. + /*jshint -W061 */ + p = backend(eval('('+angular.toJson(entity)+')'), action); + } else { + // eval content is locally generated. + /*jshint -W061 */ + p = backend(entity, action, eval('('+angular.toJson(params)+')'), index); + } + p.then( + function(result) { + deferred.resolve(result); + }, + function(error) { + deferred.reject(error); + } + ); + return deferred.promise; + }; + crmApi4.backend = null; + crmApi4.val = function(value) { + var d = $.Deferred(); + d.resolve(value); + return d.promise(); + }; + return crmApi4; + }); + +})(angular, CRM.$, CRM._); diff --git a/ang/api4Explorer.ang.php b/ang/api4Explorer.ang.php new file mode 100644 index 0000000000..9b974d53bf --- /dev/null +++ b/ang/api4Explorer.ang.php @@ -0,0 +1,17 @@ + 'civicrm', + 'js' => [ + 'ang/api4Explorer.js', + 'ang/api4Explorer/Explorer.js', + ], + 'css' => [ + 'css/api4-explorer.css', + ], + 'partials' => [ + 'ang/api4Explorer', + ], + 'basePages' => [], + 'requires' => ['crmUi', 'crmUtil', 'ngRoute', 'crmRouteBinder', 'ui.sortable', 'api4', 'ngSanitize'], +]; diff --git a/ang/api4Explorer.js b/ang/api4Explorer.js new file mode 100644 index 0000000000..85e10c4679 --- /dev/null +++ b/ang/api4Explorer.js @@ -0,0 +1,4 @@ +(function(angular, $, _) { + // Declare a list of dependencies. + angular.module('api4Explorer', CRM.angRequires('api4Explorer')); +})(angular, CRM.$, CRM._); diff --git a/ang/api4Explorer/Chain.html b/ang/api4Explorer/Chain.html new file mode 100644 index 0000000000..257efdeccf --- /dev/null +++ b/ang/api4Explorer/Chain.html @@ -0,0 +1,4 @@ + + + + diff --git a/ang/api4Explorer/Explorer.html b/ang/api4Explorer/Explorer.html new file mode 100644 index 0000000000..bbfd35b959 --- /dev/null +++ b/ang/api4Explorer/Explorer.html @@ -0,0 +1,152 @@ +
    +
    + +

    + {{ ts('CiviCRM API v4') }}{{ entity ? (' (' + entity + '::' + action + ')') : '' }} +

    + + +
    +

    + + {{ ts('Bootstrap theme not found.') }} +

    +

    {{ ts('This screen may not work correctly without a bootstrap-based theme such as Shoreditch installed.') }}

    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    +
    + + + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + + + +
    +
    + + +
    +
    +
    +
    + values * +
    + + +
    +
    + +
    +
    +
    + orderBy * +
    + + +
    +
    + +
    +
    +
    + chain +
    +
    +
    + +
    +
    +
    +
    +
    +
    +

    {{ helpTitle }}

    +
    +
    +

    {{ helpContent.description }}

    +
    +

    {{ text }}

    +
    +

    + {{ key }}: {{ item }} +

    +
    +
    +
    +
    +
    +
    +

    {{ ts('Code') }}

    +
    +
    + + + + + +
    {{ codeLabel[type] }}
    +
    +
    +
    +
    +

    + + + + + {{ ts('Result') }} +

    +
    +
    +
    
    +        
    +
    +
    + + +
    diff --git a/ang/api4Explorer/Explorer.js b/ang/api4Explorer/Explorer.js new file mode 100644 index 0000000000..3d596a2b18 --- /dev/null +++ b/ang/api4Explorer/Explorer.js @@ -0,0 +1,882 @@ +(function(angular, $, _, undefined) { + + // Schema metadata + var schema = CRM.vars.api4.schema; + // FK schema data + var links = CRM.vars.api4.links; + // Cache list of entities + var entities = []; + // Cache list of actions + var actions = []; + // Field options + var fieldOptions = {}; + + + angular.module('api4Explorer').config(function($routeProvider) { + $routeProvider.when('/explorer/:api4entity?/:api4action?', { + controller: 'Api4Explorer', + templateUrl: '~/api4Explorer/Explorer.html', + reloadOnSearch: false + }); + }); + + angular.module('api4Explorer').controller('Api4Explorer', function($scope, $routeParams, $location, $timeout, $http, crmUiHelp, crmApi4) { + var ts = $scope.ts = CRM.ts(); + $scope.entities = entities; + $scope.actions = actions; + $scope.fields = []; + $scope.fieldsAndJoins = []; + $scope.availableParams = {}; + $scope.params = {}; + $scope.index = ''; + var getMetaParams = {}, + objectParams = {orderBy: 'ASC', values: '', chain: ['Entity', '', '{}']}, + helpTitle = '', + helpContent = {}; + $scope.helpTitle = ''; + $scope.helpContent = {}; + $scope.entity = $routeParams.api4entity; + $scope.result = []; + $scope.status = 'default'; + $scope.loading = false; + $scope.controls = {}; + $scope.codeLabel = { + oop: ts('PHP (oop style)'), + php: ts('PHP (traditional)'), + js: ts('Javascript'), + cli: ts('Command Line') + }; + $scope.code = codeDefaults(); + + function codeDefaults() { + return _.mapValues($scope.codeLabel, function(val, key) { + return key === 'oop' ? ts('Select an entity and action') : ''; + }); + } + + if (!entities.length) { + formatForSelect2(schema, entities, 'name', ['description']); + } + + $scope.$bindToRoute({ + expr: 'index', + param: 'index', + default: '' + }); + + function ucfirst(str) { + return str[0].toUpperCase() + str.slice(1); + } + + function lcfirst(str) { + return str[0].toLowerCase() + str.slice(1); + } + + 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'; + } + } + + // Turn a flat array into a select2 array + function arrayToSelect2(array) { + var out = []; + _.each(array, function(item) { + out.push({id: item, text: item}); + }); + return out; + } + + // Reformat an existing array of objects for compatibility with select2 + function formatForSelect2(input, container, key, extra, prefix) { + _.each(input, function(item) { + var id = (prefix || '') + item[key]; + var formatted = {id: id, text: id}; + if (extra) { + _.merge(formatted, _.pick(item, extra)); + } + container.push(formatted); + }); + return container; + } + + function getFieldList(source) { + var fields = [], + fieldInfo = _.findWhere(getEntity().actions, {name: $scope.action}).fields; + formatForSelect2(fieldInfo, fields, 'name', ['description', 'required', 'default_value']); + return fields; + } + + function addJoins(fieldList) { + var fields = _.cloneDeep(fieldList), + fks = _.findWhere(links, {entity: $scope.entity}) || {}; + _.each(fks.links, function(link) { + var linkFields = entityFields(link.entity); + if (linkFields) { + fields.push({ + text: link.alias, + description: 'Join to ' + link.entity, + children: formatForSelect2(linkFields, [], 'name', ['description'], link.alias + '.') + }); + } + }); + return fields; + } + + $scope.help = function(title, param) { + if (!param) { + $scope.helpTitle = helpTitle; + $scope.helpContent = helpContent; + } else { + $scope.helpTitle = title; + $scope.helpContent = param; + } + }; + + $scope.fieldHelp = function(fieldName) { + var field = getField(fieldName, $scope.entity, $scope.action); + if (!field) { + return; + } + var info = { + description: field.description, + type: field.data_type + }; + if (field.default_value) { + info.default = field.default_value; + } + if (field.required_if) { + info.required_if = field.required_if; + } else if (field.required) { + info.required = 'true'; + } + return info; + }; + + $scope.valuesFields = function() { + var fields = _.cloneDeep($scope.fields); + // Disable fields that are already in use + _.each($scope.params.values || [], function(val) { + (_.findWhere(fields, {id: val[0]}) || {}).disabled = true; + }); + return {results: fields}; + }; + + $scope.formatSelect2Item = function(row) { + return _.escape(row.text) + + (row.required ? ' *' : '') + + (row.description ? '

    ' + _.escape(row.description) + '

    ' : ''); + }; + + $scope.clearParam = function(name) { + $scope.params[name] = $scope.availableParams[name].default; + }; + + $scope.isSpecial = function(name) { + var specialParams = ['select', 'fields', 'action', 'where', 'values', 'orderBy', 'chain']; + return _.contains(specialParams, name); + }; + + $scope.selectRowCount = function() { + if ($scope.isSelectRowCount()) { + $scope.params.select = []; + } else { + $scope.params.select = ['row_count']; + if ($scope.params.limit == 25) { + $scope.params.limit = 0; + } + } + }; + + $scope.isSelectRowCount = function() { + return $scope.params && $scope.params.select && $scope.params.select.length === 1 && $scope.params.select[0] === 'row_count'; + }; + + function getEntity(entityName) { + return _.findWhere(schema, {name: entityName || $scope.entity}); + } + + // Get all params that have been set + function getParams() { + var params = {}; + _.each($scope.params, function(param, key) { + if (param != $scope.availableParams[key].default && !(typeof param === 'object' && _.isEmpty(param))) { + if (_.contains($scope.availableParams[key].type, 'array') && (typeof objectParams[key] === 'undefined')) { + params[key] = parseYaml(_.cloneDeep(param)); + } else { + params[key] = param; + } + } + }); + _.each(objectParams, function(defaultVal, key) { + if (params[key]) { + var newParam = {}; + _.each(params[key], function(item) { + var val = _.cloneDeep(item[1]); + // Remove blank items from "chain" array + if (_.isArray(val)) { + _.eachRight(item[1], function(v, k) { + if (v) { + return false; + } + val.length--; + }); + } + newParam[item[0]] = parseYaml(val); + }); + params[key] = newParam; + } + }); + return params; + } + + function parseYaml(input) { + if (typeof input === 'undefined') { + return undefined; + } + if (_.isObject(input) || _.isArray(input)) { + _.each(input, function(item, index) { + input[index] = parseYaml(item); + }); + return input; + } + try { + var output = (input === '>') ? '>' : jsyaml.safeLoad(input); + // We don't want dates parsed to js objects + return _.isDate(output) ? input : output; + } catch (e) { + return input; + } + } + + function selectAction() { + $scope.action = $routeParams.api4action; + $scope.fieldsAndJoins = []; + if (!actions.length) { + formatForSelect2(getEntity().actions, actions, 'name', ['description', 'params']); + } + if ($scope.action) { + var actionInfo = _.findWhere(actions, {id: $scope.action}); + $scope.fields = getFieldList(); + if (_.contains(['get', 'update', 'delete', 'replace'], $scope.action)) { + $scope.fieldsAndJoins = addJoins($scope.fields); + } else { + $scope.fieldsAndJoins = $scope.fields; + } + _.each(actionInfo.params, function (param, name) { + var format, + defaultVal = _.cloneDeep(param.default); + if (param.type) { + switch (param.type[0]) { + case 'int': + case 'bool': + format = param.type[0]; + break; + + case 'array': + case 'object': + format = 'json'; + break; + + default: + format = 'raw'; + } + if (name == 'limit') { + defaultVal = 25; + } + if (name === 'values') { + defaultVal = defaultValues(defaultVal); + } + $scope.$bindToRoute({ + expr: 'params["' + name + '"]', + param: name, + format: format, + default: defaultVal, + deep: format === 'json' + }); + } + if (typeof objectParams[name] !== 'undefined') { + $scope.$watch('params.' + name, function(values) { + // Remove empty values + _.each(values, function(clause, index) { + if (!clause || !clause[0]) { + $scope.params[name].splice(index, 1); + } + }); + }, true); + $scope.$watch('controls.' + name, function(value) { + var field = value; + $timeout(function() { + if (field) { + var defaultOp = _.cloneDeep(objectParams[name]); + if (name === 'chain') { + var num = $scope.params.chain.length; + defaultOp[0] = field; + field = 'name_me_' + num; + } + $scope.params[name].push([field, defaultOp]); + $scope.controls[name] = null; + } + }); + }); + } + }); + $scope.availableParams = actionInfo.params; + } + writeCode(); + } + + function defaultValues(defaultVal) { + _.each($scope.fields, function(field) { + if (field.required) { + defaultVal.push([field.id, '']); + } + }); + return defaultVal; + } + + function stringify(value, trim) { + if (typeof value === 'undefined') { + return ''; + } + var str = JSON.stringify(value).replace(/,/g, ', '); + if (trim) { + str = str.slice(1, -1); + } + return str.trim(); + } + + function writeCode() { + var code = codeDefaults(), + entity = $scope.entity, + action = $scope.action, + params = getParams(), + index = isInt($scope.index) ? +$scope.index : $scope.index, + result = 'result'; + if ($scope.entity && $scope.action) { + if (action.slice(0, 3) === 'get') { + result = entity.substr(0, 7) === 'Custom_' ? _.camelCase(entity.substr(7)) : entity; + result = lcfirst(action.replace(/s$/, '').slice(3) || result); + } + var results = lcfirst(_.isNumber(index) ? result : pluralize(result)), + paramCount = _.size(params), + isSelectRowCount = params.select && params.select.length === 1 && params.select[0] === 'row_count', + i = 0; + + if (isSelectRowCount) { + results = result + 'Count'; + } + + // Write javascript + code.js = "CRM.api4('" + entity + "', '" + action + "', {"; + _.each(params, function(param, key) { + code.js += "\n " + key + ': ' + stringify(param) + + (++i < paramCount ? ',' : ''); + if (key === 'checkPermissions') { + code.js += ' // IGNORED: permissions are always enforced from client-side requests'; + } + }); + code.js += "\n}"; + if (index || index === 0) { + code.js += ', ' + JSON.stringify(index); + } + code.js += ").then(function(" + results + ") {\n // do something with " + results + " array\n}, function(failure) {\n // handle failure\n});"; + + // Write php code + code.php = '$' + results + " = civicrm_api4('" + entity + "', '" + action + "', ["; + _.each(params, function(param, key) { + code.php += "\n '" + key + "' => " + phpFormat(param, 4) + ','; + }); + code.php += "\n]"; + if (index || index === 0) { + code.php += ', ' + phpFormat(index); + } + code.php += ");"; + + // Write oop code + if (entity.substr(0, 7) !== 'Custom_') { + code.oop = '$' + results + " = \\Civi\\Api4\\" + entity + '::' + action + '()'; + } else { + code.oop = '$' + results + " = \\Civi\\Api4\\CustomValue::" + action + "('" + entity.substr(7) + "')"; + } + _.each(params, function(param, key) { + var val = ''; + if (typeof objectParams[key] !== 'undefined' && key !== 'chain') { + _.each(param, function(item, index) { + val = phpFormat(index) + ', ' + phpFormat(item, 4); + code.oop += "\n ->add" + ucfirst(key).replace(/s$/, '') + '(' + val + ')'; + }); + } else if (key === 'where') { + _.each(param, function (clause) { + if (clause[0] === 'AND' || clause[0] === 'OR' || clause[0] === 'NOT') { + code.oop += "\n ->addClause(" + phpFormat(clause[0]) + ", " + phpFormat(clause[1]).slice(1, -1) + ')'; + } else { + code.oop += "\n ->addWhere(" + phpFormat(clause).slice(1, -1) + ")"; + } + }); + } else if (key === 'select' && isSelectRowCount) { + code.oop += "\n ->selectRowCount()"; + } else { + code.oop += "\n ->set" + ucfirst(key) + '(' + phpFormat(param, 4) + ')'; + } + }); + code.oop += "\n ->execute()"; + if (_.isNumber(index)) { + code.oop += !index ? '\n ->first()' : (index === -1 ? '\n ->last()' : '\n ->itemAt(' + index + ')'); + } else if (index) { + code.oop += "\n ->indexBy('" + index + "')"; + } else if (isSelectRowCount) { + code.oop += "\n ->count()"; + } + code.oop += ";\n"; + if (!_.isNumber(index) && !isSelectRowCount) { + code.oop += "foreach ($" + results + ' as $' + ((_.isString(index) && index) ? index + ' => $' : '') + result + ') {\n // do something\n}'; + } + + // Write cli code + code.cli = 'cv api4 ' + entity + '.' + action + " '" + stringify(params) + "'"; + } + _.each(code, function(val, type) { + $scope.code[type] = prettyPrintOne(val); + }); + } + + function isInt(value) { + if (_.isFinite(value)) { + return true; + } + if (!_.isString(value)) { + return false; + } + return /^-{0,1}\d+$/.test(value); + } + + function formatMeta(resp) { + var ret = ''; + _.each(resp, function(val, key) { + if (key !== 'values' && !_.isPlainObject(val) && !_.isFunction(val)) { + ret += (ret.length ? ', ' : '') + key + ': ' + (_.isArray(val) ? '[' + val + ']' : val); + } + }); + return prettyPrintOne(ret); + } + + $scope.execute = function() { + $scope.status = 'warning'; + $scope.loading = true; + $http.get(CRM.url('civicrm/ajax/api4/' + $scope.entity + '/' + $scope.action, { + params: angular.toJson(getParams()), + index: $scope.index + })).then(function(resp) { + $scope.loading = false; + $scope.status = 'success'; + $scope.result = [formatMeta(resp.data), prettyPrintOne(JSON.stringify(resp.data.values, null, 2), 'js', 1)]; + }, function(resp) { + $scope.loading = false; + $scope.status = 'danger'; + $scope.result = [formatMeta(resp), prettyPrintOne(JSON.stringify(resp.data, null, 2))]; + }); + }; + + /** + * Format value to look like php code + */ + function phpFormat(val, indent) { + if (typeof val === 'undefined') { + return ''; + } + indent = (typeof indent === 'number') ? _.repeat(' ', indent) : (indent || ''); + var ret = '', + baseLine = indent ? indent.slice(0, -2) : '', + newLine = indent ? '\n' : '', + trailingComma = indent ? ',' : ''; + if ($.isPlainObject(val)) { + $.each(val, function(k, v) { + ret += (ret ? ', ' : '') + newLine + indent + "'" + k + "' => " + phpFormat(v); + }); + return '[' + ret + trailingComma + newLine + baseLine + ']'; + } + if ($.isArray(val)) { + $.each(val, function(k, v) { + ret += (ret ? ', ' : '') + newLine + indent + phpFormat(v); + }); + return '[' + ret + trailingComma + newLine + baseLine + ']'; + } + if (_.isString(val) && !_.contains(val, "'")) { + return "'" + val + "'"; + } + return JSON.stringify(val).replace(/\$/g, '\\$'); + } + + function fetchMeta() { + crmApi4(getMetaParams) + .then(function(data) { + if (data.actions) { + getEntity().actions = data.actions; + selectAction(); + } + }); + } + + // Help for an entity with no action selected + function showEntityHelp(entityName) { + var entityInfo = getEntity(entityName); + $scope.helpTitle = helpTitle = $scope.entity; + $scope.helpContent = helpContent = { + description: entityInfo.description, + comment: entityInfo.comment + }; + } + + if (!$scope.entity) { + $scope.helpTitle = helpTitle = ts('Help'); + $scope.helpContent = helpContent = {description: ts('Welcome to the api explorer.'), comment: ts('Select an entity to begin.')}; + } else if (!actions.length && !getEntity().actions) { + getMetaParams.actions = [$scope.entity, 'getActions', {chain: {fields: [$scope.entity, 'getFields', {action: '$name'}]}}]; + fetchMeta(); + } else { + selectAction(); + } + + if ($scope.entity) { + showEntityHelp($scope.entity); + } + + // Update route when changing entity + $scope.$watch('entity', function(newVal, oldVal) { + if (oldVal !== newVal) { + // Flush actions cache to re-fetch for new entity + actions = []; + $location.url('/explorer/' + newVal); + } + }); + + // Update route when changing actions + $scope.$watch('action', function(newVal, oldVal) { + if ($scope.entity && $routeParams.api4action !== newVal && !_.isUndefined(newVal)) { + $location.url('/explorer/' + $scope.entity + '/' + newVal); + } else if (newVal) { + $scope.helpTitle = helpTitle = $scope.entity + '::' + newVal; + $scope.helpContent = helpContent = _.pick(_.findWhere(getEntity().actions, {name: newVal}), ['description', 'comment']); + } + }); + + $scope.indexHelp = { + description: ts('(string|int) Index results or select by index.'), + comment: ts('Pass a string to index the results by a field value. E.g. index: "name" will return an associative array with names as keys.') + '\n\n' + + ts('Pass an integer to return a single result; e.g. index: 0 will return the first result, 1 will return the second, and -1 will return the last.') + }; + + $scope.$watch('params', writeCode, true); + $scope.$watch('index', writeCode); + writeCode(); + + }); + + angular.module('api4Explorer').directive('crmApi4WhereClause', function($timeout) { + return { + scope: { + data: '=crmApi4WhereClause' + }, + templateUrl: '~/api4Explorer/WhereClause.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; + + scope.addGroup = function(op) { + scope.data.where.push([op, []]); + }; + + scope.removeGroup = function() { + scope.data.groupParent.splice(scope.data.groupIndex, 1); + }; + + scope.onSort = function(event, ui) { + $('.api4-where-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) { + 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; + $timeout(function() { + if (field) { + scope.data.where.push([field, '=', '']); + scope.newClause = null; + } + }); + }); + scope.$watch('data.where', function(values) { + // Remove empty values + _.each(values, function(clause, index) { + if (typeof clause !== 'undefined' && !clause[0]) { + values.splice(index, 1); + } + }); + }, true); + } + }; + }); + + angular.module('api4Explorer').directive('api4ExpValue', function($routeParams, crmApi4) { + return { + scope: { + data: '=api4ExpValue' + }, + require: 'ngModel', + link: function (scope, element, attrs, ctrl) { + var ts = scope.ts = CRM.ts(), + multi = _.includes(['IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'], scope.data.op), + entity = $routeParams.api4entity, + action = $routeParams.api4action; + + function destroyWidget() { + var $el = $(element); + if ($el.is('.crm-form-date-wrapper .crm-hidden-date')) { + $el.crmDatepicker('destroy'); + } + if ($el.is('.select2-container + input')) { + $el.crmEntityRef('destroy'); + } + $(element).removeData().removeAttr('type').removeAttr('placeholder').show(); + } + + function makeWidget(field, op) { + var $el = $(element), + inputType = field.input_type; + dataType = field.data_type; + if (!op) { + op = field.serialize || dataType === 'Array' ? 'IN' : '='; + } + multi = _.includes(['IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'], op); + if (op === 'IS NULL' || op === 'IS NOT NULL') { + $el.hide(); + return; + } + if (inputType === 'Date') { + if (_.includes(['=', '!=', '<>', '<', '>=', '<', '<='], op)) { + $el.crmDatepicker({time: (field.input_attrs && field.input_attrs.time) || false}); + } + } else if (_.includes(['=', '!=', '<>', 'IN', 'NOT IN'], op) && (field.fk_entity || field.options || dataType === 'Boolean')) { + if (field.fk_entity) { + $el.crmEntityRef({entity: field.fk_entity, select:{multiple: multi}}); + } else if (field.options) { + $el.addClass('loading').attr('placeholder', ts('- select -')).crmSelect2({multiple: multi, data: [{id: '', text: ''}]}); + loadFieldOptions(field.entity || entity).then(function(data) { + var options = []; + _.each(_.findWhere(data, {name: field.name}).options, function(val, key) { + options.push({id: key, text: val}); + }); + $el.removeClass('loading').select2({data: options, multiple: multi}); + }); + } else if (dataType === 'Boolean') { + $el.attr('placeholder', ts('- select -')).crmSelect2({allowClear: false, multiple: multi, placeholder: ts('- select -'), data: [ + {id: '1', text: ts('Yes')}, + {id: '0', text: ts('No')} + ]}); + } + } else if (dataType === 'Integer' && !multi) { + $el.attr('type', 'number'); + } + } + + function loadFieldOptions(entity) { + if (!fieldOptions[entity + action]) { + fieldOptions[entity + action] = crmApi4(entity, 'getFields', { + loadOptions: true, + action: action, + where: [["options", "!=", false]], + select: ["name", "options"] + }); + } + return fieldOptions[entity + action]; + } + + // Copied from ng-list but applied conditionally if field is multi-valued + var parseList = function(viewValue) { + // If the viewValue is invalid (say required but empty) it will be `undefined` + if (_.isUndefined(viewValue)) return; + + if (!multi) { + return viewValue; + } + + var list = []; + + if (viewValue) { + _.each(viewValue.split(','), function(value) { + if (value) list.push(_.trim(value)); + }); + } + + return list; + }; + + // Copied from ng-list + ctrl.$parsers.push(parseList); + ctrl.$formatters.push(function(value) { + return _.isArray(value) ? value.join(', ') : value; + }); + + // Copied from ng-list + ctrl.$isEmpty = function(value) { + return !value || !value.length; + }; + + scope.$watchCollection('data', function(data) { + destroyWidget(); + var field = getField(data.field, entity, action); + if (field) { + makeWidget(field, data.op); + } + }); + } + }; + }); + + + angular.module('api4Explorer').directive('api4ExpChain', function(crmApi4) { + return { + scope: { + chain: '=api4ExpChain', + mainEntity: '=', + entities: '=' + }, + templateUrl: '~/api4Explorer/Chain.html', + link: function (scope, element, attrs) { + var ts = scope.ts = CRM.ts(); + + function changeEntity(newEntity, oldEntity) { + // When clearing entity remove this chain + if (!newEntity) { + scope.chain[0] = ''; + return; + } + // Reset action && index + if (newEntity !== oldEntity) { + scope.chain[1][1] = scope.chain[1][2] = ''; + } + if (getEntity(newEntity).actions) { + setActions(); + } else { + crmApi4(newEntity, 'getActions', {chain: {fields: [newEntity, 'getFields', {action: '$name'}]}}) + .then(function(data) { + getEntity(data.entity).actions = data; + if (data.entity === scope.chain[1][0]) { + setActions(); + } + }); + } + } + + function setActions() { + scope.actions = [''].concat(_.pluck(getEntity(scope.chain[1][0]).actions, 'name')); + } + + // Set default params when choosing action + function changeAction(newAction, oldAction) { + var link; + // Prepopulate links + if (newAction && newAction !== oldAction) { + // Clear index + scope.chain[1][3] = ''; + // Look for links back to main entity + _.each(entityFields(scope.chain[1][0]), function(field) { + if (field.fk_entity === scope.mainEntity) { + link = [field.name, '$id']; + } + }); + // Look for links from main entity + if (!link && newAction !== 'create') { + _.each(entityFields(scope.mainEntity), function(field) { + if (field.fk_entity === scope.chain[1][0]) { + link = ['id', '$' + field.name]; + // Since we're specifying the id, set index to getsingle + scope.chain[1][3] = '0'; + } + }); + } + if (link && _.contains(['get', 'update', 'replace', 'delete'], newAction)) { + scope.chain[1][2] = '{where: [[' + link[0] + ', =, ' + link[1] + ']]}'; + } + else if (link && _.contains(['create'], newAction)) { + scope.chain[1][2] = '{values: {' + link[0] + ': ' + link[1] + '}}'; + } + else if (link && _.contains(['save'], newAction)) { + scope.chain[1][2] = '{records: [{' + link[0] + ': ' + link[1] + '}]}'; + } else { + scope.chain[1][2] = '{}'; + } + } + } + + scope.$watch("chain[1][0]", changeEntity); + scope.$watch("chain[1][1]", changeAction); + } + }; + }); + + function getEntity(entityName) { + return _.findWhere(schema, {name: entityName}); + } + + function entityFields(entityName, action) { + var entity = getEntity(entityName); + if (entity && action && entity.actions) { + return _.findWhere(entity.actions, {name: action}).fields; + } + return _.result(entity, 'fields'); + } + + function getField(fieldName, entity, action) { + var fieldNames = fieldName.split('.'); + return get(entity, fieldNames); + + function get(entity, fieldNames) { + if (fieldNames.length === 1) { + return _.findWhere(entityFields(entity, action), {name: fieldNames[0]}); + } + var comboName = _.findWhere(entityFields(entity, action), {name: fieldNames[0] + '.' + fieldNames[1]}); + if (comboName) { + return comboName; + } + var linkName = fieldNames.shift(), + entityLinks = _.findWhere(links, {entity: entity}).links, + newEntity = _.findWhere(entityLinks, {alias: linkName}).entity; + return get(newEntity, fieldNames); + } + } + + // Collapsible optgroups for select2 + $(function() { + $('body') + .on('select2-open', function(e) { + if ($(e.target).hasClass('collapsible-optgroups')) { + $('#select2-drop') + .off('.collapseOptionGroup') + .addClass('collapsible-optgroups-enabled') + .on('click.collapseOptionGroup', '.select2-result-with-children > .select2-result-label', function() { + $(this).parent().toggleClass('optgroup-expanded'); + }); + } + }) + .on('select2-close', function() { + $('#select2-drop').off('.collapseOptionGroup').removeClass('collapsible-optgroups-enabled'); + }); + }); +})(angular, CRM.$, CRM._); diff --git a/ang/api4Explorer/WhereClause.html b/ang/api4Explorer/WhereClause.html new file mode 100644 index 0000000000..d36480f9de --- /dev/null +++ b/ang/api4Explorer/WhereClause.html @@ -0,0 +1,39 @@ +{{ data.label || data.op + ' group' }} * +
    + +
    +
    +
    +
    + + Where + {{ data.op }} + + +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    +
    + + +
    +
    + +
    \ No newline at end of file diff --git a/ang/crmCaseType.js b/ang/crmCaseType.js index f140712ea4..af7958e344 100644 --- a/ang/crmCaseType.js +++ b/ang/crmCaseType.js @@ -354,9 +354,10 @@ // go lookup and add client-perspective labels for $scope.caseType.definition.caseRoles _.each($scope.caseType.definition.caseRoles, function (set) { - _.each($scope.relationshipTypeOptions, function (relTypes) { - if (relTypes.text == set.name) { - set.displaylabel = relTypes.id; + _.each($scope.relationshipTypeOptions, function (relationshipTypeOption) { + if (relationshipTypeOption.text == set.name) { + // relationshipTypeOption.id here corresponds to one of the civicrm_relationship_type.label database fields, not civicrm_relationship_type.id + set.displaylabel = relationshipTypeOption.id; } }); }); @@ -476,18 +477,23 @@ CRM.loadForm(CRM.url('civicrm/admin/reltype', {action: 'add', reset: 1, label_a_b: roleName})) .on('crmFormSuccess', function(e, data) { var newType = _.values(data.relationshipType)[0]; - roles.push({name: newType.label_b_a, displaylabel: newType.label_a_b}); - // Assume that the case role should be A-B but add both directions as options. - $scope.relationshipTypeOptions.push({id: newType.label_a_b, text: newType.label_a_b}); - if (newType.label_a_b != newType.label_b_a) { - $scope.relationshipTypeOptions.push({id: newType.label_b_a, text: newType.label_b_a}); - } - $scope.$digest(); + $scope.$apply(function() { + $scope.addRoleOnTheFly(roles, newType); + }); }); } } }; + $scope.addRoleOnTheFly = function(roles, newType) { + roles.push({name: newType.label_b_a, displaylabel: newType.label_a_b}); + // Assume that the case role should be A-B but add both directions as options. + $scope.relationshipTypeOptions.push({id: newType.label_a_b, text: newType.label_b_a}); + if (newType.label_a_b != newType.label_b_a) { + $scope.relationshipTypeOptions.push({id: newType.label_b_a, text: newType.label_a_b}); + } + }; + $scope.onManagerChange = function(managerRole) { angular.forEach($scope.caseType.definition.caseRoles, function(caseRole) { if (caseRole != managerRole) { diff --git a/api/api.php b/api/api.php index 5d67281e45..43f2d735c7 100644 --- a/api/api.php +++ b/api/api.php @@ -23,6 +23,48 @@ function civicrm_api($entity, $action, $params, $extra = NULL) { return \Civi::service('civi_api_kernel')->runSafe($entity, $action, $params, $extra); } +/** + * Procedural wrapper for the OO api version 4. + * + * @param string $entity + * @param string $action + * @param array $params + * @param string|int $index + * If $index is a string, the results array will be indexed by that key. + * If $index is an integer, only the result at that index will be returned. + * + * @return \Civi\Api4\Generic\Result + * @throws \API_Exception + * @throws \Civi\API\Exception\NotImplementedException + */ +function civicrm_api4($entity, $action, $params = [], $index = NULL) { + $apiCall = \Civi\Api4\Utils\ActionUtil::getAction($entity, $action); + foreach ($params as $name => $param) { + $setter = 'set' . ucfirst($name); + $apiCall->$setter($param); + } + $result = $apiCall->execute(); + + // Index results by key + if ($index && is_string($index) && !CRM_Utils_Rule::integer($index)) { + $result->indexBy($index); + } + // Return result at index + if (CRM_Utils_Rule::integer($index)) { + $item = $result->itemAt($index); + if (is_null($item)) { + throw new \API_Exception("Index $index not found in api results"); + } + // Attempt to return a Result object if item is array, otherwise just return the item + if (!is_array($item)) { + return $item; + } + $result->exchangeArray($item); + + } + return $result; +} + /** * Version 3 wrapper for civicrm_api. * diff --git a/api/v3/CustomValue.php b/api/v3/CustomValue.php index 48c3f93b85..be44a1b6b3 100644 --- a/api/v3/CustomValue.php +++ b/api/v3/CustomValue.php @@ -394,3 +394,50 @@ function civicrm_api3_custom_value_gettree($params) { } return civicrm_api3_create_success($result, $params, 'CustomValue', 'gettree'); } + +/** + * CustomValue.getdisplayvalue API specification + * + * @param array $spec description of fields supported by this API call + */ +function _civicrm_api3_custom_value_getdisplayvalue_spec(&$spec) { + $spec['entity_id'] = [ + 'title' => 'Entity Id', + 'description' => 'Id of entity', + 'type' => CRM_Utils_Type::T_INT, + 'api.required' => 1, + ]; + $spec['custom_field_id'] = [ + 'title' => 'Custom Field ID', + 'description' => 'Id of custom field', + 'type' => CRM_Utils_Type::T_INT, + 'api.required' => 1, + ]; + $spec['custom_field_value'] = [ + 'title' => 'Custom Field value', + 'description' => 'Specify the value of the custom field to return as displayed value', + 'type' => CRM_Utils_Type::T_STRING, + 'api.required' => 0, + ]; +} + +/** + * CustomValue.getdisplayvalue API + * + * @param array $params + * + * @return array API result + * @throws \CiviCRM_API3_Exception + */ +function civicrm_api3_custom_value_getdisplayvalue($params) { + if (empty($params['custom_field_value'])) { + $params['custom_field_value'] = civicrm_api3('CustomValue', 'getsingle', [ + 'return' => ["custom_{$params['custom_field_id']}"], + 'entity_id' => $params['entity_id'], + ]); + $params['custom_field_value'] = $params['custom_field_value']['latest']; + } + $values[$params['custom_field_id']]['display'] = CRM_Core_BAO_CustomField::displayValue($params['custom_field_value'], $params['custom_field_id'], CRM_Utils_Array::value('entity_id', $params)); + $values[$params['custom_field_id']]['raw'] = $params['custom_field_value']; + return civicrm_api3_create_success($values, $params, 'CustomValue', 'getdisplayvalue'); +} diff --git a/api/v3/LocBlock.php b/api/v3/LocBlock.php index 0e7ef7c642..7572e0fc00 100644 --- a/api/v3/LocBlock.php +++ b/api/v3/LocBlock.php @@ -41,6 +41,7 @@ * API result array. * * @throws \API_Exception + * @throws \CiviCRM_API3_Exception */ function civicrm_api3_loc_block_create($params) { $entities = []; diff --git a/api/v3/Payment.php b/api/v3/Payment.php index 4ac10c070f..4ec6647c22 100644 --- a/api/v3/Payment.php +++ b/api/v3/Payment.php @@ -47,6 +47,9 @@ function civicrm_api3_payment_get($params) { $limit = CRM_Utils_Array::value('limit', $params['options']); } $params['options']['limit'] = 0; + if (isset($params['trxn_id'])) { + $params['financial_trxn_id.trxn_id'] = $params['trxn_id']; + } $eft = civicrm_api3('EntityFinancialTrxn', 'get', $params); if (!empty($eft['values'])) { $eftIds = []; @@ -210,6 +213,10 @@ function _civicrm_api3_payment_get_spec(&$params) { 'type' => CRM_Utils_Type::T_INT, 'api.aliases' => ['contribution_id'], ], + 'trxn_id' => [ + 'title' => 'Transaction ID', + 'type' => CRM_Utils_Type::T_STRING, + ], ]; } diff --git a/api/v3/System/setting-whitelist.txt b/api/v3/System/setting-whitelist.txt index 5f4b74bd9b..a367414635 100644 --- a/api/v3/System/setting-whitelist.txt +++ b/api/v3/System/setting-whitelist.txt @@ -32,6 +32,7 @@ mailerJobSize mailerJobsMax maxFileSize max_attachments +max_attachments_backend replyTo secondDegRelPermissions securityAlert diff --git a/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php b/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php index e775abbb76..a1e4172a0a 100644 --- a/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php +++ b/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php @@ -9,7 +9,7 @@ */ function contribution_create_example() { $params = [ - 'contact_id' => 31, + 'contact_id' => 32, 'receive_date' => '20120511', 'total_amount' => '100', 'financial_type_id' => 1, @@ -18,7 +18,7 @@ function contribution_create_example() { 'net_amount' => '95', 'source' => 'SSF', 'contribution_status_id' => 1, - 'honor_contact_id' => 32, + 'honor_contact_id' => 33, ]; try{ @@ -56,7 +56,7 @@ function contribution_create_expectedresult() { 'values' => [ '1' => [ 'id' => '1', - 'contact_id' => '31', + 'contact_id' => '32', 'financial_type_id' => '1', 'contribution_page_id' => '', 'payment_instrument_id' => '4', @@ -85,6 +85,7 @@ function contribution_create_expectedresult() { 'creditnote_id' => '', 'tax_amount' => '', 'revenue_recognition_date' => '', + 'is_template' => '', 'contribution_type_id' => '1', ], ], diff --git a/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php b/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php index 1c22dd7f1f..16bf6b2e4d 100644 --- a/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php +++ b/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php @@ -9,7 +9,7 @@ */ function contribution_create_example() { $params = [ - 'contact_id' => 25, + 'contact_id' => 26, 'receive_date' => '2012-01-01', 'total_amount' => '100', 'financial_type_id' => 1, @@ -59,7 +59,7 @@ function contribution_create_expectedresult() { 'values' => [ '1' => [ 'id' => '1', - 'contact_id' => '25', + 'contact_id' => '26', 'financial_type_id' => '1', 'contribution_page_id' => '', 'payment_instrument_id' => '1', @@ -88,6 +88,7 @@ function contribution_create_expectedresult() { 'creditnote_id' => '', 'tax_amount' => '', 'revenue_recognition_date' => '', + 'is_template' => '', 'contribution_type_id' => '1', ], ], diff --git a/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php b/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php index e4d36539ba..d830ef95e0 100644 --- a/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php +++ b/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php @@ -9,7 +9,7 @@ */ function contribution_create_example() { $params = [ - 'contact_id' => 27, + 'contact_id' => 28, 'receive_date' => '20120511', 'total_amount' => '100', 'financial_type_id' => 1, @@ -20,7 +20,7 @@ function contribution_create_example() { 'contribution_status_id' => 1, 'soft_credit' => [ '1' => [ - 'contact_id' => 28, + 'contact_id' => 29, 'amount' => 50, 'soft_credit_type_id' => 3, ], @@ -62,7 +62,7 @@ function contribution_create_expectedresult() { 'values' => [ '1' => [ 'id' => '1', - 'contact_id' => '27', + 'contact_id' => '28', 'financial_type_id' => '1', 'contribution_page_id' => '', 'payment_instrument_id' => '4', @@ -91,6 +91,7 @@ function contribution_create_expectedresult() { 'creditnote_id' => '', 'tax_amount' => '', 'revenue_recognition_date' => '', + 'is_template' => '', 'contribution_type_id' => '1', ], ], diff --git a/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php b/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php index 2c6729fb0a..915a68c5bc 100644 --- a/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php +++ b/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php @@ -9,7 +9,7 @@ */ function contribution_create_example() { $params = [ - 'contact_id' => 29, + 'contact_id' => 30, 'receive_date' => '20120511', 'total_amount' => '100', 'financial_type_id' => 1, @@ -18,7 +18,7 @@ function contribution_create_example() { 'net_amount' => '95', 'source' => 'SSF', 'contribution_status_id' => 1, - 'soft_credit_to' => 30, + 'soft_credit_to' => 31, ]; try{ @@ -56,7 +56,7 @@ function contribution_create_expectedresult() { 'values' => [ '1' => [ 'id' => '1', - 'contact_id' => '29', + 'contact_id' => '30', 'financial_type_id' => '1', 'contribution_page_id' => '', 'payment_instrument_id' => '4', @@ -85,6 +85,7 @@ function contribution_create_expectedresult() { 'creditnote_id' => '', 'tax_amount' => '', 'revenue_recognition_date' => '', + 'is_template' => '', 'contribution_type_id' => '1', ], ], diff --git a/api/v3/examples/Contribution/Create.ex.php b/api/v3/examples/Contribution/Create.ex.php index 7540683df7..1d47cb3a30 100644 --- a/api/v3/examples/Contribution/Create.ex.php +++ b/api/v3/examples/Contribution/Create.ex.php @@ -83,6 +83,7 @@ function contribution_create_expectedresult() { 'creditnote_id' => '', 'tax_amount' => '', 'revenue_recognition_date' => '', + 'is_template' => '', 'contribution_type_id' => '1', ], ], diff --git a/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php b/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php index 3c27c405c5..36e23c41c7 100644 --- a/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php +++ b/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php @@ -9,7 +9,7 @@ */ function contribution_create_example() { $params = [ - 'contact_id' => 12, + 'contact_id' => 13, 'receive_date' => '20120511', 'total_amount' => '100', 'financial_type_id' => 1, @@ -73,7 +73,7 @@ function contribution_create_expectedresult() { 'values' => [ '1' => [ 'id' => '1', - 'contact_id' => '12', + 'contact_id' => '13', 'financial_type_id' => '1', 'contribution_page_id' => '', 'payment_instrument_id' => '1', @@ -102,6 +102,7 @@ function contribution_create_expectedresult() { 'creditnote_id' => '', 'tax_amount' => 0, 'revenue_recognition_date' => '', + 'is_template' => '', 'contribution_type_id' => '1', 'api.line_item.create' => [ '0' => [ diff --git a/composer.json b/composer.json index b298a5c9ba..42578e4e90 100644 --- a/composer.json +++ b/composer.json @@ -199,6 +199,10 @@ "select2": { "url": "https://github.com/colemanw/select2/archive/v3.5-civicrm-1.0.zip" }, + "js-yaml": { + "url": "https://github.com/nodeca/js-yaml/archive/3.13.1.zip", + "ignore": ["benchmark", "bin", "demo", "examples", "lib", "support", "test"] + }, "smartmenus": { "url": "https://github.com/vadikom/smartmenus/archive/1.1.0.zip", "ignore": [".gitignore", "Gruntfile.js"] diff --git a/composer.lock b/composer.lock index ab0f88ec85..9f5328a8ba 100644 --- a/composer.lock +++ b/composer.lock @@ -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": "195f60bb40e72b390be3211fcc870a38", + "content-hash": "f0b735ec69179cc1b69b87e335db9c7b", "packages": [ { "name": "civicrm/civicrm-cxn-rpc", diff --git a/contributor-key.yml b/contributor-key.yml index 98dc9e075e..f6b6e56908 100644 --- a/contributor-key.yml +++ b/contributor-key.yml @@ -341,7 +341,7 @@ - github : Dawnthorn name : Peter Haight organization: Giant Rabbit - + - github : dlobo name : Donald Lobo jira : lobo @@ -350,6 +350,8 @@ organization: Jesper Angelo jira : dkguru +- github : don-alejandro-z + - name : Samuel Haskell jira : dotsam @@ -472,6 +474,9 @@ organization: Amnistía Internacional España jira : Fernando +- github : fkohrt + name : Florian Kohrt + - github : fliespl name : Arkadiusz Rzadkowolski jira : flies @@ -1547,7 +1552,7 @@ - github : wmortada name : William Mortada - organization: Community IT Academy + organization: a-n The Artists Information Company jira : wmortada - name : Philipp Michael @@ -1573,4 +1578,4 @@ - github : reecebenson name : Reece Benson - organization: Circle Interactive \ No newline at end of file + organization: Circle Interactive diff --git a/css/api4-explorer.css b/css/api4-explorer.css new file mode 100644 index 0000000000..a5be9c8a06 --- /dev/null +++ b/css/api4-explorer.css @@ -0,0 +1,195 @@ +/* Style rules for Api4 Explorer */ + +#bootstrap-theme.api4-explorer-page .panel-heading { + height: 50px; +} +#bootstrap-theme.api4-explorer-page .panel-body { + min-height: calc( 100% - 50px); +} +#bootstrap-theme.api4-explorer-page .explorer-params-panel .panel-heading { + padding-top: 12px; +} +#bootstrap-theme.api4-explorer-page .explorer-params-panel .panel-heading button { + position: relative; + top: -5px; +} +#bootstrap-theme .explorer-params-panel .panel-heading .form-inline > .select2-container { + max-width: 25% !important; +} +#bootstrap-theme.api4-explorer-page .api4-explorer-row { + display: flex; +} +#bootstrap-theme.api4-explorer-page > div > .panel { + flex: 1; + margin: 10px; + min-height: 400px; +} +#bootstrap-theme.api4-explorer-page > div > form.panel { + flex: 2; +} +/* Fix weird shorditch style */ +#bootstrap-theme.api4-explorer-page .api4-explorer-row .panel .panel-heading { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + margin-bottom: 0; +} +#bootstrap-theme.api4-explorer-page .explorer-code-panel table td:first-child { + width: 5em; +} + +#bootstrap-theme.api4-explorer-page .explorer-params-panel > .panel-body > div.api4-input { + margin-bottom: 10px; +} + +#bootstrap-theme.api4-explorer-page .api4-input.form-inline > label { + margin-right: 12px; +} + +#bootstrap-theme.api4-explorer-page .explorer-help-panel .panel-body { + word-break: break-word; +} + +#bootstrap-theme.api4-explorer-page form label { + text-transform: capitalize; +} + +#bootstrap-theme.api4-explorer-page fieldset { + padding: 6px; + border: 1px solid lightgrey; + margin-bottom: 10px; + position: relative; +} + +#bootstrap-theme.api4-explorer-page fieldset legend { + background-color: white; + font-size: 13px; + margin: 0; + width: auto; + border: 0 none; + padding: 2px 5px; + text-transform: capitalize; +} +#bootstrap-theme.api4-explorer-page fieldset > .btn-group { + position: absolute; + right: 0; + top: 11px; +} +#bootstrap-theme.api4-explorer-page fieldset > .btn-group .btn { + border: 0 none; +} + +#bootstrap-theme.api4-explorer-page fieldset div.api4-input { + margin-bottom: 10px; +} + +#bootstrap-theme.api4-explorer-page fieldset div.api4-input.ui-sortable-helper { + background-color: rgba(255, 255, 255, .9); +} + +#bootstrap-theme.api4-explorer-page fieldset div.api4-input.ui-sortable-helper { + background-color: rgba(255, 255, 255, .9); +} + +#bootstrap-theme.api4-explorer-page div.api4-input.form-inline .form-control { + margin-right: 6px; +} + +#bootstrap-theme.api4-explorer-page div.api4-input.form-inline .form-control:not(.api4-option-selected) { + transition: none; + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; +} + +#bootstrap-theme.api4-explorer-page div.api4-input.form-inline .form-control label { + font-weight: normal; + position: relative; + top: -2px; +} + +#bootstrap-theme.api4-explorer-page .api4-where-fieldset fieldset { + float: right; + width: calc(100% - 58px); + margin-top: -8px; +} + +#bootstrap-theme.api4-explorer-page .api4-where-fieldset.api4-sorting fieldset .api4-where-group-sortable { + min-height: 3.5em; +} + +#bootstrap-theme.api4-explorer-page .api4-input-group { + display: inline-block; +} + +#bootstrap-theme.api4-explorer-page .api4-clause-badge { + width: 55px; + display: inline-block; + cursor: move; +} +#bootstrap-theme.api4-explorer-page .api4-clause-badge .badge { + opacity: .5; + position: relative; +} +#bootstrap-theme.api4-explorer-page .api4-clause-badge .caret { + margin: 0; +} +#bootstrap-theme.api4-explorer-page .api4-clause-badge .crm-i { + display: none; + padding: 0 6px; +} +#bootstrap-theme.api4-explorer-page .ui-sortable-helper .api4-clause-badge .badge span { + display: none; +} +#bootstrap-theme.api4-explorer-page .ui-sortable-helper .api4-clause-badge .crm-i { + display: inline-block; +} + +#bootstrap-theme.api4-explorer-page .api4-operator, +#bootstrap-theme.api4-explorer-page .api4-chain-index, +#bootstrap-theme.api4-explorer-page .api4-index, +#bootstrap-theme.api4-explorer-page .api4-chain-action { + width: 70px; +} +#bootstrap-theme.api4-explorer-page .api4-chain-params { + width: calc( 100% - 346px); +} + +#bootstrap-theme.api4-explorer-page .api4-add-where-group-menu { + min-width: 80px; + background-color: rgba(186, 225, 251, 0.94); +} +#bootstrap-theme.api4-explorer-page .api4-add-where-group-menu a { + padding: 5px 10px; +} + +/* Collapsible optgroups for select2 */ +div.select2-drop.collapsible-optgroups-enabled .select2-result-with-children:not(.optgroup-expanded) > .select2-result-sub > li.select2-result { + display: none; +} +div.select2-drop.collapsible-optgroups-enabled .select2-result-with-children > .select2-result-label:before { + font-family: FontAwesome; + content: "\f0da"; + display: inline-block; + padding-right: 3px; + vertical-align: middle; + font-weight: normal; +} +div.select2-drop.collapsible-optgroups-enabled .select2-result-with-children.optgroup-expanded > .select2-result-label:before { + content: "\f0d7"; +} + +/** + * Shims so the UI isn't completely broken when a Bootstrap theme is not installed + */ +#bootstrap-theme.api4-explorer-page * { + box-sizing: border-box; +} +.api4-explorer-page.panel { + border: 1px solid grey; + background-color: white; +} +.api4-explorer-page.panel-heading { + padding: 10px 20px; + color: #464354; + background-color: #f3f6f7; +} diff --git a/css/civicrm.css b/css/civicrm.css index 83b5ca35f0..61b77a72a3 100644 --- a/css/civicrm.css +++ b/css/civicrm.css @@ -3651,6 +3651,7 @@ span.crm-status-icon { } .crm-container.crm-public .select2-container .select2-choice { padding: 5px 5px 5px 8px; + height: 35px; } .crm-container.crm-public .select2-container-multi .select2-choices { padding: 4px; diff --git a/distmaker/dists/backdrop_php5.sh b/distmaker/dists/backdrop_php5.sh index 2987c9d27d..4288253c8f 100644 --- a/distmaker/dists/backdrop_php5.sh +++ b/distmaker/dists/backdrop_php5.sh @@ -23,7 +23,6 @@ dm_install_packages "$SRC/packages" "$TRG/packages" dm_install_vendor "$SRC/vendor" "$TRG/vendor" dm_install_bower "$SRC/bower_components" "$TRG/bower_components" dm_install_drupal "$SRC/backdrop" "$TRG/backdrop" -dm_install_cvext org.civicrm.api4 "$TRG/ext/api4" dm_install_cvext com.iatspayments.civicrm "$TRG/ext/iatspayments" # gen tarball diff --git a/distmaker/dists/drupal6_php5.sh b/distmaker/dists/drupal6_php5.sh index 7616d3f665..f3d4ba33a5 100755 --- a/distmaker/dists/drupal6_php5.sh +++ b/distmaker/dists/drupal6_php5.sh @@ -23,7 +23,6 @@ dm_install_packages "$SRC/packages" "$TRG/packages" dm_install_vendor "$SRC/vendor" "$TRG/vendor" dm_install_bower "$SRC/bower_components" "$TRG/bower_components" dm_install_drupal "$SRC/drupal" "$TRG/drupal" -dm_install_cvext org.civicrm.api4 "$TRG/ext/api4" dm_install_cvext com.iatspayments.civicrm "$TRG/ext/iatspayments" # gen tarball diff --git a/distmaker/dists/drupal7_dir_php5.sh b/distmaker/dists/drupal7_dir_php5.sh index b753330028..8d50524a32 100644 --- a/distmaker/dists/drupal7_dir_php5.sh +++ b/distmaker/dists/drupal7_dir_php5.sh @@ -30,7 +30,6 @@ dm_install_packages $DM_PACKAGESDIR "$TRG/packages" dm_install_vendor "$SRC/vendor" "$TRG/vendor" dm_install_bower "$SRC/bower_components" "$TRG/bower_components" dm_install_drupal "$DM_DRUPALDIR" "$TRG/drupal" -dm_install_cvext org.civicrm.api4 "$TRG/ext/api4" dm_install_cvext com.iatspayments.civicrm "$TRG/ext/iatspayments" # gen tarball diff --git a/distmaker/dists/drupal_php5.sh b/distmaker/dists/drupal_php5.sh index 62433e5485..f34db2803a 100755 --- a/distmaker/dists/drupal_php5.sh +++ b/distmaker/dists/drupal_php5.sh @@ -23,7 +23,6 @@ dm_install_packages "$SRC/packages" "$TRG/packages" dm_install_vendor "$SRC/vendor" "$TRG/vendor" dm_install_bower "$SRC/bower_components" "$TRG/bower_components" dm_install_drupal "$SRC/drupal" "$TRG/drupal" -dm_install_cvext org.civicrm.api4 "$TRG/ext/api4" dm_install_cvext com.iatspayments.civicrm "$TRG/ext/iatspayments" # gen tarball diff --git a/distmaker/dists/drupal_sk_php5.sh b/distmaker/dists/drupal_sk_php5.sh index 0056b00a6c..3fb36905fd 100755 --- a/distmaker/dists/drupal_sk_php5.sh +++ b/distmaker/dists/drupal_sk_php5.sh @@ -23,7 +23,6 @@ dm_install_packages "$SRC/packages" "$TRG/packages" dm_install_vendor "$SRC/vendor" "$TRG/vendor" dm_install_bower "$SRC/bower_components" "$TRG/bower_components" dm_install_drupal "$SRC/drupal" "$TRG/drupal" -dm_install_cvext org.civicrm.api4 "$TRG/ext/api4" dm_install_cvext com.iatspayments.civicrm "$TRG/ext/iatspayments" # delete packages that distributions on Drupal.org repalce if present diff --git a/distmaker/dists/joomla_php5.sh b/distmaker/dists/joomla_php5.sh index cfab023287..65b342cefa 100755 --- a/distmaker/dists/joomla_php5.sh +++ b/distmaker/dists/joomla_php5.sh @@ -22,7 +22,6 @@ dm_install_core "$SRC" "$TRG" dm_install_packages "$SRC/packages" "$TRG/packages" dm_install_vendor "$SRC/vendor" "$TRG/vendor" dm_install_bower "$SRC/bower_components" "$TRG/bower_components" -dm_install_cvext org.civicrm.api4 "$TRG/ext/api4" dm_install_cvext com.iatspayments.civicrm "$TRG/ext/iatspayments" ## WTF: It's so good we'll install it twice! diff --git a/distmaker/dists/wordpress_php5.sh b/distmaker/dists/wordpress_php5.sh index c588745bd9..ee0628e376 100644 --- a/distmaker/dists/wordpress_php5.sh +++ b/distmaker/dists/wordpress_php5.sh @@ -23,7 +23,6 @@ dm_install_packages "$SRC/packages" "$TRG/civicrm/civicrm/packages" dm_install_vendor "$SRC/vendor" "$TRG/civicrm/civicrm/vendor" dm_install_bower "$SRC/bower_components" "$TRG/civicrm/civicrm/bower_components" dm_install_wordpress "$SRC/WordPress" "$TRG/civicrm" -dm_install_cvext org.civicrm.api4 "$TRG/civicrm/civicrm/ext/api4" dm_install_cvext com.iatspayments.civicrm "$TRG/civicrm/civicrm/ext/iatspayments" # gen tarball diff --git a/extension-compatibility.json b/extension-compatibility.json index 4192e68e5a..60be476584 100644 --- a/extension-compatibility.json +++ b/extension-compatibility.json @@ -1,14 +1,26 @@ { + "org.civicrm.api4": { + "obsolete": "5.19", + "force-uninstall": true + }, "uk.squiffle.kam": { - "obsolete": "5.12" + "obsolete": "5.12", + "disable": true, + "uninstall": true }, "com.aghstrategies.slicknav": { - "obsolete": "5.12" + "obsolete": "5.12", + "disable": true, + "uninstall": true }, "de.systopia.recentitems": { - "obsolete": "5.12" + "obsolete": "5.12", + "disable": true, + "uninstall": true }, "com.ixiam.modules.quicksearch": { - "obsolete": "5.8" + "obsolete": "5.8", + "disable": true, + "uninstall": true } } diff --git a/js/crm.ajax.js b/js/crm.ajax.js index b64f33eec2..bfff407843 100644 --- a/js/crm.ajax.js +++ b/js/crm.ajax.js @@ -3,7 +3,7 @@ * @see https://wiki.civicrm.org/confluence/display/CRMDOC/AJAX+Interface * @see https://wiki.civicrm.org/confluence/display/CRMDOC/Ajax+Pages+and+Forms */ -(function($, CRM, undefined) { +(function($, CRM, _, undefined) { /** * @param string path * @param string|object query @@ -45,6 +45,47 @@ }); }; + // result is an array, but in js, an array is also an object + // Assign all the metadata properties to it, mirroring the results arrayObject in php + function arrayObject(data) { + var result = data.values || []; + if (_.isArray(result)) { + delete(data.values); + _.assign(result, data); + } + return result; + } + + CRM.api4 = function(entity, action, params, index) { + return new Promise(function(resolve, reject) { + if (typeof entity === 'string') { + $.post(CRM.url('civicrm/ajax/api4/' + entity + '/' + action), { + params: JSON.stringify(params), + index: index + }) + .done(function (data) { + resolve(arrayObject(data)); + }) + .fail(function (data) { + reject(data.responseJSON); + }); + } else { + $.post(CRM.url('civicrm/ajax/api4'), { + calls: JSON.stringify(entity) + }) + .done(function(data) { + _.each(data, function(item, key) { + data[key] = arrayObject(item); + }); + resolve(data); + }) + .fail(function (data) { + reject(data.responseJSON); + }); + } + }); + }; + /** * AJAX api * @link http://wiki.civicrm.org/confluence/display/CRMDOC/AJAX+Interface#AJAXInterface-CRM.api3 @@ -588,4 +629,4 @@ }); }); -}(jQuery, CRM)); +}(jQuery, CRM, _)); diff --git a/js/load-bootstrap.js b/js/load-bootstrap.js new file mode 100644 index 0000000000..e528805a18 --- /dev/null +++ b/js/load-bootstrap.js @@ -0,0 +1,7 @@ +// Loads a copy of shoreditch's bootstrap if bootstrap is missing +CRM.$(function($) { + if (!$.isFunction($.fn.dropdown)) { + //CRM.loadScript(CRM.vars.api4.basePath + 'lib/shoreditch/dropdown.js'); + //$('head').append(''); + } +}); diff --git a/karma.conf.js b/karma.conf.js index 2915dc7814..1710c33fdc 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -21,6 +21,7 @@ module.exports = function(config) { autoWatch: true, browsers: ['PhantomJS'], exclude: [ + 'ang/api4Explorer/Explorer.js' ], files: [ 'bower_components/phantomjs-polyfill/bind-polyfill.js', diff --git a/release-notes.md b/release-notes.md index 8a49819b29..af0935c788 100644 --- a/release-notes.md +++ b/release-notes.md @@ -15,6 +15,45 @@ Other resources for identifying changes are: * https://github.com/civicrm/civicrm-joomla * https://github.com/civicrm/civicrm-wordpress +## CiviCRM 5.18.2 + +Released October 9, 2019 + +- **[Synopsis](release-notes/5.18.2.md#synopsis)** +- **[Bugs resolved](release-notes/5.18.2.md#bugs)** +- **[Credits](release-notes/5.18.2.md#credits)** +- **[Feedback](release-notes/5.18.2.md#feedback)** + + +## CiviCRM 5.18.1 + +Released October 5, 2019 + +- **[Synopsis](release-notes/5.18.1.md#synopsis)** +- **[Bugs resolved](release-notes/5.18.1.md#bugs)** +- **[Credits](release-notes/5.18.1.md#credits)** +- **[Feedback](release-notes/5.18.1.md#feedback)** + +# CiviCRM 5.18.0 + +Released October 2, 2019 + +- **[Synopsis](release-notes/5.18.0.md#synopsis)** +- **[Features](release-notes/5.18.0.md#features)** +- **[Bugs resolved](release-notes/5.18.0.md#bugs)** +- **[Miscellany](release-notes/5.18.0.md#misc)** +- **[Credits](release-notes/5.18.0.md#credits)** +- **[Feedback](release-notes/5.18.0.md#feedback)** + +## CiviCRM 5.17.5 + +Released September 26, 2019 + +- **[Synopsis](release-notes/5.17.5.md#synopsis)** +- **[Bugs resolved](release-notes/5.17.5.md#bugs)** +- **[Credits](release-notes/5.17.5.md#credits)** +- **[Feedback](release-notes/5.17.5.md#feedback)** + ## CiviCRM 5.17.4 Released September 12, 2019 diff --git a/release-notes/5.17.5.md b/release-notes/5.17.5.md new file mode 100644 index 0000000000..f497715686 --- /dev/null +++ b/release-notes/5.17.5.md @@ -0,0 +1,38 @@ +# CiviCRM 5.17.5 + +Released September 26, 2019 + +- **[Synopsis](#synopsis)** +- **[Bugs resolved](#bugs)** +- **[Credits](#credits)** +- **[Feedback](#feedback)** + +## Synopsis + +| *Does this version...?* | | +|:--------------------------------------------------------------- |:-------:| +| Fix security vulnerabilities? | no | +| Change the database schema? | no | +| Alter the API? | no | +| Require attention to configuration options? | no | +| Fix problems installing or upgrading to a previous version? | no | +| Introduce features? | no | +| **Fix bugs?** | **yes** | + +## Bugs resolved + +* **_CiviMember_: Duplicate line-items when creating a recurring membership via backend ([dev/membership#16](https://lab.civicrm.org/dev/membership/issues/16): [#15334](https://github.com/civicrm/civicrm-core/pull/15334))** +* **_APIv4_: Prevent potential issues when upgrading to 5.19.x ([11e390](https://github.com/civicrm/org.civicrm.api4/commit/11e3907e362846fb999bc115d98c92bcda96859d), [0b1115](https://github.com/civicrm/org.civicrm.api4/commit/0b1115d700b96e728fd9eff4840f291836705950))** + +## Credits + +This release was developed by the following authors and reviewers: + +Australian Greens - Seamus Lee; CiviCRM - Coleman Watts; MJW Consulting - +Matthew Wire; Megaphone Technology Consulting - Jon Goldberg + +## Feedback + +These release notes are edited by Tim Otten and Andrew Hunt. If you'd like to +provide feedback on them, please login to https://chat.civicrm.org/civicrm and +contact `@agh1`. diff --git a/release-notes/5.18.0.md b/release-notes/5.18.0.md new file mode 100644 index 0000000000..35178222dd --- /dev/null +++ b/release-notes/5.18.0.md @@ -0,0 +1,876 @@ +# CiviCRM 5.18.0 + +Released October 2, 2019 + +- **[Synopsis](#synopsis)** +- **[Features](#features)** +- **[Bugs resolved](#bugs)** +- **[Miscellany](#misc)** +- **[Credits](#credits)** +- **[Feedback](#feedback)** + +## Synopsis + +| *Does this version...?* | | +|:--------------------------------------------------------------- |:-------:| +| Fix security vulnerabilities? | no | +| **Change the database schema?** | **yes** | +| **Alter the API?** | **yes** | +| Require attention to configuration options? | no | +| **Fix problems installing or upgrading to a previous version?** | **yes** | +| **Introduce features?** | **yes** | +| **Fix bugs?** | **yes** | + +## Features + +### Core CiviCRM + +- **Enable view/revert delete action for detail logging + ([15045](https://github.com/civicrm/civicrm-core/pull/15045))** + + If detailed logging is enabled, you can now view and revert deleted + information. + +- **Download Bower dependencies using Composer + ([dev/drupal#8](https://lab.civicrm.org/dev/drupal/issues/8): + [15044](https://github.com/civicrm/civicrm-core/pull/15044))** + + This improves performance and caching by downloading Javascript libraries + using Composer with `composer-downloads-plugin` and specified zip files rather + than Bower. + +- **Add `hook_civicrm_pre` and `hook_civicrm_post` to Domain create and edit + operations ([dev/core#1203](https://lab.civicrm.org/dev/core/issues/1203): + [15104](https://github.com/civicrm/civicrm-core/pull/15104))** + + Makes it so one can detect when a new Domain has been created or when a Domain + has been edited with the usual `hook_civicrm_pre` and `hook_civicrm_post` + callbacks. + +- **Api support for deduping + (Work Towards [dev/core#1230](https://lab.civicrm.org/dev/core/issues/1230): + [15196](https://github.com/civicrm/civicrm-core/pull/15196), + [15188](https://github.com/civicrm/civicrm-core/pull/15188), + [15187](https://github.com/civicrm/civicrm-core/pull/15187), + [15227](https://github.com/civicrm/civicrm-core/pull/15227) and + [15154](https://github.com/civicrm/civicrm-core/pull/15154))** + + Work toward improving the new API support for deduping including: not + geocoding when merging for performance reasons, giving contacts with 'merge + duplicate contacts' permission to get dedupe rules, ensuring the API call + Dedupe.getstatistics requires "Access CiviCRM" and adds a check for 'force + merge duplicate contacts' if mode is aggressive. + +- **Add cid parameter in custom group form url & set it for Activity form + ([dev/core#752](https://lab.civicrm.org/dev/core/issues/752): + [15012](https://github.com/civicrm/civicrm-core/pull/15012))** + + Adds a contact id parameter (cid=) when loading custom data via back end forms + so that hooks can modify behavior based on the `contact_id` being viewed. + +- **Make report listing actions links hookable + ([dev/core#1077](https://lab.civicrm.org/dev/core/issues/1077): + [15074](https://github.com/civicrm/civicrm-core/pull/15074))** + + The actions list on the report listing screen can now be altered by developers + using `hook_civicrm_links`. + +- **Fixes inconsistency between constituency summary and constituency detail + ([15222](https://github.com/civicrm/civicrm-core/pull/15222))** + + This improves the consistency of how the "Print Report" action link functions + on the reports listing. Before this change, some "Print Report" links would + take the user to the report in print view, and some would trigger a print + pop-up. + +- **Add index to civicrm_contact.created_date & modified_date + ([15203](https://github.com/civicrm/civicrm-core/pull/15203))** + + This adds an index to the `created_date` and `modified_date` columns in the + `civicrm_contact` table. + +- **Added field title for Cache table + ([15204](https://github.com/civicrm/civicrm-core/pull/15204))** + + The Data Access Object for the `civicrm_cache` table now stores titles for + each field. + +- **Allow Manual Geo Code flag to be exported + ([14998](https://github.com/civicrm/civicrm-core/pull/14998))** + + The field denoting that an address has been manually geocoded can now be + exported. + +- **Use merge duplicate contacts as api permission for merging + ([15155](https://github.com/civicrm/civicrm-core/pull/15155))** + + Changes the API call `Contact.merge` to require 'merge duplicate contacts' + instead of 'Administer CiviCRM'. + +- **Adjust permissions on dedupe exception api to 'merge duplicate contacts' + ([15157](https://github.com/civicrm/civicrm-core/pull/15157))** + + The API for managing dedupe exceptions now requires the permission "merge + duplicate contacts" instead of "Administer CiviCRM". + +- **Open up permissions on Dedupe.getduplicates + ([15152](https://github.com/civicrm/civicrm-core/pull/15152))** + + Less restrictive permissions on the `Dedupe.getduplicates` API (currently only + used from unit tests) specifically moves from requiring the permission + "Administer CiviCRM" to "Access CiviCRM". + +- **Fix inconsistencies in duplicate retrieval + ([15160](https://github.com/civicrm/civicrm-core/pull/15160))** + + Ensures the API call `Dedupe.getduplicates` respects both 'limit' and + 'search_limit' parameters. + +- **Error log improvements: Provide priority level + ([14995](https://github.com/civicrm/civicrm-core/pull/14995))** + + Improves error logging by adding the ability to pass a priority level argument + to `CRM_Core_Error::debug_var()`. + +- **Improve deadlock error handling + ([258](https://github.com/civicrm/civicrm-packages/pull/258))** + + Improves deadlock error handling by capturing the error when the deadlock is + first hit so the backtrace is retained. + +- **Better error handling in CRM_Utils_JS::decode + ([15145](https://github.com/civicrm/civicrm-core/pull/15145))** + + Improves handling of malformed Javascript so as to reduce PHP notices. + +- **Replace some calls to CRM_Core_Error::fatal with exceptions + ([15156](https://github.com/civicrm/civicrm-core/pull/15156))** + + Instead of exiting with a fatal error, certain dedupe error situations now + throw an exception. + +### CiviEvent + +- **Creating an event clears the cache + ([dev/event#14](https://lab.civicrm.org/dev/event/issues/14): + [15140](https://github.com/civicrm/civicrm-core/pull/15140))** + + This change improves performance by not clearing caches every time an event is + created. + +### CiviMembership + +- **Convert jcalendar date fields to date picker for membership fields to + support date picker conversion + ([15177](https://github.com/civicrm/civicrm-core/pull/15177), + [15186](https://github.com/civicrm/civicrm-core/pull/15186), + [15198](https://github.com/civicrm/civicrm-core/pull/15198) and + [15200](https://github.com/civicrm/civicrm-core/pull/15200))** + + Date fields on membership search screens now use datepicker rather than + jCalendar. + + The `join_date` column on the `civicrm_membership` table is now keyed as + `membership_join_date` within the DAO in order to support the change to date + picker format for Membership date fields. + +- **Add default domain to membershiptype API + ([15120](https://github.com/civicrm/civicrm-core/pull/15120))** + + The domain ID now defaults to the current domain when using the membership + type API. + +- **Fix readability & caching on + CRM_Contact_BAO_Relationship::isInheritedMembershipInvalidated + ([15061](https://github.com/civicrm/civicrm-core/pull/15061))** + + Improves caching and performance when calculating inherited memberships. + +### CiviPledge + +- **Update Pledge XML to support date picker conversion + ([15180](https://github.com/civicrm/civicrm-core/pull/15180))** + + Updates the XML and associated files to support the change to date picker + format for Pledge date fields. + +### Backdrop Integration + +- **Fail more gracefully when upgrading on PHP5.x + ([98](https://github.com/civicrm/civicrm-backdrop/pull/98))** + + Provides a clearer error when someone tries to upgrade with PHP 5.x. + +### Drupal Integration + +- **Automatically tag the drupal-8 repository + (Work Towards [dev/release#9](https://lab.civicrm.org/dev/release/issues/9): + [15149](https://github.com/civicrm/civicrm-core/pull/15149))** + + Continues work to automatically tag a Drupal8 version when new CiviCRM + versions are released as is done for other CMS's. + +- **Error when upgrading to 5.16.0 + ([dev/drupal#79](https://lab.civicrm.org/dev/drupal/issues/79): + [583](https://github.com/civicrm/civicrm-drupal/pull/583))** + + Provides a clearer error when someone tries to upgrade with PHP 5.x. + +## Bugs resolved + +### Core CiviCRM + +- **Warnings on importing contacts - PHP 7.2 + (Work Towards [dev/core#772](https://lab.civicrm.org/dev/core/issues/772): + [262](https://github.com/civicrm/civicrm-packages/pull/262))** + + This fixes a PHP warning on PHP 7.2 using hierarchical select fields, such as + selecting the matching fields for import columns. Some fields have no fields + nested below them, and those would trigger an error on the `count()` function. + +- **Warnings on CRM_Contribute_Import_Parser re countable + ([dev/core#1001](https://lab.civicrm.org/dev/core/issues/1001): + [14989](https://github.com/civicrm/civicrm-core/pull/14989))** + + Fixes a few PHP 7.2 count warnings when importing. + +- **Changing the label for the Inbound Email activity type lets you edit/delete + them even if the permission disallows + ([dev/core#1123](https://lab.civicrm.org/dev/core/issues/1123): + [15240](https://github.com/civicrm/civicrm-core/pull/15240) and + [15147](https://github.com/civicrm/civicrm-core/pull/15147))** + +- **Regression: Can't use CiviCRM menu on 5.16.0 + ([dev/core#1182](https://lab.civicrm.org/dev/core/issues/1182): + [15020](https://github.com/civicrm/civicrm-core/pull/15020) and + [15019](https://github.com/civicrm/civicrm-core/pull/15019))** + + Fixes a bug in CiviCRM 5.16.0 where a race condition was causing the CiviCRM + Admin Menu to break. + +- **csv import only import one phone number + ([dev/core#1187](https://lab.civicrm.org/dev/core/issues/1187): + [15190](https://github.com/civicrm/civicrm-core/pull/15190))** + + Fixes a bug whereby one phone number is not imported if 2 of the same location + type but different phone types are in an import. + +- **Fix Psalm issue Class or interface CiviCRM_API3_Exception does not exist + ([dev/core#1188](https://lab.civicrm.org/dev/core/issues/1188): + [15043](https://github.com/civicrm/civicrm-core/pull/15043))** + + Ensures that the Psalm Autoloader can find `CiviCRM_API3_Exception`. + +- **File attachment uploads - pptx issue + ([dev/core#1190](https://lab.civicrm.org/dev/core/issues/1190): + [15239](https://github.com/civicrm/civicrm-core/pull/15239))** + + Fixes the upgrade function for adding ".pptx" to the list of safe file types. + +- **ENOTICE when creating activity from contact search results / aka Repeat + Activity accordion section missing when using Add Activity from contact search + results ([dev/core#1192](https://lab.civicrm.org/dev/core/issues/1192): + [15079](https://github.com/civicrm/civicrm-core/pull/15079))** + + Fixes a PHP notice when using the "Add Activity" action from the contact + search results list. + +- **CiviCRM Dashboard does not respect multiple domains + ([dev/core#1200](https://lab.civicrm.org/dev/core/issues/1200): + [15099](https://github.com/civicrm/civicrm-core/pull/15099))** + + For sites with multisite enabled ensures that the CiviCRM Dashboard respects + multiple domains and shows unique dashlets depending on what domain you are + using. + +- **Contact subtype is removed after being cached incorrectly + ([dev/core#1222](https://lab.civicrm.org/dev/core/issues/1222): + [15171](https://github.com/civicrm/civicrm-core/pull/15171))** + + Ensures the static cache is cleared whenever updating or deleting a DAO + object. + +- **Regression: Searching on Email broken in advanced search + ([dev/core#1244](https://lab.civicrm.org/dev/core/issues/1244): + [15255](https://github.com/civicrm/civicrm-core/pull/15255))** + + This fixes a problem where attempting to search on email on the Advanced + search form resulted in a warning and no results. + +- **Trim form values when adding LIKE operator + ([15275](https://github.com/civicrm/civicrm-core/pull/15275))** + + Fixes a 5.17 regression whereby the email string is no longer being trimmed + when searching. + +- **Ensure filtering on email via the api looks for an exact match + ([15276](https://github.com/civicrm/civicrm-core/pull/15276))** + + Fixes a released regression whereby a wildcard was being added to API + Contact.get requests with the email parameter. + +- **Fix fatal when saving import mapping with a relationship but 'Primary' + location type ([15115](https://github.com/civicrm/civicrm-core/pull/15115))** + + When an import column was mapped to a field with the "Primary" location type + that was on a related contact, it would result in a fatal error. + +- **Fix export header for 'Contact ID' + ([15118](https://github.com/civicrm/civicrm-core/pull/15118))** + + This ensures when exporting a contact id column the header is "Contact ID" not + "contact_id". + +- **Changed ClassName for ACL cache + ([15193](https://github.com/civicrm/civicrm-core/pull/15193))** + + Ensures `civicrm_acl_cache` and `civicrm_cache` use different entity names. + +- **Set contact communication_style_id as importable + ([15205](https://github.com/civicrm/civicrm-core/pull/15205))** + + Ensures the "Contact Communication Style" is visible in profile view mode. + +- **Incorporate searchLimit in dedupe cacheKey + ([15185](https://github.com/civicrm/civicrm-core/pull/15185))** + + When you change the search limit after a duplicate search has been performed, + this ensures that a new search is run. + +- **Allow for the deselection of sorting filters + ([15029](https://github.com/civicrm/civicrm-core/pull/15029))** + + Fixes a bug where removing sorting filters on reports and refreshing the + results would nevertheless retain the sorting filters. + +- **CRM_Utils_Array::crmInArray() should recurse properly + ([dev/core#1196](https://lab.civicrm.org/dev/core/issues/1196): + [15092](https://github.com/civicrm/civicrm-core/pull/15092))** + +- **Add ts() to deceased string + ([15211](https://github.com/civicrm/civicrm-core/pull/15211))** + + The word "deceased" when appended to a contact's name is now translatable. + +- **Fatal Error in "Search Builder" if "Household" Contact type is disabled. + ([dev/core#1246](https://lab.civicrm.org/dev/core/issues/1246): + [15289](https://github.com/civicrm/civicrm-core/pull/15289))** + +- **Do not show Activity Separation on when viewing an Activity + ([15046](https://github.com/civicrm/civicrm-core/pull/15046))** + + The option to create separate activities for each contact, only applicable + when creating a new activity, would erroneously appear when viewing an + activity. + +- **Activity profile on Update multiple activities action displays duplicate + assignees ([dev/core#1185](https://lab.civicrm.org/dev/core/issues/1185): + [15035](https://github.com/civicrm/civicrm-core/pull/15035))** + + The list of assignees would display all of the assignees for each previous row + in addition to the assignee(s) for that activity. + +- **Ensure that civicrm_dashboard has a foreign key to civicrm_domain + ([15119](https://github.com/civicrm/civicrm-core/pull/15119))** + +- **Manage Group search message fix + ([15052](https://github.com/civicrm/civicrm-core/pull/15052))** + + When no the group listing is filtered and no groups match the criteria, the + message says that more clearly rather than stating there are no groups on the + site. + +### CiviCampaign + +- **Actions in campaign dashboard not working with pop-up disabled + ([dev/core#1233](https://lab.civicrm.org/dev/core/issues/1233): + [15233](https://github.com/civicrm/civicrm-core/pull/15233))** + + Ensures users with pop ups deactivated can edit and delete campaigns. + +### CiviCase + +- **Proposal to fix longstanding name vs label problems for case roles (Work + Towards [dev/core#1046](https://lab.civicrm.org/dev/core/issues/1046): + [15192](https://github.com/civicrm/civicrm-core/pull/15192) and + [15182](https://github.com/civicrm/civicrm-core/pull/15182))** + + These changes work towards fixing the label being used as the name in some + places in CiviCase by allowing for an override tag in the xml to specify the + actual "name". + +- **Changing a civicase activity's label breaks the max_instances check + (Work Towards [dev/core#1116](https://lab.civicrm.org/dev/core/issues/1116): + [14999](https://github.com/civicrm/civicrm-core/pull/14999), + [15002](https://github.com/civicrm/civicrm-core/pull/15002), + [15000](https://github.com/civicrm/civicrm-core/pull/15000) and + [15032](https://github.com/civicrm/civicrm-core/pull/15032))** + + Refactors and cleans up code in preparation for fixing a bug where CiviCase + activity's label breaks the max_instances check. + +- **Fix search for case tags that are part of tag sets + ([15212](https://github.com/civicrm/civicrm-core/pull/15212))** + + Fixes a DB Error when searching for tags that are a part of a tag set. + +- **Switch to relationship BAO when modifying relationships in change case + status so we don't bypass hooks + ([15030](https://github.com/civicrm/civicrm-core/pull/15030))** + +- **Word Replacements not working on manage case Roles + ([dev/core#1218](https://lab.civicrm.org/dev/core/issues/1218): + [15161](https://github.com/civicrm/civicrm-core/pull/15161))** + +### CiviContribute + +- **Renaming a price option / fee level breaks event participant lists + ([CRM-17182](https://issues.civicrm.org/jira/browse/CRM-17182): + [15064](https://github.com/civicrm/civicrm-core/pull/15064) and + [15350](https://github.com/civicrm/civicrm-core/pull/15350))** + + Fixes a bug where the `fee_amount` was being changed whenever a label was + changed and moves from searching based on regex on the `fee_amount` column to + searching based on the `price_field_value` id. + +- **Add pre/post hooks for price set / field/option + ([dev/core#870](https://lab.civicrm.org/dev/core/issues/870): + [15076](https://github.com/civicrm/civicrm-core/pull/15076))** + + The `hook_civicrm_pre` and `hook_civicrm_post` hooks get invoked when adding + price sets, fields, and options. + +- **Event/Contribution amounts are duplicated when the form is saved + ([dev/core#1240](https://lab.civicrm.org/dev/core/issues/1240): + [15245](https://github.com/civicrm/civicrm-core/pull/15245))** + + Fixes a bug where saving the "amounts" tab of either an event or contribution + page (when using that form to enter options, rather than a price set) results in the + duplication of the amount options listed. + +- **Fix PayPalImpl Contribution Status PseudoConstant for non-English + ([15164](https://github.com/civicrm/civicrm-core/pull/15164))** + + Ensures contribution statuses are set correctly for sites using PayPal Express + and a language other than English by switching to using the name property + instead of the label. + +- **Fix an HTML error in Calculate.tpl + ([15102](https://github.com/civicrm/civicrm-core/pull/15102))** + + This resolves a `` that was not closed correctly on the calculation of a + price set's total amount due. + +- **Use api to create activity and removed hardcoded status id + ([14621](https://github.com/civicrm/civicrm-core/pull/14621))** + + When exporting an accounting batch, the activity that is created is now done + so using the API, and it uses the status name `Completed` rather than a + hard-coded status ID `2`. + +- **Fix wrong variable in check for profiles on contributionpage + ([15093](https://github.com/civicrm/civicrm-core/pull/15093))** + + Ensures the correct variable is being checked for pre profile types when + configuring a Contribution Page. + +- **Batch payment page breaks when an exported activity has no file to download + ([dev/financial#58](https://lab.civicrm.org/dev/financial/issues/58): + [14367](https://github.com/civicrm/civicrm-core/pull/14367))** + +- **Stop adding a refund payment from creating extraneous financial items + ([15143](https://github.com/civicrm/civicrm-core/pull/15143))** + +### CiviEvent + +- **Most recent contact note exposed in event confirmation emails + ([dev/event#10](https://lab.civicrm.org/dev/event/issues/10): + [15060](https://github.com/civicrm/civicrm-core/pull/15060))** + + Fixes a bug where when submitting an event registration which contains a + profile which contains a note field. If the note was left blank, then the + confirmation/notification emails would contain the most recent note in the + contact's record, potentially exposing confidential information. + +- **Custom field values for a new Event based on an Event Template are not + checked causing false validation message and Event not to + save ([dev/core#1241](https://lab.civicrm.org/dev/core/issues/1241): + [15296](https://github.com/civicrm/civicrm-core/pull/15296))** + +- **Confirmation emails include flawed subtitle for post-profiles + ([dev/event#15](https://lab.civicrm.org/dev/event/issues/15): [#15380](https://github.com/civicrm/civicrm-core/pull/15380))** + + Fixes a regression from 5.17.0 when sending a confirmation email. + The confirmation email includes subsections to summarize any + post-profile data, but the title was miscomputed. This manifested + as either a page crash or an inaccurate title. + +### CiviGrant + +- **Grant in Edit mode doesn't show the associated contact + ([dev/core#1065](https://lab.civicrm.org/dev/core/issues/1065): + [15238](https://github.com/civicrm/civicrm-core/pull/15238) and + [15209](https://github.com/civicrm/civicrm-core/pull/15209))** + + Ensures that the associated contact field is shown when editing a grant. + +- **Fixes for taking dynamic form name in grant search + ([15075](https://github.com/civicrm/civicrm-core/pull/15075))** + + This removes the hard-coded form name when retrieving the search results in + preparation for a search action. + +### CiviMail + +- **SMTP help text is misleading - references the wrong admin screen + ([dev/core#879](https://lab.civicrm.org/dev/core/issues/879): + [15165](https://github.com/civicrm/civicrm-core/pull/15165))** + + Fixes up the help text displayed when testing the SMTP configuration fails. + +- **Remove template field if using Mosaico in non shoreditch mode + ([14927](https://github.com/civicrm/civicrm-core/pull/14927))** + +### CiviMember + +- **Fix metadata on member export + ([14916](https://github.com/civicrm/civicrm-core/pull/14916))** + + Ensures when exporting memberships headings are set appropriately for the + following columns: `member_is_override`, `membership_recur_id` and + `max_related`. + +- **Incorrect line item created for back-end membership sign-up using price set + and CiviDiscount ([dev/core#860](https://lab.civicrm.org/dev/core/issues/860): + [15004](https://github.com/civicrm/civicrm-core/pull/15004))** + +- **[regression] Recurring contributions no longer properly update memberships + (on PayPal Pro, maybe others) + ([dev/membership#13](https://lab.civicrm.org/dev/membership/issues/13): + [15053](https://github.com/civicrm/civicrm-core/pull/15053))** + +- **Make sure inherited memberships are not themselves inherited + ([15114](https://github.com/civicrm/civicrm-core/pull/15114))** + + This prevents contacts from inheriting memberships that were inherited from + them. + +- **{Membership.Fee} appears on Membership Renewal Reminder emails with 9 + decimal places ([dev/core#377](https://lab.civicrm.org/dev/core/issues/377): + [14992](https://github.com/civicrm/civicrm-core/pull/14992))** + +### Drupal Integration + +- **Drupal8: getUrlPath: avoid relying on the deprecated 'q' variable + (Work Towards [dev/drupal#52](https://lab.civicrm.org/dev/drupal/issues/52): + [15268](https://github.com/civicrm/civicrm-core/pull/15268))** + + In Drupal8, the 'q' variable has been deprecated which has resulted in CiviCRM + throwing a bunch of PHP notices. This PR silences those notices while a more + long term fix is developed. + +### Joomla Integration + +- **Some error messages render a chunk of markup as plain text + ([dev/joomla#10](https://lab.civicrm.org/dev/joomla/issues/10): + [15159](https://github.com/civicrm/civicrm-core/pull/15159))** + + Removes Joomla-specific error display and use native CiviCRM display to avoid + some error messages rendering as plain text. + +- **PHP 7.2 countable warning after installation + ([dev/joomla#15](https://lab.civicrm.org/dev/joomla/issues/15): + [53](https://github.com/civicrm/civicrm-joomla/pull/53))** + +- **[Joomla 4.0] CiviCRM's CSS interferes with Joomla's top header background + colour ([dev/joomla#24](https://lab.civicrm.org/dev/joomla/issues/24): + [15137](https://github.com/civicrm/civicrm-core/pull/15137))** + +## Miscellany + +- **Swap CRM_Utils_Array::value for empty() in conditionals + ([15005](https://github.com/civicrm/civicrm-core/pull/15005))** + +- **Possible timing issue with test phpunit/api/v3/AttachmentTest::testCreate + ([dev/core#938](https://lab.civicrm.org/dev/core/issues/938): + [15216](https://github.com/civicrm/civicrm-core/pull/15216))** + +- **Change connection and results charsets to utf8mb4 on MySQL 5.5.3+ + ([241](https://github.com/civicrm/civicrm-packages/pull/241))** + +- **Fix upgrade version for #13487 + ([15031](https://github.com/civicrm/civicrm-core/pull/15031))** + +- **Update select2 to latest 3.x + patches + ([15054](https://github.com/civicrm/civicrm-core/pull/15054))** + +- **Further work on payment.create consolidation - always handle financials from + payment.create ([14673](https://github.com/civicrm/civicrm-core/pull/14673))** + +- **Extract function to create email activity when sending an email to contact + ([15133](https://github.com/civicrm/civicrm-core/pull/15133))** + +- **Extract cancelParticipant and cancelMembership functions in baseIPN + ([15134](https://github.com/civicrm/civicrm-core/pull/15134))** + +- **Rewrite subTypeInfo to use caching mechanism + ([14715](https://github.com/civicrm/civicrm-core/pull/14715))** + +- **providing clear indication that civicrm_engage module is deprecated. + ([582](https://github.com/civicrm/civicrm-drupal/pull/582))** + +- **distmaker - Finish migrating bower.json => composer.json + ([15148](https://github.com/civicrm/civicrm-core/pull/15148))** + +- **Switch recordAdditionalPayment fully over to api + ([14408](https://github.com/civicrm/civicrm-core/pull/14408))** + +- **Add note about testRenewMembership failing on certain days + ([15167](https://github.com/civicrm/civicrm-core/pull/15167))** + +- **Someimes ya just gotta say enough already + ([15175](https://github.com/civicrm/civicrm-core/pull/15175))** + +- **Extend loadSavedMapping to check defaults + ([15179](https://github.com/civicrm/civicrm-core/pull/15179))** + +- **Initial refactor of BaseIPN + ([15129](https://github.com/civicrm/civicrm-core/pull/15129))** + +- **Convert pledge date fields to use datepicker rather than jcalendar + ([15170](https://github.com/civicrm/civicrm-core/pull/15170))** + +- **Use metadata for pledgeDateRange fields + ([15191](https://github.com/civicrm/civicrm-core/pull/15191))** + +- **Add minimal test for testExportFinancialBatch + ([15136](https://github.com/civicrm/civicrm-core/pull/15136))** + +- **Code cleanup in CRM_Core_Permission::check + ([15141](https://github.com/civicrm/civicrm-core/pull/15141))** + +- **Event confirm - (very) minor cleanup + test + ([15010](https://github.com/civicrm/civicrm-core/pull/15010))** + +- **Stabalize Attachment API Test + ([15066](https://github.com/civicrm/civicrm-core/pull/15066))** + +- **Remove ?last? instances of ->free() + ([dev/core#562](https://lab.civicrm.org/dev/core/issues/562): + [14990](https://github.com/civicrm/civicrm-core/pull/14990))** + +- **Add myself to the contributor list + ([15036](https://github.com/civicrm/civicrm-core/pull/15036))** + +- **Remove silly dumb unreachable lines + ([15033](https://github.com/civicrm/civicrm-core/pull/15033))** + +- **Deprecate CRM_Core_Config::addressSequence() + ([15126](https://github.com/civicrm/civicrm-core/pull/15126))** + +- **Deprecate CRM_Core_Config::defaultContactCountry and + defaultContactCountryName + ([15127](https://github.com/civicrm/civicrm-core/pull/15127))** + +- **Use metadata for dataPatterns + ([15224](https://github.com/civicrm/civicrm-core/pull/15224))** + +- **SyntaxConformanceTest::testSqlOperators - Skip "Dedupe" entity on MySQL 5.5 + ([15234](https://github.com/civicrm/civicrm-core/pull/15234))** + +- **Add in 5.17.1 Release notes and migrate .tpl file for 5.17.1 to 5.18 to + support upgrade + ([15253](https://github.com/civicrm/civicrm-core/pull/15253))** + +- **(NFC) Add comments to relate to gitlab ticket + ([dev/core#927](https://lab.civicrm.org/dev/core/issues/927): + [15128](https://github.com/civicrm/civicrm-core/pull/15128))** + +- **Remove unused method CRM_Contact_BAO_Contact_Utils::maxLocations + ([15091](https://github.com/civicrm/civicrm-core/pull/15091))** + +- **Remove unused Selenium binaries + ([263](https://github.com/civicrm/civicrm-packages/pull/263))** + +- **Remove a few unused scripts from tools/bin/scripts + ([15078](https://github.com/civicrm/civicrm-core/pull/15078))** + +- **Remove deprecated unused function. + ([15070](https://github.com/civicrm/civicrm-core/pull/15070))** + +- **Remove unused skipRedirect param + ([15125](https://github.com/civicrm/civicrm-core/pull/15125))** + +- **[clean up][ export] Remove membership_auto_renew from defaultReturn + properties ([14980](https://github.com/civicrm/civicrm-core/pull/14980))** + +- **[Ref] [Import] Use processor to determine website type, location type, test + ([15116](https://github.com/civicrm/civicrm-core/pull/15116))** + +- **[Import] [ref] - minor cleanup to reduce code complexity + ([15097](https://github.com/civicrm/civicrm-core/pull/15097))** + +- **[ref] [ import] Extend tests & simpler retrieval to relationship_type_id + ([15130](https://github.com/civicrm/civicrm-core/pull/15130))** + +- **[REF] Import - minor cleanup - generate js on the processor class + ([15183](https://github.com/civicrm/civicrm-core/pull/15183))** + +- **[Import] Minor cleanup on membership import + ([15013](https://github.com/civicrm/civicrm-core/pull/15013))** + +- **[Import][ref] Minor code improvement - move setDefaults to processor + ([15189](https://github.com/civicrm/civicrm-core/pull/15189))** + +- **[Ref] [Import] more code cleanup + ([15219](https://github.com/civicrm/civicrm-core/pull/15219))** + +- **[Ref] [Import] Final round in the cleanup Load Mapping form epic + ([15226](https://github.com/civicrm/civicrm-core/pull/15226))** + +- **[Import] [REF] code cleanup & test on the code to 'guess the intended + field from the column name' + ([15220](https://github.com/civicrm/civicrm-core/pull/15220))** + +- **[REF] [Import] Minor cleanup on status setting. + ([15015](https://github.com/civicrm/civicrm-core/pull/15015))** + +- **[REF] [Import] extract saved mapping code to parent class + ([15017](https://github.com/civicrm/civicrm-core/pull/15017))** + +- **[Import] [Cleanup] remove unused parameters + ([14981](https://github.com/civicrm/civicrm-core/pull/14981))** + +- **[Ref] [Import] move metadata calculations to a trait + ([15018](https://github.com/civicrm/civicrm-core/pull/15018))** + +- **[Test] [Ref] [Import]Add wrapper class for importProcessor + ([15028](https://github.com/civicrm/civicrm-core/pull/15028))** + +- **Refactor CRM_Contact_BAO_Relationship::add to autoload missing params from + existing record ([15103](https://github.com/civicrm/civicrm-core/pull/15103) + and [15123](https://github.com/civicrm/civicrm-core/pull/15123))** + +- **[Ref] Extract addInheritedMembership + ([15113](https://github.com/civicrm/civicrm-core/pull/15113))** + +- **[REF] minor code refactor on import - Pass ProcessorObject into + loadSavedMapping & use it to load the formName + ([15068](https://github.com/civicrm/civicrm-core/pull/15068))** + +- **Minor refactor of 'Pending' parameter for processMembership + ([15124](https://github.com/civicrm/civicrm-core/pull/15124))** + +- **[REF] Very minor code cleanup on import code with good test cover + ([15173](https://github.com/civicrm/civicrm-core/pull/15173))** + +- **[REF] Move clone template functionality from api to bao + ([15163](https://github.com/civicrm/civicrm-core/pull/15163))** + +- **[REF] Extract chunk of code relating to whether to disabled an inherited + relationship ([14955](https://github.com/civicrm/civicrm-core/pull/14955))** + +- **[REF] Move calculation of js for import fields WITH relationship keys to + processor. ([15218](https://github.com/civicrm/civicrm-core/pull/15218))** + +- **[Datepicker][REF] Convert mailing date field on mailing search screen… + ([15181](https://github.com/civicrm/civicrm-core/pull/15181))** + +- **[Ref] Import use process for relationship defaults, add test + ([15215](https://github.com/civicrm/civicrm-core/pull/15215))** + +- **[REF] extract send receipt in MembershipRenewal fn + ([15117](https://github.com/civicrm/civicrm-core/pull/15117))** + +- **[NFC] Fix test syntax + ([15067](https://github.com/civicrm/civicrm-core/pull/15067))** + +- **[NFC] swap instances where double = is used but it should be triple = + ([15049](https://github.com/civicrm/civicrm-core/pull/15049))** + +- **[NFC] Update Upgrade Template to use short array syntax + ([15057](https://github.com/civicrm/civicrm-core/pull/15057))** + +- **[NFC] Remove redundant annotation + ([15172](https://github.com/civicrm/civicrm-core/pull/15172))** + +- **(NFC) assertPhpSupport - Code cleanup + ([164](https://github.com/civicrm/civicrm-wordpress/pull/164))** + +- **(NFC) civicrm.drush.inc - Cleanup style + ([99](https://github.com/civicrm/civicrm-backdrop/pull/99))** + +- **[NFC] Update Default report instances that filter on join date to be … + ([15247](https://github.com/civicrm/civicrm-core/pull/15247))** + +- **[NFC] Add ImportProcessor class & unit tests + extend existing cover + ([15072](https://github.com/civicrm/civicrm-core/pull/15072))** + +- **[NFC] Update the APIv3 documentation links. + ([15077](https://github.com/civicrm/civicrm-core/pull/15077))** + +- **(NFC) GenericAssertionsTrait - Improve docblocks + ([15071](https://github.com/civicrm/civicrm-core/pull/15071))** + +- **[NFC] Update Examples + ([15085](https://github.com/civicrm/civicrm-core/pull/15085))** + +- **[Test] [NFC] upgrade remaining export tests + ([15095](https://github.com/civicrm/civicrm-core/pull/15095))** + +- **[Test] Bring to life dormant test + ([15150](https://github.com/civicrm/civicrm-core/pull/15150))** + +- **[TEST] Enable apiv4 testing for GroupNesting and GroupOrganization entities + ([15217](https://github.com/civicrm/civicrm-core/pull/15217))** + +- **[Test] Demonstrate the truthiness of CRM_Utils_System::isNull + ([15027](https://github.com/civicrm/civicrm-core/pull/15027))** + +- **Unit test for custom date parsing + ([14988](https://github.com/civicrm/civicrm-core/pull/14988))** + +- **[NFC] [Test] dev/core#1098 Add unit test & code comments relating to the + slow activity search + ([15016](https://github.com/civicrm/civicrm-core/pull/15016))** + +- **[Import] [Test] Initial test on loadSavedMapping function. + ([15050](https://github.com/civicrm/civicrm-core/pull/15050))** + +- **[Test] Tolerance parameter in attachmenttest needs to be one higher for + integers ([15069](https://github.com/civicrm/civicrm-core/pull/15069))** + +- **[Test] Fix Last_name in CiviUnitTestCase::activityCreate + ([15112](https://github.com/civicrm/civicrm-core/pull/15112))** + +- **test for PR + ([15121](https://github.com/civicrm/civicrm-core/pull/15121))** + +## Credits + +This release was developed by the following code authors: + +19ATF77; AGH Strategies - Andrew Hunt; Agileware - Justin Freeman; Andrew +Thompson; Australian Greens - Seamus Lee; Caltha - Tomasz Pietrzkowski; +Christian Wach; Circle Interactive - Dave Jenkins, Pradeep Nayak, Reece Benson; +CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha +Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - +Mark Burdett; Florian Kohrt; Greenpeace CEE - Patrick Figel; JMA Consulting - +Monish Deb; John Kingsnorth; Megaphone Technology Consulting - Jon Goldberg; MJW +Consulting - Matthew Wire; mmyriam; Onyemenam Ndubuisi; Progressive Technology +Project - Jamie McClelland; Tadpole Collective - Kevin Cristiano; Wikimedia +Foundation - Eileen McNaughton + +Most authors also reviewed code for this release; in addition, the following +reviewers contributed their comments: + +AGH Strategies - Alice Frumin; Agileware - Francis Whittle, Pengyi Zhang; +don-alejandro-z; Fuzion - Jitendra Purohit; iXiam - Luciano Spiegel; JMA +Consulting - Joe Murray; Nicol Wistreich; Semper IT - Karin Gerritsen; Squiffle +Consulting - Aidan Saunders; + +## Feedback + +These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like +to provide feedback on them, please log in to https://chat.civicrm.org/civicrm +and contact `@agh1`. diff --git a/release-notes/5.18.1.md b/release-notes/5.18.1.md new file mode 100644 index 0000000000..d0034f7372 --- /dev/null +++ b/release-notes/5.18.1.md @@ -0,0 +1,38 @@ +# CiviCRM 5.18.1 + +Released October 5, 2019 + +- **[Synopsis](#synopsis)** +- **[Bugs resolved](#bugs)** +- **[Credits](#credits)** +- **[Feedback](#feedback)** + +## Synopsis + +| *Does this version...?* | | +|:--------------------------------------------------------------- |:-------:| +| Fix security vulnerabilities? | no | +| Change the database schema? | no | +| Alter the API? | no | +| Require attention to configuration options? | no | +| Fix problems installing or upgrading to a previous version? | no | +| Introduce features? | no | +| **Fix bugs?** | **yes** | + +## Bugs resolved + +* **_CiviMember_: Error involving "Pending" status when creating memberships via contribution pages ([dev/core#1291](https://lab.civicrm.org/dev/core/issues/1291): [#15376](https://github.com/civicrm/civicrm-core/pull/15376))** +* **_Export_: Error when using option "Exclude contacts with "do not mail" (et al)"([dev/core#1292]((https://lab.civicrm.org/dev/core/issues/1292): [#15392](https://github.com/civicrm/civicrm-core/pull/15392))** + +## Credits + +This release was developed by the following authors and reviewers: + +MJW Consulting - Matthew Wire; Fuzion - Jitendra Purohit; Coop SymbioTIC - Samuel Vanhove, +Mathieu Lutfy; Dave D; Australian Greens - Seamus Lee + +## Feedback + +These release notes are edited by Tim Otten and Andrew Hunt. If you'd like to +provide feedback on them, please login to https://chat.civicrm.org/civicrm and +contact `@agh1`. diff --git a/release-notes/5.18.2.md b/release-notes/5.18.2.md new file mode 100644 index 0000000000..5ae23b8107 --- /dev/null +++ b/release-notes/5.18.2.md @@ -0,0 +1,43 @@ +# CiviCRM 5.18.2 + +Released October 9, 2019 + +- **[Synopsis](#synopsis)** +- **[Bugs resolved](#bugs)** +- **[Credits](#credits)** +- **[Feedback](#feedback)** + +## Synopsis + +| *Does this version...?* | | +|:--------------------------------------------------------------- |:-------:| +| Fix security vulnerabilities? | no | +| Change the database schema? | no | +| Alter the API? | no | +| Require attention to configuration options? | no | +| Fix problems installing or upgrading to a previous version? | no | +| Introduce features? | no | +| **Fix bugs?** | **yes** | + +## Bugs resolved + +* **_PDFLetter_: Fix a warning on the "Print/Merge Document" screen ([dev/core#1281](https://lab.civicrm.org/dev/core/issues/1281): [#15420](https://github.com/civicrm/civicrm-core/pull/15420))** +* **_Export_: Wrong export list when selecting contact and also when using option "Exclude contacts with "do not mail" (et al)" ([dev/core#1293](https://lab.civicrm.org/dev/core/issues/1293): [#15439](https://github.com/civicrm/civicrm-core/pull/15439))** +* **_Export_: Ensure that an export file is always generated - even if dataset is empty" ([dev/core#1293](https://lab.civicrm.org/dev/core/issues/1293): [#15440](https://github.com/civicrm/civicrm-core/pull/15440))** +* **_Import_: Fix value-matching when using certain numerical identifiers ([dev/core#1285](https://lab.civicrm.org/dev/core/issues/1285): [#15453](https://github.com/civicrm/civicrm-core/pull/15453))** +* **_Import_: "Contribution" import with custom fields may fail due to an underfined index ([dev/core#1269](https://lab.civicrm.org/dev/core/issues/1269): [#15447](https://github.com/civicrm/civicrm-core/pull/15447))** +* **_Profiles_: Fix sorting by custom fields when using profile search results ([dev/core#1305](https://lab.civicrm.org/dev/core/issues/1305): [#15454](https://github.com/civicrm/civicrm-core/pull/15454))** + + +## Credits + +This release was developed by the following authors and reviewers: + +Wikimedia Foundation - Eileen McNaughton; skherraz; tapash; +Dave D; Australian Greens - Seamus Lee + +## Feedback + +These release notes are edited by Tim Otten and Andrew Hunt. If you'd like to +provide feedback on them, please login to https://chat.civicrm.org/civicrm and +contact `@agh1`. diff --git a/settings/Core.setting.php b/settings/Core.setting.php index 68d82a2367..033d69c18a 100644 --- a/settings/Core.setting.php +++ b/settings/Core.setting.php @@ -387,7 +387,27 @@ return [ 'title' => ts('Maximum Attachments'), 'is_domain' => 1, 'is_contact' => 0, - 'description' => ts('Maximum number of files (documents, images, etc.) which can be attached to emails or activities.'), + 'description' => ts('Maximum number of files (documents, images, etc.) which can be attached to emails or activities. This setting applies to UI forms and limits the number of fields available on the form.'), + 'help_text' => NULL, + ], + 'max_attachments_backend' => [ + 'group_name' => 'CiviCRM Preferences', + 'group' => 'core', + 'name' => 'max_attachments_backend', + 'legacy_key' => 'maxAttachmentsBackend', + 'type' => 'Integer', + 'quick_form_type' => 'Element', + 'html_type' => 'text', + 'html_attributes' => [ + 'size' => 2, + 'maxlength' => 8, + ], + 'default' => CRM_Core_BAO_File::DEFAULT_MAX_ATTACHMENTS_BACKEND, + 'add' => '5.20', + 'title' => ts('Maximum Attachments For Backend Processes'), + 'is_domain' => 1, + 'is_contact' => 0, + 'description' => ts('Maximum number of files (documents, images, etc.) which can be processed during backend processing such as automated inbound email processing. This should be a big number higher than the other Maximum Attachments setting above. This setting here merely provides an upper limit to prevent attacks that might overload the server.'), 'help_text' => NULL, ], 'maxFileSize' => [ diff --git a/settings/Map.setting.php b/settings/Map.setting.php index d89557c77d..733bcc0e0f 100644 --- a/settings/Map.setting.php +++ b/settings/Map.setting.php @@ -51,7 +51,7 @@ return [ ], 'default' => NULL, 'title' => 'Geo Provider Key', - 'description' => 'Enter the API key or Application ID associated with your geocoding provider (not required for Yahoo).', + 'description' => 'Enter the API key or Application ID associated with your geocoding provider.', ], 'geoProvider' => [ 'add' => '4.7', diff --git a/sql/GenerateData.php b/sql/GenerateData.php index ebd098bdd4..f3b7274bc1 100644 --- a/sql/GenerateData.php +++ b/sql/GenerateData.php @@ -1119,8 +1119,6 @@ class CRM_GCD { $group->visibility = 'Public Pages'; $group->is_active = 1; $group->save(); - $group->buildClause(); - $group->save(); } // 60 are for newsletter diff --git a/sql/GenerateReportData.php b/sql/GenerateReportData.php index e3b1dfd332..0eeacf25e0 100644 --- a/sql/GenerateReportData.php +++ b/sql/GenerateReportData.php @@ -1087,8 +1087,6 @@ class CRM_GCD { $group->visibility = 'Public Pages'; $group->is_active = 1; $group->save(); - $group->buildClause(); - $group->save(); } // 60 are for newsletter diff --git a/sql/civicrm_generated.mysql b/sql/civicrm_generated.mysql index 89abc7274d..8c573952a3 100644 --- a/sql/civicrm_generated.mysql +++ b/sql/civicrm_generated.mysql @@ -1,8 +1,8 @@ --- MySQL dump 10.13 Distrib 5.7.25, for osx10.9 (x86_64) +-- MySQL dump 10.13 Distrib 5.5.58, for osx10.12 (x86_64) -- --- Host: 127.0.0.1 Database: dmasterciv_tdjht +-- Host: 127.0.0.1 Database: dmastercivi_m0po6 -- ------------------------------------------------------ --- Server version 5.7.25 +-- Server version 5.7.23 /*!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,10,'Subject for Pledge Acknowledgment','2019-04-23 23:22:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(2,NULL,9,'Subject for Tell a Friend','2018-10-16 16:57:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(3,NULL,9,'Subject for Tell a Friend','2018-09-26 08:55:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(4,NULL,9,'Subject for Tell a Friend','2019-02-14 17:35:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(5,NULL,10,'Subject for Pledge Acknowledgment','2019-03-07 08:59:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(6,NULL,10,'Subject for Pledge Acknowledgment','2019-02-02 17:26:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(7,NULL,9,'Subject for Tell a Friend','2019-01-21 07:08:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(8,NULL,9,'Subject for Tell a Friend','2019-03-15 04:50:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(9,NULL,10,'Subject for Pledge Acknowledgment','2019-05-05 16:07:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(10,NULL,9,'Subject for Tell a Friend','2019-04-14 16:51:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(11,NULL,10,'Subject for Pledge Acknowledgment','2018-09-19 08:12:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(12,NULL,10,'Subject for Pledge Acknowledgment','2018-10-14 13:25:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(13,NULL,10,'Subject for Pledge Acknowledgment','2019-01-27 16:50:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(14,NULL,9,'Subject for Tell a Friend','2019-07-15 09:05:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(15,NULL,10,'Subject for Pledge Acknowledgment','2019-05-29 05:19:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(16,NULL,9,'Subject for Tell a Friend','2019-07-24 06:12:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(17,NULL,9,'Subject for Tell a Friend','2019-06-12 12:57:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(18,NULL,10,'Subject for Pledge Acknowledgment','2018-11-29 11:27:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(19,NULL,9,'Subject for Tell a Friend','2019-04-21 13:47:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(20,NULL,9,'Subject for Tell a Friend','2019-04-27 19:50:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(21,NULL,10,'Subject for Pledge Acknowledgment','2018-09-30 21:46:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(22,NULL,10,'Subject for Pledge Acknowledgment','2019-04-18 19:52:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(23,NULL,9,'Subject for Tell a Friend','2018-12-20 09:50:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(24,NULL,9,'Subject for Tell a Friend','2019-07-17 07:02:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(25,NULL,9,'Subject for Tell a Friend','2019-05-04 22:46:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(26,NULL,9,'Subject for Tell a Friend','2019-06-24 14:48:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(27,NULL,10,'Subject for Pledge Acknowledgment','2019-07-23 09:30:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(28,NULL,9,'Subject for Tell a Friend','2019-07-02 03:28:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(29,NULL,10,'Subject for Pledge Acknowledgment','2019-03-30 17:24:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(30,NULL,10,'Subject for Pledge Acknowledgment','2019-01-31 23:28:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(31,NULL,10,'Subject for Pledge Acknowledgment','2019-04-15 15:11:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(32,NULL,10,'Subject for Pledge Acknowledgment','2019-05-04 23:27:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(33,NULL,10,'Subject for Pledge Acknowledgment','2019-05-11 10:26:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(34,NULL,9,'Subject for Tell a Friend','2019-04-02 03:16:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(35,NULL,9,'Subject for Tell a Friend','2019-08-07 18:28:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(36,NULL,10,'Subject for Pledge Acknowledgment','2019-01-07 04:35:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(37,NULL,9,'Subject for Tell a Friend','2019-06-20 01:03:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(38,NULL,10,'Subject for Pledge Acknowledgment','2018-10-26 23:57:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(39,NULL,9,'Subject for Tell a Friend','2019-01-19 16:23:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(40,NULL,9,'Subject for Tell a Friend','2018-11-03 17:45:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(41,NULL,10,'Subject for Pledge Acknowledgment','2018-08-23 16:39:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(42,NULL,9,'Subject for Tell a Friend','2019-04-13 02:08:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(43,NULL,10,'Subject for Pledge Acknowledgment','2018-11-01 05:28:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(44,NULL,9,'Subject for Tell a Friend','2019-04-19 11:08:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(45,NULL,9,'Subject for Tell a Friend','2018-11-04 18:37:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(46,NULL,9,'Subject for Tell a Friend','2018-09-24 16:17:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(47,NULL,9,'Subject for Tell a Friend','2019-06-10 08:35:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(48,NULL,9,'Subject for Tell a Friend','2018-08-29 01:13:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(49,NULL,10,'Subject for Pledge Acknowledgment','2018-11-19 03:48:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(50,NULL,10,'Subject for Pledge Acknowledgment','2018-10-06 15:43:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(51,NULL,10,'Subject for Pledge Acknowledgment','2019-02-18 18:39:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(52,NULL,10,'Subject for Pledge Acknowledgment','2018-11-15 03:43:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:29','2019-08-15 21:31:29'),(53,NULL,9,'Subject for Tell a Friend','2018-10-09 17:44:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(54,NULL,10,'Subject for Pledge Acknowledgment','2019-02-24 04:16:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(55,NULL,9,'Subject for Tell a Friend','2019-06-11 23:34:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(56,NULL,10,'Subject for Pledge Acknowledgment','2019-03-14 01:21:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(57,NULL,9,'Subject for Tell a Friend','2018-09-03 17:19:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(58,NULL,10,'Subject for Pledge Acknowledgment','2018-09-19 23:17:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(59,NULL,9,'Subject for Tell a Friend','2019-07-12 03:22:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(60,NULL,10,'Subject for Pledge Acknowledgment','2018-10-10 23:56:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(61,NULL,10,'Subject for Pledge Acknowledgment','2019-07-18 18:19:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(62,NULL,9,'Subject for Tell a Friend','2019-01-27 19:04:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(63,NULL,9,'Subject for Tell a Friend','2019-01-12 04:16:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(64,NULL,9,'Subject for Tell a Friend','2019-03-08 03:20:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(65,NULL,10,'Subject for Pledge Acknowledgment','2018-10-23 12:20:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(66,NULL,9,'Subject for Tell a Friend','2019-07-05 14:30:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(67,NULL,10,'Subject for Pledge Acknowledgment','2018-08-30 09:27:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(68,NULL,9,'Subject for Tell a Friend','2018-10-10 03:02:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(69,NULL,9,'Subject for Tell a Friend','2018-12-02 22:31:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(70,NULL,9,'Subject for Tell a Friend','2018-08-20 15:12:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(71,NULL,10,'Subject for Pledge Acknowledgment','2018-08-23 07:14:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(72,NULL,9,'Subject for Tell a Friend','2018-12-04 12:48:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(73,NULL,9,'Subject for Tell a Friend','2019-08-15 20:46:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(74,NULL,10,'Subject for Pledge Acknowledgment','2019-06-04 13:17:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(75,NULL,9,'Subject for Tell a Friend','2019-06-09 14:24:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(76,NULL,10,'Subject for Pledge Acknowledgment','2019-01-23 23:13:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(77,NULL,9,'Subject for Tell a Friend','2018-12-09 16:31:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(78,NULL,10,'Subject for Pledge Acknowledgment','2019-08-10 16:14:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(79,NULL,10,'Subject for Pledge Acknowledgment','2018-11-07 20:53:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(80,NULL,10,'Subject for Pledge Acknowledgment','2018-12-12 19:34:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(81,NULL,10,'Subject for Pledge Acknowledgment','2018-11-30 10:17:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(82,NULL,9,'Subject for Tell a Friend','2018-09-21 11:27:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(83,NULL,10,'Subject for Pledge Acknowledgment','2019-06-17 12:36:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(84,NULL,9,'Subject for Tell a Friend','2018-08-23 06:09:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(85,NULL,10,'Subject for Pledge Acknowledgment','2019-01-27 21:14:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(86,NULL,10,'Subject for Pledge Acknowledgment','2018-12-24 03:59:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(87,NULL,9,'Subject for Tell a Friend','2018-11-16 03:21:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(88,NULL,9,'Subject for Tell a Friend','2019-04-08 16:23:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(89,NULL,10,'Subject for Pledge Acknowledgment','2018-10-28 12:28:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(90,NULL,9,'Subject for Tell a Friend','2019-08-01 01:05:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(91,NULL,9,'Subject for Tell a Friend','2019-04-03 19:10:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(92,NULL,10,'Subject for Pledge Acknowledgment','2019-07-14 13:40:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(93,NULL,9,'Subject for Tell a Friend','2018-08-23 01:06:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(94,NULL,9,'Subject for Tell a Friend','2019-01-14 13:08:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(95,NULL,9,'Subject for Tell a Friend','2019-03-28 09:13:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(96,NULL,10,'Subject for Pledge Acknowledgment','2019-08-06 12:45:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(97,NULL,9,'Subject for Tell a Friend','2018-11-04 23:22:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(98,NULL,9,'Subject for Tell a Friend','2018-09-07 18:33:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(99,NULL,10,'Subject for Pledge Acknowledgment','2019-05-25 17:55:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(100,NULL,9,'Subject for Tell a Friend','2018-11-28 04:12:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(101,NULL,10,'Subject for Pledge Acknowledgment','2019-02-11 08:22:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(102,NULL,10,'Subject for Pledge Acknowledgment','2018-11-28 16:31:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(103,NULL,10,'Subject for Pledge Acknowledgment','2019-07-26 04:25:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(104,NULL,9,'Subject for Tell a Friend','2019-03-26 16:45:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(105,NULL,9,'Subject for Tell a Friend','2018-11-13 14:46:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(106,NULL,9,'Subject for Tell a Friend','2019-04-25 01:45:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(107,NULL,9,'Subject for Tell a Friend','2019-01-09 18:11:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(108,NULL,9,'Subject for Tell a Friend','2018-11-24 15:32:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(109,NULL,10,'Subject for Pledge Acknowledgment','2019-03-06 16:10:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(110,NULL,9,'Subject for Tell a Friend','2019-06-04 10:20:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(111,NULL,10,'Subject for Pledge Acknowledgment','2019-07-26 14:13:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(112,NULL,10,'Subject for Pledge Acknowledgment','2019-01-30 14:36:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(113,NULL,9,'Subject for Tell a Friend','2019-07-12 12:36:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(114,NULL,10,'Subject for Pledge Acknowledgment','2018-10-31 07:30:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(115,NULL,9,'Subject for Tell a Friend','2018-11-09 03:27:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(116,NULL,10,'Subject for Pledge Acknowledgment','2019-03-19 19:04:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(117,NULL,10,'Subject for Pledge Acknowledgment','2018-10-11 08:25:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(118,NULL,10,'Subject for Pledge Acknowledgment','2018-09-19 18:24:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(119,NULL,10,'Subject for Pledge Acknowledgment','2019-06-11 19:32:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(120,NULL,10,'Subject for Pledge Acknowledgment','2018-12-01 10:40:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(121,NULL,10,'Subject for Pledge Acknowledgment','2019-01-02 12:01:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(122,NULL,9,'Subject for Tell a Friend','2019-04-08 07:44:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(123,NULL,9,'Subject for Tell a Friend','2019-06-26 09:38:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(124,NULL,10,'Subject for Pledge Acknowledgment','2018-11-27 04:02:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(125,NULL,10,'Subject for Pledge Acknowledgment','2018-11-27 06:02:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(126,NULL,10,'Subject for Pledge Acknowledgment','2018-12-20 23:34:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(127,NULL,10,'Subject for Pledge Acknowledgment','2019-02-26 06:27:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(128,NULL,10,'Subject for Pledge Acknowledgment','2019-02-23 13:42:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(129,NULL,9,'Subject for Tell a Friend','2018-09-13 10:21:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(130,NULL,9,'Subject for Tell a Friend','2018-11-28 12:14:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(131,NULL,10,'Subject for Pledge Acknowledgment','2019-01-03 01:09:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(132,NULL,10,'Subject for Pledge Acknowledgment','2019-05-04 12:05:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(133,NULL,9,'Subject for Tell a Friend','2018-08-24 12:19:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(134,NULL,10,'Subject for Pledge Acknowledgment','2018-10-07 17:42:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(135,NULL,9,'Subject for Tell a Friend','2019-08-11 04:48:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(136,NULL,10,'Subject for Pledge Acknowledgment','2019-02-11 07:58:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(137,NULL,10,'Subject for Pledge Acknowledgment','2019-07-10 03:33:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(138,NULL,9,'Subject for Tell a Friend','2019-08-04 18:03:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(139,NULL,9,'Subject for Tell a Friend','2019-06-21 20:58:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(140,NULL,9,'Subject for Tell a Friend','2018-10-25 10:29:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(141,NULL,10,'Subject for Pledge Acknowledgment','2018-09-24 13:06:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(142,NULL,9,'Subject for Tell a Friend','2019-07-27 10:24:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(143,NULL,9,'Subject for Tell a Friend','2018-08-30 16:40:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(144,NULL,9,'Subject for Tell a Friend','2019-07-11 16:17:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(145,NULL,9,'Subject for Tell a Friend','2019-05-18 02:25:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(146,NULL,10,'Subject for Pledge Acknowledgment','2018-12-08 22:58:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(147,NULL,10,'Subject for Pledge Acknowledgment','2018-11-15 11:34:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(148,NULL,9,'Subject for Tell a Friend','2019-06-26 05:55:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(149,NULL,10,'Subject for Pledge Acknowledgment','2018-10-14 11:48:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(150,NULL,9,'Subject for Tell a Friend','2019-05-20 09:25:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(151,NULL,10,'Subject for Pledge Acknowledgment','2019-01-14 18:41:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(152,NULL,9,'Subject for Tell a Friend','2019-03-26 05:10:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(153,NULL,9,'Subject for Tell a Friend','2018-12-19 22:45:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(154,NULL,10,'Subject for Pledge Acknowledgment','2018-11-24 08:09:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(155,NULL,10,'Subject for Pledge Acknowledgment','2018-08-19 21:48:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(156,NULL,10,'Subject for Pledge Acknowledgment','2018-10-05 05:35:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(157,NULL,10,'Subject for Pledge Acknowledgment','2018-11-15 08:27:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(158,NULL,10,'Subject for Pledge Acknowledgment','2018-12-23 18:47:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(159,NULL,9,'Subject for Tell a Friend','2018-11-22 04:32:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(160,NULL,9,'Subject for Tell a Friend','2018-11-09 04:50:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(161,NULL,10,'Subject for Pledge Acknowledgment','2019-03-14 18:34:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(162,NULL,10,'Subject for Pledge Acknowledgment','2019-02-19 14:00:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(163,NULL,10,'Subject for Pledge Acknowledgment','2018-12-16 21:49:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(164,NULL,10,'Subject for Pledge Acknowledgment','2018-09-06 23:03:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(165,NULL,9,'Subject for Tell a Friend','2018-09-26 19:01:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(166,NULL,9,'Subject for Tell a Friend','2018-11-28 17:04:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(167,NULL,9,'Subject for Tell a Friend','2019-03-24 12:33:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(168,NULL,9,'Subject for Tell a Friend','2019-07-30 01:03:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(169,NULL,10,'Subject for Pledge Acknowledgment','2019-07-09 11:39:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(170,NULL,10,'Subject for Pledge Acknowledgment','2019-02-19 14:27:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(171,NULL,10,'Subject for Pledge Acknowledgment','2019-07-03 09:07:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(172,NULL,9,'Subject for Tell a Friend','2019-06-18 18:48:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(173,NULL,10,'Subject for Pledge Acknowledgment','2019-02-18 19:24:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(174,NULL,9,'Subject for Tell a Friend','2019-03-13 18:09:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(175,NULL,10,'Subject for Pledge Acknowledgment','2019-04-24 23:36:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(176,NULL,10,'Subject for Pledge Acknowledgment','2019-05-18 11:32:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(177,NULL,10,'Subject for Pledge Acknowledgment','2019-05-17 01:43:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(178,NULL,10,'Subject for Pledge Acknowledgment','2019-05-28 06:35:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(179,NULL,10,'Subject for Pledge Acknowledgment','2019-04-03 23:50:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(180,NULL,10,'Subject for Pledge Acknowledgment','2019-02-16 22:24:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(181,NULL,9,'Subject for Tell a Friend','2019-06-03 06:32:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(182,NULL,9,'Subject for Tell a Friend','2018-09-30 03:01:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(183,NULL,10,'Subject for Pledge Acknowledgment','2019-07-24 09:33:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(184,NULL,9,'Subject for Tell a Friend','2018-10-08 16:43:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(185,NULL,9,'Subject for Tell a Friend','2019-07-28 02:26:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(186,NULL,10,'Subject for Pledge Acknowledgment','2018-11-19 12:08:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(187,NULL,9,'Subject for Tell a Friend','2019-03-23 13:11:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(188,NULL,10,'Subject for Pledge Acknowledgment','2018-12-20 21:23:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(189,NULL,9,'Subject for Tell a Friend','2019-08-15 18:59:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(190,NULL,10,'Subject for Pledge Acknowledgment','2018-10-15 06:20:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(191,NULL,10,'Subject for Pledge Acknowledgment','2018-11-21 11:27:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(192,NULL,10,'Subject for Pledge Acknowledgment','2018-12-27 04:50:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(193,NULL,10,'Subject for Pledge Acknowledgment','2018-11-10 07:47:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(194,NULL,10,'Subject for Pledge Acknowledgment','2018-12-26 16:29:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(195,NULL,9,'Subject for Tell a Friend','2019-05-21 10:45:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(196,NULL,10,'Subject for Pledge Acknowledgment','2019-05-02 14:09:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(197,NULL,10,'Subject for Pledge Acknowledgment','2019-01-16 13:48:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(198,NULL,10,'Subject for Pledge Acknowledgment','2019-05-20 12:13:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(199,NULL,10,'Subject for Pledge Acknowledgment','2018-11-28 12:33:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(200,NULL,9,'Subject for Tell a Friend','2018-08-27 19:14:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(201,NULL,10,'Subject for Pledge Acknowledgment','2018-11-26 01:31:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(202,NULL,9,'Subject for Tell a Friend','2019-08-06 10:08:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(203,NULL,10,'Subject for Pledge Acknowledgment','2018-10-26 12:47:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(204,NULL,9,'Subject for Tell a Friend','2019-03-18 04:23:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(205,NULL,10,'Subject for Pledge Acknowledgment','2019-03-17 16:03:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(206,NULL,9,'Subject for Tell a Friend','2019-08-03 20:50:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(207,NULL,10,'Subject for Pledge Acknowledgment','2019-02-03 01:21:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(208,NULL,10,'Subject for Pledge Acknowledgment','2018-10-21 15:07:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(209,NULL,9,'Subject for Tell a Friend','2019-02-24 21:07:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(210,NULL,9,'Subject for Tell a Friend','2018-11-25 02:43:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(211,NULL,9,'Subject for Tell a Friend','2019-01-18 05:00:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(212,NULL,9,'Subject for Tell a Friend','2019-06-09 22:11:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(213,NULL,9,'Subject for Tell a Friend','2019-01-05 00:55:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(214,NULL,10,'Subject for Pledge Acknowledgment','2018-10-23 17:39:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(215,NULL,10,'Subject for Pledge Acknowledgment','2018-12-20 13:20:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(216,NULL,9,'Subject for Tell a Friend','2018-11-27 19:20:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(217,NULL,10,'Subject for Pledge Acknowledgment','2019-08-02 06:38:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(218,NULL,10,'Subject for Pledge Acknowledgment','2018-12-16 19:23:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(219,NULL,9,'Subject for Tell a Friend','2019-03-31 16:04:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(220,NULL,9,'Subject for Tell a Friend','2019-01-24 12:46:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(221,NULL,10,'Subject for Pledge Acknowledgment','2019-06-22 19:15:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(222,NULL,10,'Subject for Pledge Acknowledgment','2019-05-10 09:08:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(223,NULL,10,'Subject for Pledge Acknowledgment','2019-07-03 03:32:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(224,NULL,10,'Subject for Pledge Acknowledgment','2019-08-06 03:11:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(225,NULL,10,'Subject for Pledge Acknowledgment','2019-07-14 07:39:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(226,NULL,10,'Subject for Pledge Acknowledgment','2019-05-19 10:43:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(227,NULL,10,'Subject for Pledge Acknowledgment','2018-11-01 16:02:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(228,NULL,9,'Subject for Tell a Friend','2019-05-22 14:46:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(229,NULL,9,'Subject for Tell a Friend','2019-02-14 21:54:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(230,NULL,10,'Subject for Pledge Acknowledgment','2018-09-23 03:00:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(231,NULL,9,'Subject for Tell a Friend','2019-01-08 09:25:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(232,NULL,9,'Subject for Tell a Friend','2019-02-24 00:22:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(233,NULL,9,'Subject for Tell a Friend','2018-11-05 10:43:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(234,NULL,9,'Subject for Tell a Friend','2019-07-27 13:46:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(235,NULL,10,'Subject for Pledge Acknowledgment','2018-12-26 23:01:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(236,NULL,10,'Subject for Pledge Acknowledgment','2019-05-16 15:24:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(237,NULL,10,'Subject for Pledge Acknowledgment','2018-10-06 04:40:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(238,NULL,10,'Subject for Pledge Acknowledgment','2019-06-13 04:38:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(239,NULL,9,'Subject for Tell a Friend','2018-11-05 01:55:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(240,NULL,9,'Subject for Tell a Friend','2019-06-12 11:08:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(241,NULL,9,'Subject for Tell a Friend','2018-12-18 18:13:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(242,NULL,10,'Subject for Pledge Acknowledgment','2018-08-20 06:15:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(243,NULL,10,'Subject for Pledge Acknowledgment','2019-05-05 06:10:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(244,NULL,9,'Subject for Tell a Friend','2019-08-05 11:40:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(245,NULL,10,'Subject for Pledge Acknowledgment','2019-06-27 11:17:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(246,NULL,10,'Subject for Pledge Acknowledgment','2018-08-28 01:18:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(247,NULL,10,'Subject for Pledge Acknowledgment','2018-09-04 08:16:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(248,NULL,9,'Subject for Tell a Friend','2019-01-17 10:25:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(249,NULL,10,'Subject for Pledge Acknowledgment','2019-07-31 01:34:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(250,NULL,10,'Subject for Pledge Acknowledgment','2018-11-25 10:09:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(251,NULL,9,'Subject for Tell a Friend','2018-09-19 09:54:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(252,NULL,9,'Subject for Tell a Friend','2019-02-26 05:24:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(253,NULL,10,'Subject for Pledge Acknowledgment','2018-10-06 08:06:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(254,NULL,10,'Subject for Pledge Acknowledgment','2019-05-16 10:13:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(255,NULL,9,'Subject for Tell a Friend','2019-07-16 00:50:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(256,NULL,10,'Subject for Pledge Acknowledgment','2019-05-07 19:28:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(257,NULL,10,'Subject for Pledge Acknowledgment','2018-08-20 21:58:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(258,NULL,9,'Subject for Tell a Friend','2018-11-12 04:45:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(259,NULL,10,'Subject for Pledge Acknowledgment','2018-10-09 22:43:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(260,NULL,9,'Subject for Tell a Friend','2019-01-19 05:38:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(261,NULL,9,'Subject for Tell a Friend','2018-08-17 19:03:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(262,NULL,10,'Subject for Pledge Acknowledgment','2018-12-03 06:47:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(263,NULL,9,'Subject for Tell a Friend','2019-03-30 18:01:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(264,NULL,10,'Subject for Pledge Acknowledgment','2019-08-05 13:31:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(265,NULL,9,'Subject for Tell a Friend','2019-02-23 17:26:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(266,NULL,10,'Subject for Pledge Acknowledgment','2018-11-20 16:03:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(267,NULL,9,'Subject for Tell a Friend','2019-02-28 13:13:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(268,NULL,9,'Subject for Tell a Friend','2019-06-12 22:44:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(269,NULL,10,'Subject for Pledge Acknowledgment','2019-03-08 04:04:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(270,NULL,10,'Subject for Pledge Acknowledgment','2018-10-05 04:35:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(271,NULL,9,'Subject for Tell a Friend','2019-07-21 13:19:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(272,NULL,9,'Subject for Tell a Friend','2018-11-03 01:52:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(273,NULL,10,'Subject for Pledge Acknowledgment','2018-12-21 12:35:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(274,NULL,9,'Subject for Tell a Friend','2018-10-29 13:30:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(275,NULL,10,'Subject for Pledge Acknowledgment','2018-12-17 22:19:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(276,NULL,9,'Subject for Tell a Friend','2018-10-26 05:30:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(277,NULL,9,'Subject for Tell a Friend','2019-02-05 06:01:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(278,NULL,9,'Subject for Tell a Friend','2018-08-19 07:07:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(279,NULL,10,'Subject for Pledge Acknowledgment','2018-08-30 01:24:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(280,NULL,9,'Subject for Tell a Friend','2019-05-25 06:58:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(281,NULL,10,'Subject for Pledge Acknowledgment','2018-09-30 21:43:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(282,NULL,10,'Subject for Pledge Acknowledgment','2019-08-14 13:46:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(283,NULL,9,'Subject for Tell a Friend','2018-10-06 05:31:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(284,NULL,10,'Subject for Pledge Acknowledgment','2019-02-16 10:22:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(285,NULL,10,'Subject for Pledge Acknowledgment','2019-05-08 12:35:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(286,NULL,10,'Subject for Pledge Acknowledgment','2019-02-04 23:32:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(287,NULL,10,'Subject for Pledge Acknowledgment','2018-11-21 06:42:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(288,NULL,9,'Subject for Tell a Friend','2019-06-08 18:53:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(289,NULL,9,'Subject for Tell a Friend','2019-08-05 19:40:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(290,NULL,9,'Subject for Tell a Friend','2019-03-08 23:18:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(291,NULL,9,'Subject for Tell a Friend','2018-09-15 07:31:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(292,NULL,9,'Subject for Tell a Friend','2019-03-20 03:39:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(293,NULL,10,'Subject for Pledge Acknowledgment','2019-04-08 20:50:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(294,NULL,9,'Subject for Tell a Friend','2018-09-06 23:52:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(295,NULL,10,'Subject for Pledge Acknowledgment','2018-11-13 15:00:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(296,NULL,9,'Subject for Tell a Friend','2019-01-17 12:27:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(297,NULL,9,'Subject for Tell a Friend','2018-11-02 06:23:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(298,NULL,9,'Subject for Tell a Friend','2018-12-17 19:03:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(299,NULL,10,'Subject for Pledge Acknowledgment','2019-05-04 04:59:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(300,NULL,10,'Subject for Pledge Acknowledgment','2019-03-10 17:15:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(301,NULL,9,'Subject for Tell a Friend','2018-08-22 04:15:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(302,NULL,9,'Subject for Tell a Friend','2019-06-19 08:13:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(303,NULL,9,'Subject for Tell a Friend','2018-11-09 08:06:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(304,NULL,10,'Subject for Pledge Acknowledgment','2019-08-15 00:21:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(305,NULL,9,'Subject for Tell a Friend','2018-10-15 12:25:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(306,NULL,9,'Subject for Tell a Friend','2019-07-09 15:45:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(307,NULL,10,'Subject for Pledge Acknowledgment','2019-04-05 19:26:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(308,NULL,9,'Subject for Tell a Friend','2019-07-06 07:06:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(309,NULL,9,'Subject for Tell a Friend','2018-08-24 03:10:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(310,NULL,9,'Subject for Tell a Friend','2019-02-03 03:58:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(311,NULL,10,'Subject for Pledge Acknowledgment','2018-10-30 19:09:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(312,NULL,10,'Subject for Pledge Acknowledgment','2019-06-21 03:23:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(313,NULL,9,'Subject for Tell a Friend','2018-11-15 07:32:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(314,NULL,9,'Subject for Tell a Friend','2018-09-08 07:13:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(315,NULL,10,'Subject for Pledge Acknowledgment','2019-04-01 21:33:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(316,NULL,9,'Subject for Tell a Friend','2018-09-29 04:36:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(317,NULL,10,'Subject for Pledge Acknowledgment','2019-01-16 08:15:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(318,NULL,10,'Subject for Pledge Acknowledgment','2019-07-23 07:43:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(319,NULL,9,'Subject for Tell a Friend','2019-04-12 08:12:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(320,NULL,9,'Subject for Tell a Friend','2019-08-15 14:17:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(321,NULL,9,'Subject for Tell a Friend','2019-01-18 07:02:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(322,NULL,9,'Subject for Tell a Friend','2018-11-14 04:47:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(323,NULL,9,'Subject for Tell a Friend','2019-01-26 03:11:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(324,NULL,9,'Subject for Tell a Friend','2018-08-23 15:54:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(325,NULL,9,'Subject for Tell a Friend','2019-06-26 03:51:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(326,NULL,9,'Subject for Tell a Friend','2019-06-29 22:04:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(327,NULL,10,'Subject for Pledge Acknowledgment','2019-03-03 15:26:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(328,NULL,9,'Subject for Tell a Friend','2019-01-03 14:31:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(329,NULL,9,'Subject for Tell a Friend','2019-06-26 20:05:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(330,NULL,9,'Subject for Tell a Friend','2018-08-16 04:55:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(331,NULL,9,'Subject for Tell a Friend','2018-08-21 01:36:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(332,NULL,10,'Subject for Pledge Acknowledgment','2018-11-05 10:31:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(333,NULL,9,'Subject for Tell a Friend','2019-01-07 22:54:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(334,NULL,10,'Subject for Pledge Acknowledgment','2019-05-19 16:39:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(335,NULL,9,'Subject for Tell a Friend','2019-04-27 10:36:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(336,NULL,9,'Subject for Tell a Friend','2019-04-08 03:41:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(337,NULL,9,'Subject for Tell a Friend','2018-08-19 14:53:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(338,NULL,10,'Subject for Pledge Acknowledgment','2019-04-04 17:06:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(339,NULL,9,'Subject for Tell a Friend','2019-01-15 12:24:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(340,NULL,9,'Subject for Tell a Friend','2019-07-26 13:29:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(341,NULL,9,'Subject for Tell a Friend','2018-09-25 14:02:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(342,NULL,10,'Subject for Pledge Acknowledgment','2019-04-20 11:52:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(343,NULL,9,'Subject for Tell a Friend','2019-06-30 12:13:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(344,NULL,9,'Subject for Tell a Friend','2019-03-06 15:34:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(345,NULL,10,'Subject for Pledge Acknowledgment','2019-01-22 08:41:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(346,NULL,9,'Subject for Tell a Friend','2019-07-26 04:00:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(347,NULL,10,'Subject for Pledge Acknowledgment','2018-11-28 17:07:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(348,NULL,9,'Subject for Tell a Friend','2019-05-11 02:11:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(349,NULL,9,'Subject for Tell a Friend','2019-03-11 05:23:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(350,NULL,9,'Subject for Tell a Friend','2019-01-29 17:20:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(351,NULL,10,'Subject for Pledge Acknowledgment','2019-07-07 20:35:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(352,NULL,9,'Subject for Tell a Friend','2019-04-10 17:37:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(353,NULL,10,'Subject for Pledge Acknowledgment','2019-04-18 15:48:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(354,NULL,9,'Subject for Tell a Friend','2019-03-15 17:55:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(355,NULL,10,'Subject for Pledge Acknowledgment','2019-03-07 10:25:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(356,NULL,9,'Subject for Tell a Friend','2019-07-03 17:39:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(357,NULL,10,'Subject for Pledge Acknowledgment','2019-03-01 04:54:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(358,NULL,9,'Subject for Tell a Friend','2019-01-02 15:38:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(359,NULL,10,'Subject for Pledge Acknowledgment','2019-07-02 15:41:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(360,NULL,9,'Subject for Tell a Friend','2019-01-30 06:04:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(361,NULL,10,'Subject for Pledge Acknowledgment','2019-07-03 06:20:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(362,NULL,10,'Subject for Pledge Acknowledgment','2019-07-29 19:00:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(363,NULL,9,'Subject for Tell a Friend','2018-10-28 01:46:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(364,NULL,9,'Subject for Tell a Friend','2019-01-14 18:57:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(365,NULL,9,'Subject for Tell a Friend','2019-07-11 00:25:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(366,NULL,10,'Subject for Pledge Acknowledgment','2018-10-26 15:42:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(367,NULL,10,'Subject for Pledge Acknowledgment','2018-09-19 17:02:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(368,NULL,10,'Subject for Pledge Acknowledgment','2018-09-27 12:01:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(369,NULL,9,'Subject for Tell a Friend','2019-06-25 19:09:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(370,NULL,9,'Subject for Tell a Friend','2018-10-04 14:15:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(371,NULL,10,'Subject for Pledge Acknowledgment','2019-01-14 22:28:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(372,NULL,9,'Subject for Tell a Friend','2018-11-12 18:24:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(373,NULL,9,'Subject for Tell a Friend','2018-09-15 12:26:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(374,NULL,9,'Subject for Tell a Friend','2019-04-23 12:57:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(375,NULL,9,'Subject for Tell a Friend','2018-09-01 02:39:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(376,NULL,10,'Subject for Pledge Acknowledgment','2019-03-26 09:50:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(377,NULL,9,'Subject for Tell a Friend','2018-12-05 01:39:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(378,NULL,9,'Subject for Tell a Friend','2019-01-13 14:37:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(379,NULL,10,'Subject for Pledge Acknowledgment','2019-01-16 13:07:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(380,NULL,10,'Subject for Pledge Acknowledgment','2019-04-12 07:03:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(381,NULL,10,'Subject for Pledge Acknowledgment','2019-03-27 04:27:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(382,NULL,10,'Subject for Pledge Acknowledgment','2019-01-06 18:15:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(383,NULL,10,'Subject for Pledge Acknowledgment','2019-05-07 09:01:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(384,NULL,10,'Subject for Pledge Acknowledgment','2019-08-14 04:10:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(385,NULL,10,'Subject for Pledge Acknowledgment','2019-02-15 18:08:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(386,NULL,9,'Subject for Tell a Friend','2018-08-24 09:52:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(387,NULL,9,'Subject for Tell a Friend','2019-06-15 02:06:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(388,NULL,10,'Subject for Pledge Acknowledgment','2019-02-12 09:42:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(389,NULL,10,'Subject for Pledge Acknowledgment','2019-08-05 06:03:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(390,NULL,10,'Subject for Pledge Acknowledgment','2019-02-21 04:33:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(391,NULL,9,'Subject for Tell a Friend','2019-07-08 07:43:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(392,NULL,10,'Subject for Pledge Acknowledgment','2019-01-25 17:01:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(393,NULL,10,'Subject for Pledge Acknowledgment','2018-08-28 13:58:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(394,NULL,10,'Subject for Pledge Acknowledgment','2018-11-09 09:01:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(395,NULL,9,'Subject for Tell a Friend','2019-01-18 00:18:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(396,NULL,9,'Subject for Tell a Friend','2018-08-29 14:54:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(397,NULL,9,'Subject for Tell a Friend','2019-07-24 09:04:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(398,NULL,10,'Subject for Pledge Acknowledgment','2019-07-01 12:42:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(399,NULL,10,'Subject for Pledge Acknowledgment','2019-04-09 10:29:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(400,NULL,10,'Subject for Pledge Acknowledgment','2019-04-08 03:48:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(401,NULL,10,'Subject for Pledge Acknowledgment','2018-10-25 23:36:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(402,NULL,9,'Subject for Tell a Friend','2018-11-03 06:47:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(403,NULL,10,'Subject for Pledge Acknowledgment','2019-03-02 00:13:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(404,NULL,9,'Subject for Tell a Friend','2018-12-09 09:37:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(405,NULL,9,'Subject for Tell a Friend','2019-06-15 05:49:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(406,NULL,9,'Subject for Tell a Friend','2019-06-17 09:19:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(407,NULL,10,'Subject for Pledge Acknowledgment','2019-07-14 14:59:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(408,NULL,10,'Subject for Pledge Acknowledgment','2019-03-25 13:51:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(409,NULL,9,'Subject for Tell a Friend','2018-09-12 12:33:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(410,NULL,10,'Subject for Pledge Acknowledgment','2018-09-03 07:21:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(411,NULL,9,'Subject for Tell a Friend','2018-08-26 20:32:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(412,NULL,10,'Subject for Pledge Acknowledgment','2019-07-21 18:39:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(413,NULL,9,'Subject for Tell a Friend','2019-03-05 11:57:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(414,NULL,10,'Subject for Pledge Acknowledgment','2019-05-30 04:57:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(415,NULL,9,'Subject for Tell a Friend','2019-06-14 10:05:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(416,NULL,10,'Subject for Pledge Acknowledgment','2019-07-29 10:14:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(417,NULL,9,'Subject for Tell a Friend','2018-10-04 23:35:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(418,NULL,10,'Subject for Pledge Acknowledgment','2019-08-01 01:19:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(419,NULL,10,'Subject for Pledge Acknowledgment','2018-11-11 23:35:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(420,NULL,10,'Subject for Pledge Acknowledgment','2019-04-30 13:06:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(421,NULL,9,'Subject for Tell a Friend','2019-07-20 22:49:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(422,NULL,10,'Subject for Pledge Acknowledgment','2019-04-04 17:20:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(423,NULL,9,'Subject for Tell a Friend','2019-04-22 19:48:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(424,NULL,10,'Subject for Pledge Acknowledgment','2019-01-18 12:53:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(425,NULL,9,'Subject for Tell a Friend','2018-10-08 00:48:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(426,NULL,9,'Subject for Tell a Friend','2019-05-17 23:08:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(427,NULL,9,'Subject for Tell a Friend','2019-02-20 23:26:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(428,NULL,10,'Subject for Pledge Acknowledgment','2019-07-10 23:44:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(429,NULL,9,'Subject for Tell a Friend','2019-03-28 23:38:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(430,NULL,9,'Subject for Tell a Friend','2019-03-05 23:27:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(431,NULL,9,'Subject for Tell a Friend','2019-01-04 09:58:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:30','2019-08-15 21:31:30'),(432,NULL,9,'Subject for Tell a Friend','2019-04-07 09:58:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(433,NULL,9,'Subject for Tell a Friend','2018-11-03 20:33:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(434,NULL,9,'Subject for Tell a Friend','2018-09-08 18:29:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(435,NULL,9,'Subject for Tell a Friend','2019-04-20 19:22:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(436,NULL,9,'Subject for Tell a Friend','2018-11-23 03:56:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(437,NULL,10,'Subject for Pledge Acknowledgment','2018-11-25 04:08:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(438,NULL,10,'Subject for Pledge Acknowledgment','2019-04-09 07:43:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(439,NULL,10,'Subject for Pledge Acknowledgment','2019-04-01 19:21:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(440,NULL,10,'Subject for Pledge Acknowledgment','2019-07-08 17:34:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(441,NULL,10,'Subject for Pledge Acknowledgment','2019-05-05 12:42:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(442,NULL,9,'Subject for Tell a Friend','2019-07-31 15:28:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(443,NULL,9,'Subject for Tell a Friend','2019-06-08 02:05:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(444,NULL,9,'Subject for Tell a Friend','2019-06-23 19:21:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(445,NULL,10,'Subject for Pledge Acknowledgment','2018-08-26 16:55:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(446,NULL,10,'Subject for Pledge Acknowledgment','2018-12-09 09:39:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(447,NULL,10,'Subject for Pledge Acknowledgment','2018-12-09 20:00:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(448,NULL,10,'Subject for Pledge Acknowledgment','2018-10-11 09:46:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(449,NULL,10,'Subject for Pledge Acknowledgment','2019-06-14 12:01:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(450,NULL,9,'Subject for Tell a Friend','2019-02-09 11:40:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(464,1,7,'General','2019-08-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(465,2,7,'Student','2019-08-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(466,3,7,'General','2019-08-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(467,4,7,'Student','2019-08-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(468,5,7,'General','2017-07-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(469,6,7,'Student','2019-08-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(470,7,7,'General','2019-08-09 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(471,8,7,'Student','2019-08-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(472,9,7,'General','2019-08-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(473,10,7,'Student','2018-08-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(474,11,7,'Lifetime','2019-08-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(475,12,7,'Student','2019-08-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(476,13,7,'General','2019-08-03 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(477,14,7,'Student','2019-08-02 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(478,15,7,'General','2017-04-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(479,16,7,'Student','2019-07-31 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(480,17,7,'General','2019-07-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(481,18,7,'Student','2019-07-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(482,19,7,'General','2019-07-28 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(483,20,7,'Student','2018-07-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(484,21,7,'General','2019-07-26 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(485,22,7,'Lifetime','2019-07-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(486,23,7,'General','2019-07-24 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(487,24,7,'Student','2019-07-23 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(488,25,7,'General','2017-02-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(489,26,7,'Student','2019-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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(490,27,7,'General','2019-07-20 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(491,28,7,'Student','2019-07-19 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(492,29,7,'General','2019-07-18 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(493,30,7,'Student','2018-07-17 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(494,14,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(495,15,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(496,16,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(497,17,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(498,18,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(499,19,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(500,20,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(501,21,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(502,22,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(503,23,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(504,24,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(505,25,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(506,26,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(507,27,6,'$ 100.00 - General Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(508,28,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(509,29,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(510,30,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(511,31,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(512,32,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(513,33,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(514,34,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(515,35,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(516,36,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(517,37,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(518,38,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(519,39,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(520,40,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(521,41,6,'$ 50.00 - Student Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(522,42,6,'$ 1200.00 - Lifetime Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(523,43,6,'$ 1200.00 - Lifetime Membership: Offline signup','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(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,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(575,45,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(576,46,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(577,47,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(578,48,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(579,49,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(580,50,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(581,51,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(582,52,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(583,53,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(584,54,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(585,55,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(586,56,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(587,57,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(588,58,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(589,59,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(590,60,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(591,61,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(592,62,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(593,63,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(594,64,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(595,65,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(596,66,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(597,67,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(598,68,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(599,69,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(600,70,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(601,71,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(602,72,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(603,73,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(604,74,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(605,75,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(606,76,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(607,77,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(608,78,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(609,79,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(610,80,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(611,81,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(612,82,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(613,83,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(614,84,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(615,85,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(616,86,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(617,87,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(618,88,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(619,89,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(620,90,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(621,91,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(622,92,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(623,93,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'),(624,94,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-08-16 09:31:31',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-08-15 21:31:31','2019-08-15 21:31:31'); +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-08-25 00:56:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(2,NULL,10,'Subject for Pledge Acknowledgment','2019-02-21 20:07:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(3,NULL,9,'Subject for Tell a Friend','2019-09-10 00:53:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(4,NULL,10,'Subject for Pledge Acknowledgment','2019-01-17 03:10:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(5,NULL,9,'Subject for Tell a Friend','2019-01-04 09:05:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(6,NULL,10,'Subject for Pledge Acknowledgment','2019-07-28 08:38:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(7,NULL,10,'Subject for Pledge Acknowledgment','2019-01-02 17:17:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(8,NULL,10,'Subject for Pledge Acknowledgment','2019-06-09 15:10:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(9,NULL,9,'Subject for Tell a Friend','2019-03-31 21:28:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(10,NULL,9,'Subject for Tell a Friend','2019-05-30 20:20:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(11,NULL,9,'Subject for Tell a Friend','2019-07-03 10:06:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(12,NULL,10,'Subject for Pledge Acknowledgment','2019-04-25 02:31:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(13,NULL,9,'Subject for Tell a Friend','2019-07-27 07:22:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(14,NULL,10,'Subject for Pledge Acknowledgment','2019-04-26 20:34:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(15,NULL,9,'Subject for Tell a Friend','2018-12-16 13:39:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(16,NULL,10,'Subject for Pledge Acknowledgment','2019-05-15 12:48:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(17,NULL,9,'Subject for Tell a Friend','2019-05-05 09:53:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(18,NULL,10,'Subject for Pledge Acknowledgment','2019-09-16 07:45:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(19,NULL,10,'Subject for Pledge Acknowledgment','2018-11-25 04:25:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(20,NULL,9,'Subject for Tell a Friend','2019-08-02 09:13:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(21,NULL,9,'Subject for Tell a Friend','2019-02-01 17:03:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(22,NULL,10,'Subject for Pledge Acknowledgment','2018-09-21 13:46:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(23,NULL,9,'Subject for Tell a Friend','2019-04-13 11:22:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(24,NULL,9,'Subject for Tell a Friend','2018-09-25 17:52:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(25,NULL,9,'Subject for Tell a Friend','2019-06-15 15:41:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(26,NULL,9,'Subject for Tell a Friend','2019-09-19 15:55:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(27,NULL,9,'Subject for Tell a Friend','2019-04-08 14:36:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(28,NULL,9,'Subject for Tell a Friend','2019-08-10 06:13:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(29,NULL,9,'Subject for Tell a Friend','2018-11-21 10:45:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(30,NULL,9,'Subject for Tell a Friend','2018-10-16 01:52:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(31,NULL,10,'Subject for Pledge Acknowledgment','2019-06-23 00:34:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(32,NULL,10,'Subject for Pledge Acknowledgment','2019-08-05 07:39:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(33,NULL,9,'Subject for Tell a Friend','2019-04-02 22:15:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(34,NULL,10,'Subject for Pledge Acknowledgment','2019-01-21 19:55:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(35,NULL,10,'Subject for Pledge Acknowledgment','2019-08-30 01:23:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(36,NULL,9,'Subject for Tell a Friend','2019-03-20 12:02:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(37,NULL,9,'Subject for Tell a Friend','2018-11-07 05:43:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(38,NULL,9,'Subject for Tell a Friend','2019-09-11 17:29:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(39,NULL,9,'Subject for Tell a Friend','2019-07-28 04:10:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(40,NULL,10,'Subject for Pledge Acknowledgment','2019-04-18 01:35:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(41,NULL,10,'Subject for Pledge Acknowledgment','2018-12-26 19:24:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(42,NULL,10,'Subject for Pledge Acknowledgment','2018-12-07 20:48:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(43,NULL,9,'Subject for Tell a Friend','2019-08-14 15:34:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:28','2019-09-20 19:57:28'),(44,NULL,9,'Subject for Tell a Friend','2018-12-23 18:17:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(45,NULL,9,'Subject for Tell a Friend','2019-02-16 04:04:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(46,NULL,9,'Subject for Tell a Friend','2019-03-15 21:16:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(47,NULL,10,'Subject for Pledge Acknowledgment','2019-03-06 20:31:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(48,NULL,10,'Subject for Pledge Acknowledgment','2019-05-31 21:43:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(49,NULL,10,'Subject for Pledge Acknowledgment','2018-12-02 21:32:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(50,NULL,9,'Subject for Tell a Friend','2018-10-27 15:38:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(51,NULL,10,'Subject for Pledge Acknowledgment','2019-04-04 16:19:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(52,NULL,9,'Subject for Tell a Friend','2019-06-07 03:57:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(53,NULL,9,'Subject for Tell a Friend','2019-06-27 00:48:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(54,NULL,10,'Subject for Pledge Acknowledgment','2019-05-23 10:35:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(55,NULL,10,'Subject for Pledge Acknowledgment','2018-11-04 02:36:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(56,NULL,9,'Subject for Tell a Friend','2018-11-23 07:18:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(57,NULL,10,'Subject for Pledge Acknowledgment','2019-08-22 07:04:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(58,NULL,10,'Subject for Pledge Acknowledgment','2019-06-29 09:28:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(59,NULL,10,'Subject for Pledge Acknowledgment','2019-04-08 09:53:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(60,NULL,9,'Subject for Tell a Friend','2019-06-13 17:58:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(61,NULL,10,'Subject for Pledge Acknowledgment','2019-03-26 13:53:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(62,NULL,9,'Subject for Tell a Friend','2019-08-18 07:37:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(63,NULL,9,'Subject for Tell a Friend','2018-12-26 23:43:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(64,NULL,9,'Subject for Tell a Friend','2019-09-10 05:55:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(65,NULL,9,'Subject for Tell a Friend','2018-11-13 21:58:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(66,NULL,9,'Subject for Tell a Friend','2018-10-30 18:55:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(67,NULL,10,'Subject for Pledge Acknowledgment','2019-04-10 17:04:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(68,NULL,10,'Subject for Pledge Acknowledgment','2019-09-17 06:14:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(69,NULL,9,'Subject for Tell a Friend','2019-09-05 18:53:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(70,NULL,9,'Subject for Tell a Friend','2019-02-19 06:10:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(71,NULL,10,'Subject for Pledge Acknowledgment','2019-03-06 06:15:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(72,NULL,10,'Subject for Pledge Acknowledgment','2019-05-27 16:39:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(73,NULL,9,'Subject for Tell a Friend','2018-10-30 23:27:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(74,NULL,10,'Subject for Pledge Acknowledgment','2018-12-21 10:17:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(75,NULL,10,'Subject for Pledge Acknowledgment','2018-10-08 18:34:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(76,NULL,10,'Subject for Pledge Acknowledgment','2019-01-17 14:37:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(77,NULL,10,'Subject for Pledge Acknowledgment','2018-11-19 07:25:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(78,NULL,10,'Subject for Pledge Acknowledgment','2019-06-17 12:56:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(79,NULL,9,'Subject for Tell a Friend','2019-03-08 02:54:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(80,NULL,10,'Subject for Pledge Acknowledgment','2019-07-25 00:15:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(81,NULL,9,'Subject for Tell a Friend','2019-02-13 12:23:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(82,NULL,10,'Subject for Pledge Acknowledgment','2019-03-01 22:51:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(83,NULL,9,'Subject for Tell a Friend','2019-06-11 22:03:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(84,NULL,9,'Subject for Tell a Friend','2019-04-05 21:51:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(85,NULL,10,'Subject for Pledge Acknowledgment','2019-03-23 14:42:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(86,NULL,9,'Subject for Tell a Friend','2019-05-23 02:03:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(87,NULL,10,'Subject for Pledge Acknowledgment','2019-08-08 19:00:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(88,NULL,10,'Subject for Pledge Acknowledgment','2018-12-23 10:10:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(89,NULL,10,'Subject for Pledge Acknowledgment','2019-08-30 03:28:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(90,NULL,10,'Subject for Pledge Acknowledgment','2019-06-20 21:35:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(91,NULL,10,'Subject for Pledge Acknowledgment','2018-09-24 15:18:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(92,NULL,9,'Subject for Tell a Friend','2018-12-26 14:33:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(93,NULL,9,'Subject for Tell a Friend','2018-11-21 23:37:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(94,NULL,10,'Subject for Pledge Acknowledgment','2018-11-06 17:04:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(95,NULL,10,'Subject for Pledge Acknowledgment','2018-10-08 22:18:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(96,NULL,9,'Subject for Tell a Friend','2019-04-02 22:16:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(97,NULL,9,'Subject for Tell a Friend','2018-10-25 11:11:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(98,NULL,9,'Subject for Tell a Friend','2019-06-17 18:46:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(99,NULL,9,'Subject for Tell a Friend','2019-08-06 10:02:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(100,NULL,9,'Subject for Tell a Friend','2019-04-26 21:27:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(101,NULL,10,'Subject for Pledge Acknowledgment','2019-01-25 02:34:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(102,NULL,9,'Subject for Tell a Friend','2019-04-02 19:03:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(103,NULL,10,'Subject for Pledge Acknowledgment','2019-01-05 19:47:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(104,NULL,10,'Subject for Pledge Acknowledgment','2018-10-30 11:45:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(105,NULL,9,'Subject for Tell a Friend','2019-08-25 10:25:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(106,NULL,9,'Subject for Tell a Friend','2019-02-09 01:54:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(107,NULL,9,'Subject for Tell a Friend','2019-08-01 15:54:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(108,NULL,10,'Subject for Pledge Acknowledgment','2019-03-22 22:33:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(109,NULL,10,'Subject for Pledge Acknowledgment','2019-03-28 09:59:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(110,NULL,9,'Subject for Tell a Friend','2018-12-15 04:01:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(111,NULL,9,'Subject for Tell a Friend','2019-08-16 21:37:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(112,NULL,10,'Subject for Pledge Acknowledgment','2018-11-30 19:37:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(113,NULL,9,'Subject for Tell a Friend','2018-12-04 12:27:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(114,NULL,10,'Subject for Pledge Acknowledgment','2019-04-03 16:48:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(115,NULL,9,'Subject for Tell a Friend','2018-09-27 18:14:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(116,NULL,10,'Subject for Pledge Acknowledgment','2019-08-27 20:34:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(117,NULL,10,'Subject for Pledge Acknowledgment','2019-09-04 19:36:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(118,NULL,9,'Subject for Tell a Friend','2019-02-09 21:12:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(119,NULL,9,'Subject for Tell a Friend','2019-09-12 12:04:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(120,NULL,9,'Subject for Tell a Friend','2018-09-29 21:04:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(121,NULL,9,'Subject for Tell a Friend','2019-01-10 06:52:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(122,NULL,9,'Subject for Tell a Friend','2019-04-09 14:09:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(123,NULL,10,'Subject for Pledge Acknowledgment','2019-06-16 22:07:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(124,NULL,10,'Subject for Pledge Acknowledgment','2019-02-27 02:12:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(125,NULL,9,'Subject for Tell a Friend','2019-04-19 17:29:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(126,NULL,9,'Subject for Tell a Friend','2019-01-30 04:03:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(127,NULL,9,'Subject for Tell a Friend','2019-06-04 00:56:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(128,NULL,9,'Subject for Tell a Friend','2019-09-14 00:12:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(129,NULL,10,'Subject for Pledge Acknowledgment','2019-07-24 13:15:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(130,NULL,9,'Subject for Tell a Friend','2019-09-16 23:56:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(131,NULL,10,'Subject for Pledge Acknowledgment','2019-04-04 16:37:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(132,NULL,9,'Subject for Tell a Friend','2018-12-30 00:43:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(133,NULL,10,'Subject for Pledge Acknowledgment','2018-10-27 08:09:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(134,NULL,10,'Subject for Pledge Acknowledgment','2019-08-24 10:41:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(135,NULL,10,'Subject for Pledge Acknowledgment','2019-06-05 12:45:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(136,NULL,9,'Subject for Tell a Friend','2019-04-04 11:26:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(137,NULL,9,'Subject for Tell a Friend','2019-04-25 04:18:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(138,NULL,9,'Subject for Tell a Friend','2019-09-11 20:08:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(139,NULL,10,'Subject for Pledge Acknowledgment','2019-08-02 04:44:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(140,NULL,9,'Subject for Tell a Friend','2018-11-17 00:11:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(141,NULL,10,'Subject for Pledge Acknowledgment','2019-07-13 13:47:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(142,NULL,9,'Subject for Tell a Friend','2019-08-17 05:31:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(143,NULL,9,'Subject for Tell a Friend','2019-06-16 14:55:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(144,NULL,9,'Subject for Tell a Friend','2019-08-05 05:01:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(145,NULL,10,'Subject for Pledge Acknowledgment','2018-11-13 16:29:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(146,NULL,9,'Subject for Tell a Friend','2019-07-10 15:35:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(147,NULL,9,'Subject for Tell a Friend','2019-08-25 05:51:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(148,NULL,10,'Subject for Pledge Acknowledgment','2019-01-30 19:09:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(149,NULL,10,'Subject for Pledge Acknowledgment','2019-06-18 12:39:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(150,NULL,9,'Subject for Tell a Friend','2019-02-23 20:40:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(151,NULL,9,'Subject for Tell a Friend','2019-01-05 11:52:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(152,NULL,10,'Subject for Pledge Acknowledgment','2019-08-30 04:22:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(153,NULL,9,'Subject for Tell a Friend','2019-03-28 13:36:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(154,NULL,9,'Subject for Tell a Friend','2019-01-28 12:54:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(155,NULL,10,'Subject for Pledge Acknowledgment','2019-07-03 01:26:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(156,NULL,9,'Subject for Tell a Friend','2019-08-12 20:20:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(157,NULL,9,'Subject for Tell a Friend','2019-02-05 14:02:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(158,NULL,9,'Subject for Tell a Friend','2019-02-22 20:36:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(159,NULL,10,'Subject for Pledge Acknowledgment','2019-06-13 15:34:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(160,NULL,9,'Subject for Tell a Friend','2019-02-18 22:41:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(161,NULL,10,'Subject for Pledge Acknowledgment','2018-12-01 21:00:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(162,NULL,9,'Subject for Tell a Friend','2019-03-05 02:50:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(163,NULL,10,'Subject for Pledge Acknowledgment','2019-07-02 02:57:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(164,NULL,9,'Subject for Tell a Friend','2018-09-29 21:00:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(165,NULL,9,'Subject for Tell a Friend','2019-06-04 03:13:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(166,NULL,10,'Subject for Pledge Acknowledgment','2018-10-07 13:39:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(167,NULL,10,'Subject for Pledge Acknowledgment','2019-02-06 09:54:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(168,NULL,10,'Subject for Pledge Acknowledgment','2019-03-19 13:08:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(169,NULL,9,'Subject for Tell a Friend','2019-08-11 10:18:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(170,NULL,9,'Subject for Tell a Friend','2019-06-11 12:50:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(171,NULL,10,'Subject for Pledge Acknowledgment','2019-09-12 20:31:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(172,NULL,9,'Subject for Tell a Friend','2019-05-05 07:08:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(173,NULL,10,'Subject for Pledge Acknowledgment','2019-09-16 04:07:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(174,NULL,9,'Subject for Tell a Friend','2019-07-02 05:16:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(175,NULL,9,'Subject for Tell a Friend','2019-04-27 14:10:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(176,NULL,10,'Subject for Pledge Acknowledgment','2019-03-18 03:42:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(177,NULL,10,'Subject for Pledge Acknowledgment','2019-03-06 20:17:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(178,NULL,10,'Subject for Pledge Acknowledgment','2019-03-14 01:33:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(179,NULL,10,'Subject for Pledge Acknowledgment','2018-12-06 12:18:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(180,NULL,10,'Subject for Pledge Acknowledgment','2019-05-13 19:42:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(181,NULL,9,'Subject for Tell a Friend','2018-11-19 16:32:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(182,NULL,10,'Subject for Pledge Acknowledgment','2018-12-29 23:45:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(183,NULL,9,'Subject for Tell a Friend','2019-05-04 17:49:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(184,NULL,9,'Subject for Tell a Friend','2019-05-15 20:15:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(185,NULL,9,'Subject for Tell a Friend','2019-08-25 04:47:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(186,NULL,9,'Subject for Tell a Friend','2019-01-28 18:16:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(187,NULL,10,'Subject for Pledge Acknowledgment','2019-03-04 02:30:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(188,NULL,10,'Subject for Pledge Acknowledgment','2018-10-27 14:38:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(189,NULL,10,'Subject for Pledge Acknowledgment','2018-11-02 03:30:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(190,NULL,10,'Subject for Pledge Acknowledgment','2019-05-22 06:12:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(191,NULL,10,'Subject for Pledge Acknowledgment','2018-11-04 21:26:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(192,NULL,9,'Subject for Tell a Friend','2018-12-17 01:09:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(193,NULL,9,'Subject for Tell a Friend','2019-01-11 21:02:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(194,NULL,9,'Subject for Tell a Friend','2018-12-29 21:59:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(195,NULL,10,'Subject for Pledge Acknowledgment','2019-09-05 00:37:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(196,NULL,9,'Subject for Tell a Friend','2018-10-25 06:59:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(197,NULL,9,'Subject for Tell a Friend','2019-02-11 04:47:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(198,NULL,9,'Subject for Tell a Friend','2019-09-07 16:58:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(199,NULL,10,'Subject for Pledge Acknowledgment','2019-02-27 05:35:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(200,NULL,10,'Subject for Pledge Acknowledgment','2018-10-26 15:21:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(201,NULL,9,'Subject for Tell a Friend','2018-11-04 10:23:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(202,NULL,9,'Subject for Tell a Friend','2019-02-19 20:43:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(203,NULL,9,'Subject for Tell a Friend','2019-03-07 21:33:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(204,NULL,9,'Subject for Tell a Friend','2018-11-01 15:57:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(205,NULL,10,'Subject for Pledge Acknowledgment','2019-07-11 05:38:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(206,NULL,9,'Subject for Tell a Friend','2018-11-01 04:56:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(207,NULL,9,'Subject for Tell a Friend','2019-04-01 16:04:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(208,NULL,10,'Subject for Pledge Acknowledgment','2019-03-31 05:58:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(209,NULL,10,'Subject for Pledge Acknowledgment','2019-09-06 16:19:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(210,NULL,10,'Subject for Pledge Acknowledgment','2018-09-21 07:26:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(211,NULL,9,'Subject for Tell a Friend','2018-12-24 10:05:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(212,NULL,10,'Subject for Pledge Acknowledgment','2019-04-20 00:29:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(213,NULL,10,'Subject for Pledge Acknowledgment','2019-05-08 15:26:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(214,NULL,9,'Subject for Tell a Friend','2018-10-20 17:34:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(215,NULL,9,'Subject for Tell a Friend','2018-12-18 11:59:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(216,NULL,9,'Subject for Tell a Friend','2018-09-25 03:31:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(217,NULL,10,'Subject for Pledge Acknowledgment','2019-06-04 00:44:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(218,NULL,9,'Subject for Tell a Friend','2019-04-18 11:28:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(219,NULL,10,'Subject for Pledge Acknowledgment','2019-04-28 09:18:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(220,NULL,10,'Subject for Pledge Acknowledgment','2018-10-14 08:37:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(221,NULL,10,'Subject for Pledge Acknowledgment','2019-03-06 16:45:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(222,NULL,9,'Subject for Tell a Friend','2019-05-30 06:37:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(223,NULL,9,'Subject for Tell a Friend','2019-08-21 09:38:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(224,NULL,9,'Subject for Tell a Friend','2019-08-19 00:04:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(225,NULL,9,'Subject for Tell a Friend','2019-07-22 13:59:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(226,NULL,9,'Subject for Tell a Friend','2019-04-09 17:47:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(227,NULL,10,'Subject for Pledge Acknowledgment','2019-07-30 00:12:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(228,NULL,10,'Subject for Pledge Acknowledgment','2019-05-15 23:35:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(229,NULL,9,'Subject for Tell a Friend','2019-04-01 15:28:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(230,NULL,9,'Subject for Tell a Friend','2019-02-23 00:52:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(231,NULL,10,'Subject for Pledge Acknowledgment','2019-08-09 07:03:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(232,NULL,10,'Subject for Pledge Acknowledgment','2019-03-14 09:25:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(233,NULL,9,'Subject for Tell a Friend','2019-02-24 08:31:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(234,NULL,10,'Subject for Pledge Acknowledgment','2019-04-25 06:15:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(235,NULL,9,'Subject for Tell a Friend','2019-03-23 13:05:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(236,NULL,10,'Subject for Pledge Acknowledgment','2018-10-28 09:37:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(237,NULL,9,'Subject for Tell a Friend','2019-05-09 07:48:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(238,NULL,9,'Subject for Tell a Friend','2019-08-04 22:23:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(239,NULL,10,'Subject for Pledge Acknowledgment','2018-12-29 12:39:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(240,NULL,9,'Subject for Tell a Friend','2019-08-27 07:47:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(241,NULL,10,'Subject for Pledge Acknowledgment','2018-10-13 07:18:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(242,NULL,10,'Subject for Pledge Acknowledgment','2019-02-14 10:14:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(243,NULL,9,'Subject for Tell a Friend','2019-02-25 01:07:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(244,NULL,9,'Subject for Tell a Friend','2019-01-02 05:52:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(245,NULL,9,'Subject for Tell a Friend','2018-11-27 10:38:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(246,NULL,9,'Subject for Tell a Friend','2019-01-11 15:21:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(247,NULL,9,'Subject for Tell a Friend','2018-10-19 23:05:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(248,NULL,10,'Subject for Pledge Acknowledgment','2019-01-20 08:28:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(249,NULL,9,'Subject for Tell a Friend','2019-02-03 05:02:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(250,NULL,9,'Subject for Tell a Friend','2018-09-27 01:15:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(251,NULL,9,'Subject for Tell a Friend','2018-10-15 09:54:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(252,NULL,9,'Subject for Tell a Friend','2019-07-08 10:01:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(253,NULL,10,'Subject for Pledge Acknowledgment','2019-09-15 13:44:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(254,NULL,9,'Subject for Tell a Friend','2019-04-11 18:02:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(255,NULL,9,'Subject for Tell a Friend','2019-07-26 20:24:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(256,NULL,9,'Subject for Tell a Friend','2019-08-23 13:35:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(257,NULL,10,'Subject for Pledge Acknowledgment','2019-03-14 03:43:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(258,NULL,10,'Subject for Pledge Acknowledgment','2019-07-17 11:05:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(259,NULL,9,'Subject for Tell a Friend','2019-03-09 01:20:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(260,NULL,9,'Subject for Tell a Friend','2019-06-16 02:53:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(261,NULL,9,'Subject for Tell a Friend','2018-12-14 00:54:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(262,NULL,10,'Subject for Pledge Acknowledgment','2019-09-19 09:00:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(263,NULL,10,'Subject for Pledge Acknowledgment','2019-02-28 16:17:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(264,NULL,10,'Subject for Pledge Acknowledgment','2019-03-11 02:14:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(265,NULL,10,'Subject for Pledge Acknowledgment','2019-04-15 06:11:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(266,NULL,9,'Subject for Tell a Friend','2019-09-08 09:49:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(267,NULL,10,'Subject for Pledge Acknowledgment','2019-08-11 13:35:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(268,NULL,10,'Subject for Pledge Acknowledgment','2019-08-07 11:17:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(269,NULL,9,'Subject for Tell a Friend','2018-10-03 21:45:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(270,NULL,10,'Subject for Pledge Acknowledgment','2019-02-03 07:13:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(271,NULL,10,'Subject for Pledge Acknowledgment','2018-10-22 17:13:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(272,NULL,10,'Subject for Pledge Acknowledgment','2019-08-31 00:49:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(273,NULL,10,'Subject for Pledge Acknowledgment','2019-07-13 18:51:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(274,NULL,9,'Subject for Tell a Friend','2019-05-07 01:37:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(275,NULL,10,'Subject for Pledge Acknowledgment','2019-06-20 00:48:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(276,NULL,9,'Subject for Tell a Friend','2019-07-03 10:23:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(277,NULL,10,'Subject for Pledge Acknowledgment','2019-04-06 21:56:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(278,NULL,10,'Subject for Pledge Acknowledgment','2018-10-14 11:10:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(279,NULL,10,'Subject for Pledge Acknowledgment','2019-09-15 13:58:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(280,NULL,10,'Subject for Pledge Acknowledgment','2018-11-20 12:17:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(281,NULL,9,'Subject for Tell a Friend','2019-01-07 10:29:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(282,NULL,9,'Subject for Tell a Friend','2018-12-23 09:40:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(283,NULL,10,'Subject for Pledge Acknowledgment','2019-01-22 07:11:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(284,NULL,9,'Subject for Tell a Friend','2019-03-12 06:19:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(285,NULL,10,'Subject for Pledge Acknowledgment','2019-01-22 06:31:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(286,NULL,10,'Subject for Pledge Acknowledgment','2019-06-10 18:34:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(287,NULL,9,'Subject for Tell a Friend','2019-03-22 02:12:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(288,NULL,9,'Subject for Tell a Friend','2018-11-18 14:29:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(289,NULL,10,'Subject for Pledge Acknowledgment','2019-04-27 21:11:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(290,NULL,10,'Subject for Pledge Acknowledgment','2019-08-05 09:49:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(291,NULL,10,'Subject for Pledge Acknowledgment','2019-06-05 07:24:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(292,NULL,10,'Subject for Pledge Acknowledgment','2019-04-17 11:22:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(293,NULL,9,'Subject for Tell a Friend','2019-02-16 03:35:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(294,NULL,10,'Subject for Pledge Acknowledgment','2019-07-28 23:09:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(295,NULL,10,'Subject for Pledge Acknowledgment','2019-06-09 11:31:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(296,NULL,9,'Subject for Tell a Friend','2019-08-05 20:28:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(297,NULL,10,'Subject for Pledge Acknowledgment','2019-08-15 23:35:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(298,NULL,9,'Subject for Tell a Friend','2018-11-23 08:07:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(299,NULL,9,'Subject for Tell a Friend','2019-01-12 09:59:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(300,NULL,10,'Subject for Pledge Acknowledgment','2019-02-22 09:17:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(301,NULL,9,'Subject for Tell a Friend','2019-01-24 19:59:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(302,NULL,9,'Subject for Tell a Friend','2019-04-02 13:38:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(303,NULL,9,'Subject for Tell a Friend','2019-03-06 18:14:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(304,NULL,10,'Subject for Pledge Acknowledgment','2019-08-27 23:45:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(305,NULL,9,'Subject for Tell a Friend','2019-03-19 10:09:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(306,NULL,10,'Subject for Pledge Acknowledgment','2019-07-30 13:31:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(307,NULL,10,'Subject for Pledge Acknowledgment','2019-07-30 15:38:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(308,NULL,9,'Subject for Tell a Friend','2018-12-17 23:00:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(309,NULL,10,'Subject for Pledge Acknowledgment','2019-04-11 23:13:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(310,NULL,9,'Subject for Tell a Friend','2019-04-06 20:32:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(311,NULL,10,'Subject for Pledge Acknowledgment','2019-01-01 02:59:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(312,NULL,9,'Subject for Tell a Friend','2019-01-30 19:25:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(313,NULL,9,'Subject for Tell a Friend','2019-01-26 06:52:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(314,NULL,10,'Subject for Pledge Acknowledgment','2019-07-31 22:58:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(315,NULL,10,'Subject for Pledge Acknowledgment','2019-01-08 22:59:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(316,NULL,9,'Subject for Tell a Friend','2018-12-26 11:43:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(317,NULL,9,'Subject for Tell a Friend','2019-07-21 12:59:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(318,NULL,10,'Subject for Pledge Acknowledgment','2019-09-05 03:49:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(319,NULL,9,'Subject for Tell a Friend','2019-08-14 02:40:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(320,NULL,10,'Subject for Pledge Acknowledgment','2019-01-20 07:55:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(321,NULL,9,'Subject for Tell a Friend','2019-04-20 06:17:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(322,NULL,9,'Subject for Tell a Friend','2018-11-23 23:13:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(323,NULL,9,'Subject for Tell a Friend','2019-07-22 08:19:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(324,NULL,10,'Subject for Pledge Acknowledgment','2018-12-10 11:08:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(325,NULL,10,'Subject for Pledge Acknowledgment','2019-04-26 11:16:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(326,NULL,9,'Subject for Tell a Friend','2019-03-29 22:38:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(327,NULL,10,'Subject for Pledge Acknowledgment','2019-08-12 03:11:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(328,NULL,9,'Subject for Tell a Friend','2018-12-20 08:35:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(329,NULL,9,'Subject for Tell a Friend','2019-06-12 12:14:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(330,NULL,9,'Subject for Tell a Friend','2019-06-18 07:43:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(331,NULL,10,'Subject for Pledge Acknowledgment','2019-05-10 06:15:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(332,NULL,9,'Subject for Tell a Friend','2019-08-04 05:22:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(333,NULL,9,'Subject for Tell a Friend','2019-01-08 18:12:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(334,NULL,9,'Subject for Tell a Friend','2018-10-14 13:58:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(335,NULL,9,'Subject for Tell a Friend','2019-08-14 15:56:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(336,NULL,9,'Subject for Tell a Friend','2018-10-20 12:14:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(337,NULL,9,'Subject for Tell a Friend','2018-12-21 05:26:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(338,NULL,9,'Subject for Tell a Friend','2019-03-14 08:19:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(339,NULL,9,'Subject for Tell a Friend','2019-05-29 14:56:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(340,NULL,10,'Subject for Pledge Acknowledgment','2018-12-19 13:14:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(341,NULL,9,'Subject for Tell a Friend','2019-09-05 02:21:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(342,NULL,9,'Subject for Tell a Friend','2019-06-03 10:52:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(343,NULL,9,'Subject for Tell a Friend','2019-08-02 03:26:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(344,NULL,10,'Subject for Pledge Acknowledgment','2019-05-10 20:45:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(345,NULL,9,'Subject for Tell a Friend','2019-06-09 04:33:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(346,NULL,9,'Subject for Tell a Friend','2018-10-20 14:38:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(347,NULL,9,'Subject for Tell a Friend','2018-11-12 14:51:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(348,NULL,10,'Subject for Pledge Acknowledgment','2019-08-11 15:36:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(349,NULL,9,'Subject for Tell a Friend','2019-06-15 21:52:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(350,NULL,10,'Subject for Pledge Acknowledgment','2018-10-20 13:04:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(351,NULL,9,'Subject for Tell a Friend','2019-06-05 16:23:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(352,NULL,9,'Subject for Tell a Friend','2019-04-15 16:14:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(353,NULL,10,'Subject for Pledge Acknowledgment','2018-11-22 11:00:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(354,NULL,10,'Subject for Pledge Acknowledgment','2019-07-29 04:23:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(355,NULL,9,'Subject for Tell a Friend','2019-09-14 10:30:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(356,NULL,10,'Subject for Pledge Acknowledgment','2019-07-09 19:07:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(357,NULL,10,'Subject for Pledge Acknowledgment','2019-03-20 03:13:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(358,NULL,10,'Subject for Pledge Acknowledgment','2019-06-28 18:35:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(359,NULL,9,'Subject for Tell a Friend','2019-04-13 01:11:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(360,NULL,10,'Subject for Pledge Acknowledgment','2018-12-23 17:02:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(361,NULL,10,'Subject for Pledge Acknowledgment','2019-07-14 05:13:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(362,NULL,10,'Subject for Pledge Acknowledgment','2018-12-08 14:47:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(363,NULL,9,'Subject for Tell a Friend','2019-02-17 00:47:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(364,NULL,9,'Subject for Tell a Friend','2019-08-21 07:41:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(365,NULL,10,'Subject for Pledge Acknowledgment','2019-08-15 07:35:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(366,NULL,10,'Subject for Pledge Acknowledgment','2019-07-30 19:31:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(367,NULL,10,'Subject for Pledge Acknowledgment','2019-06-25 09:28:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(368,NULL,9,'Subject for Tell a Friend','2019-02-06 23:07:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(369,NULL,9,'Subject for Tell a Friend','2018-11-08 01:54:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(370,NULL,9,'Subject for Tell a Friend','2019-03-11 00:06:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(371,NULL,10,'Subject for Pledge Acknowledgment','2019-01-01 05:59:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(372,NULL,10,'Subject for Pledge Acknowledgment','2019-02-16 19:58:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(373,NULL,9,'Subject for Tell a Friend','2018-10-02 16:48:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(374,NULL,10,'Subject for Pledge Acknowledgment','2019-03-28 10:50:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(375,NULL,10,'Subject for Pledge Acknowledgment','2019-04-27 17:46:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(376,NULL,9,'Subject for Tell a Friend','2018-12-24 21:35:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(377,NULL,10,'Subject for Pledge Acknowledgment','2019-08-06 15:40:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(378,NULL,9,'Subject for Tell a Friend','2018-11-11 09:14:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(379,NULL,10,'Subject for Pledge Acknowledgment','2019-08-03 23:12:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(380,NULL,9,'Subject for Tell a Friend','2019-01-07 12:10:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(381,NULL,10,'Subject for Pledge Acknowledgment','2018-12-20 12:48:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(382,NULL,9,'Subject for Tell a Friend','2018-10-18 09:07:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(383,NULL,10,'Subject for Pledge Acknowledgment','2018-10-13 03:06:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(384,NULL,9,'Subject for Tell a Friend','2018-10-10 04:31:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(385,NULL,9,'Subject for Tell a Friend','2018-09-22 12:47:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(386,NULL,9,'Subject for Tell a Friend','2019-09-19 14:17:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(387,NULL,9,'Subject for Tell a Friend','2019-01-20 18:27:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(388,NULL,9,'Subject for Tell a Friend','2018-10-21 10:12:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(389,NULL,9,'Subject for Tell a Friend','2019-05-09 01:06:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(390,NULL,10,'Subject for Pledge Acknowledgment','2018-11-25 14:14:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(391,NULL,10,'Subject for Pledge Acknowledgment','2019-02-12 15:02:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(392,NULL,9,'Subject for Tell a Friend','2019-03-01 13:15:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(393,NULL,9,'Subject for Tell a Friend','2019-04-21 16:26:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(394,NULL,10,'Subject for Pledge Acknowledgment','2019-09-20 12:18:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(395,NULL,10,'Subject for Pledge Acknowledgment','2019-02-10 21:31:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(396,NULL,9,'Subject for Tell a Friend','2019-07-13 02:21:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(397,NULL,9,'Subject for Tell a Friend','2019-01-27 21:11:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(398,NULL,10,'Subject for Pledge Acknowledgment','2018-12-15 11:50:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(399,NULL,9,'Subject for Tell a Friend','2018-09-21 14:34:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(400,NULL,10,'Subject for Pledge Acknowledgment','2019-05-29 02:34:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(401,NULL,10,'Subject for Pledge Acknowledgment','2018-11-07 07:20:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(402,NULL,9,'Subject for Tell a Friend','2019-05-20 05:13:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(403,NULL,10,'Subject for Pledge Acknowledgment','2019-06-11 00:09:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(404,NULL,9,'Subject for Tell a Friend','2019-03-30 22:39:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(405,NULL,9,'Subject for Tell a Friend','2019-04-17 09:56:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(406,NULL,9,'Subject for Tell a Friend','2019-06-14 21:52:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(407,NULL,10,'Subject for Pledge Acknowledgment','2019-07-29 13:43:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(408,NULL,9,'Subject for Tell a Friend','2019-09-19 23:33:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(409,NULL,10,'Subject for Pledge Acknowledgment','2019-06-30 00:45:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(410,NULL,10,'Subject for Pledge Acknowledgment','2018-11-16 09:33:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(411,NULL,10,'Subject for Pledge Acknowledgment','2019-08-04 03:40:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(412,NULL,10,'Subject for Pledge Acknowledgment','2019-07-15 13:01:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(413,NULL,9,'Subject for Tell a Friend','2018-11-27 05:58:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(414,NULL,10,'Subject for Pledge Acknowledgment','2019-06-07 17:30:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(415,NULL,10,'Subject for Pledge Acknowledgment','2019-03-23 21:23:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(416,NULL,10,'Subject for Pledge Acknowledgment','2019-02-01 08:21:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(417,NULL,9,'Subject for Tell a Friend','2019-03-12 09:42:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(418,NULL,9,'Subject for Tell a Friend','2019-06-26 23:39:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(419,NULL,9,'Subject for Tell a Friend','2018-11-08 08:32:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(420,NULL,10,'Subject for Pledge Acknowledgment','2018-11-17 16:09:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(421,NULL,9,'Subject for Tell a Friend','2019-07-05 00:30:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(422,NULL,9,'Subject for Tell a Friend','2019-07-27 03:33:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(423,NULL,10,'Subject for Pledge Acknowledgment','2019-06-23 16:53:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(424,NULL,9,'Subject for Tell a Friend','2018-12-30 10:42:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(425,NULL,9,'Subject for Tell a Friend','2019-01-31 10:57:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(426,NULL,10,'Subject for Pledge Acknowledgment','2019-07-31 01:14:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(427,NULL,10,'Subject for Pledge Acknowledgment','2019-01-20 06:45:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(428,NULL,10,'Subject for Pledge Acknowledgment','2019-01-09 08:42:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(429,NULL,9,'Subject for Tell a Friend','2019-06-07 13:09:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(430,NULL,10,'Subject for Pledge Acknowledgment','2019-09-07 18:37:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(431,NULL,9,'Subject for Tell a Friend','2019-01-16 01:23:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(432,NULL,9,'Subject for Tell a Friend','2018-11-27 02:51:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(433,NULL,9,'Subject for Tell a Friend','2018-11-15 12:35:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(434,NULL,9,'Subject for Tell a Friend','2019-08-04 18:48:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(435,NULL,9,'Subject for Tell a Friend','2019-02-15 13:37:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(436,NULL,9,'Subject for Tell a Friend','2018-11-06 16:17:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(437,NULL,10,'Subject for Pledge Acknowledgment','2019-07-02 03:20:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(438,NULL,9,'Subject for Tell a Friend','2019-07-14 09:37:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(439,NULL,10,'Subject for Pledge Acknowledgment','2019-02-17 10:37:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(440,NULL,10,'Subject for Pledge Acknowledgment','2018-12-06 11:59:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(441,NULL,10,'Subject for Pledge Acknowledgment','2019-06-20 05:58:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(442,NULL,9,'Subject for Tell a Friend','2018-11-03 08:18:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(443,NULL,9,'Subject for Tell a Friend','2019-07-26 09:51:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(444,NULL,10,'Subject for Pledge Acknowledgment','2018-11-16 07:07:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(445,NULL,9,'Subject for Tell a Friend','2019-01-17 20:48:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(446,NULL,10,'Subject for Pledge Acknowledgment','2019-01-25 07:02:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(447,NULL,10,'Subject for Pledge Acknowledgment','2018-09-20 15:38:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(448,NULL,10,'Subject for Pledge Acknowledgment','2018-11-20 07:28:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(449,NULL,10,'Subject for Pledge Acknowledgment','2019-08-15 00:07:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(450,NULL,10,'Subject for Pledge Acknowledgment','2019-04-25 07:35:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(464,1,7,'General','2019-09-20 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(465,2,7,'Student','2019-09-19 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(466,3,7,'General','2019-09-18 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(467,4,7,'Student','2019-09-17 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(468,5,7,'General','2017-08-19 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(469,6,7,'Student','2019-09-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(470,7,7,'General','2019-09-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(471,8,7,'Student','2019-09-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(472,9,7,'General','2019-09-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(473,10,7,'General','2017-07-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(474,11,7,'Lifetime','2019-09-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(475,12,7,'Student','2019-09-09 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(476,13,7,'General','2019-09-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(477,14,7,'Student','2019-09-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(478,15,7,'General','2017-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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(479,16,7,'Student','2019-09-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(480,17,7,'General','2019-09-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(481,18,7,'Student','2019-09-03 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(482,19,7,'General','2019-09-02 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(483,20,7,'Student','2018-09-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(484,21,7,'General','2019-08-31 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(485,22,7,'Lifetime','2019-08-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(486,23,7,'General','2019-08-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(487,24,7,'Student','2019-08-28 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(488,25,7,'General','2017-03-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(489,26,7,'Student','2019-08-26 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(490,27,7,'General','2019-08-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(491,28,7,'Student','2019-08-24 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(492,29,7,'General','2019-08-23 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(493,30,7,'Student','2018-08-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(494,14,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(495,15,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(496,16,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(497,17,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(498,18,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(499,19,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(500,20,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(501,21,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(502,22,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(503,23,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(504,24,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(505,25,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(506,26,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(507,27,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(508,28,6,'$ 100.00 - General Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(509,29,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(510,30,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(511,31,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(512,32,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(513,33,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(514,34,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(515,35,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(516,36,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(517,37,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(518,38,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(519,39,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(520,40,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(521,41,6,'$ 50.00 - Student Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(522,42,6,'$ 1200.00 - Lifetime Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(523,43,6,'$ 1200.00 - Lifetime Membership: Offline signup','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(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,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(575,45,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(576,46,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(577,47,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(578,48,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(579,49,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(580,50,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(581,51,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(582,52,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(583,53,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(584,54,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(585,55,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(586,56,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(587,57,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(588,58,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(589,59,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(590,60,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(591,61,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(592,62,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(593,63,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(594,64,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(595,65,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(596,66,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(597,67,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(598,68,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(599,69,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(600,70,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(601,71,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(602,72,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(603,73,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(604,74,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(605,75,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(606,76,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(607,77,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(608,78,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(609,79,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(610,80,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(611,81,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(612,82,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(613,83,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(614,84,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(615,85,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(616,86,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(617,87,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(618,88,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(619,89,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(620,90,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(621,91,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(622,92,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(623,93,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'),(624,94,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2019-09-20 12:57:29',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2019-09-20 19:57:29','2019-09-20 19:57:29'); /*!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 (239,159,1,3),(301,204,1,3),(84,55,2,3),(106,69,2,3),(387,263,2,3),(479,321,2,3),(679,451,2,2),(776,548,2,2),(375,255,3,3),(599,397,4,3),(680,452,4,2),(780,552,4,2),(7,4,6,3),(409,277,6,3),(681,453,6,2),(1,1,7,2),(2,2,7,2),(4,3,7,2),(6,4,7,2),(8,5,7,2),(9,6,7,2),(10,7,7,2),(12,8,7,2),(14,9,7,2),(15,10,7,2),(17,11,7,2),(18,12,7,2),(19,13,7,2),(20,14,7,2),(22,15,7,2),(23,16,7,2),(25,17,7,2),(27,18,7,2),(28,19,7,2),(30,20,7,2),(32,21,7,2),(33,22,7,2),(34,23,7,2),(36,24,7,2),(38,25,7,2),(40,26,7,2),(42,27,7,2),(43,28,7,2),(45,29,7,2),(46,30,7,2),(47,31,7,2),(48,32,7,2),(49,33,7,2),(50,34,7,2),(52,35,7,2),(54,36,7,2),(55,37,7,2),(57,38,7,2),(58,39,7,2),(60,40,7,2),(62,41,7,2),(63,42,7,2),(65,43,7,2),(66,44,7,2),(68,45,7,2),(70,46,7,2),(72,47,7,2),(74,48,7,2),(76,49,7,2),(77,50,7,2),(78,51,7,2),(79,52,7,2),(80,53,7,2),(82,54,7,2),(83,55,7,2),(85,56,7,2),(86,57,7,2),(88,58,7,2),(89,59,7,2),(91,60,7,2),(92,61,7,2),(93,62,7,2),(95,63,7,2),(97,64,7,2),(99,65,7,2),(100,66,7,2),(102,67,7,2),(103,68,7,2),(105,69,7,2),(107,70,7,2),(109,71,7,2),(110,72,7,2),(111,72,7,3),(112,73,7,2),(114,74,7,2),(115,75,7,2),(117,76,7,2),(118,77,7,2),(120,78,7,2),(121,79,7,2),(122,80,7,2),(123,81,7,2),(124,82,7,2),(126,83,7,2),(127,84,7,2),(129,85,7,2),(130,86,7,2),(131,87,7,2),(133,88,7,2),(135,89,7,2),(136,90,7,2),(138,91,7,2),(140,92,7,2),(141,93,7,2),(143,94,7,2),(145,95,7,2),(147,96,7,2),(148,97,7,2),(150,98,7,2),(152,99,7,2),(153,100,7,2),(155,101,7,2),(156,102,7,2),(157,103,7,2),(158,104,7,2),(160,105,7,2),(162,106,7,2),(164,107,7,2),(166,108,7,2),(168,109,7,2),(169,110,7,2),(171,111,7,2),(172,112,7,2),(173,113,7,2),(175,114,7,2),(176,115,7,2),(178,116,7,2),(179,117,7,2),(180,118,7,2),(181,119,7,2),(182,120,7,2),(183,121,7,2),(184,122,7,2),(186,123,7,2),(188,124,7,2),(189,125,7,2),(190,126,7,2),(191,127,7,2),(192,128,7,2),(193,129,7,2),(195,130,7,2),(197,131,7,2),(198,132,7,2),(199,133,7,2),(201,134,7,2),(202,135,7,2),(204,136,7,2),(205,137,7,2),(206,138,7,2),(208,139,7,2),(210,140,7,2),(212,141,7,2),(213,142,7,2),(215,143,7,2),(217,144,7,2),(219,145,7,2),(221,146,7,2),(222,147,7,2),(223,148,7,2),(225,149,7,2),(226,150,7,2),(340,231,7,3),(455,306,7,3),(697,469,7,2),(738,510,7,2),(762,534,7,2),(146,95,8,3),(682,454,8,2),(707,479,8,2),(743,515,8,2),(759,531,8,2),(220,145,9,3),(446,301,9,3),(585,387,9,3),(608,404,9,3),(203,135,10,3),(251,167,10,3),(489,326,10,3),(658,435,10,3),(766,538,10,2),(61,40,11,3),(11,7,12,3),(154,100,12,3),(312,211,12,3),(714,486,12,2),(732,504,12,2),(16,10,13,3),(786,558,13,2),(501,333,14,3),(558,369,14,3),(384,261,15,3),(438,296,15,3),(530,350,16,3),(619,411,16,3),(683,455,16,2),(701,473,16,2),(740,512,16,2),(418,283,18,3),(712,484,18,2),(731,503,18,2),(789,561,18,2),(216,143,19,3),(583,386,19,3),(684,456,19,2),(134,88,20,3),(757,529,20,2),(508,337,21,3),(324,219,22,3),(551,364,22,3),(167,108,23,3),(448,302,23,3),(775,547,23,2),(101,66,24,3),(24,16,25,3),(196,130,26,3),(269,181,26,3),(513,340,26,3),(526,348,26,3),(545,360,26,3),(718,490,26,2),(734,506,26,2),(782,554,26,2),(31,20,27,3),(228,151,27,2),(229,152,27,2),(231,153,27,2),(233,154,27,2),(234,155,27,2),(235,156,27,2),(236,157,27,2),(237,158,27,2),(238,159,27,2),(240,160,27,2),(242,161,27,2),(243,162,27,2),(244,163,27,2),(245,164,27,2),(246,165,27,2),(248,166,27,2),(250,167,27,2),(252,168,27,2),(254,169,27,2),(255,170,27,2),(256,171,27,2),(257,172,27,2),(259,173,27,2),(260,174,27,2),(262,175,27,2),(263,176,27,2),(264,177,27,2),(265,178,27,2),(266,179,27,2),(267,180,27,2),(268,181,27,2),(270,182,27,2),(272,183,27,2),(273,184,27,2),(275,185,27,2),(277,186,27,2),(278,187,27,2),(280,188,27,2),(281,189,27,2),(283,190,27,2),(284,191,27,2),(285,192,27,2),(286,193,27,2),(287,194,27,2),(288,195,27,2),(290,196,27,2),(291,197,27,2),(292,198,27,2),(293,199,27,2),(294,200,27,2),(296,201,27,2),(297,202,27,2),(299,203,27,2),(300,204,27,2),(302,205,27,2),(303,206,27,2),(305,207,27,2),(306,208,27,2),(307,209,27,2),(309,210,27,2),(311,211,27,2),(313,212,27,2),(315,213,27,2),(317,214,27,2),(318,215,27,2),(319,216,27,2),(321,217,27,2),(322,218,27,2),(323,219,27,2),(325,220,27,2),(327,221,27,2),(328,222,27,2),(329,223,27,2),(330,224,27,2),(331,225,27,2),(332,226,27,2),(333,227,27,2),(334,228,27,2),(336,229,27,2),(338,230,27,2),(339,231,27,2),(341,232,27,2),(343,233,27,2),(345,234,27,2),(347,235,27,2),(348,236,27,2),(349,237,27,2),(350,238,27,2),(351,239,27,2),(353,240,27,2),(355,241,27,2),(357,242,27,2),(358,243,27,2),(359,244,27,2),(361,245,27,2),(362,246,27,2),(363,247,27,2),(364,248,27,2),(365,248,27,3),(366,249,27,2),(367,250,27,2),(368,251,27,2),(370,252,27,2),(372,253,27,2),(373,254,27,2),(374,255,27,2),(376,256,27,2),(377,257,27,2),(378,258,27,2),(380,259,27,2),(381,260,27,2),(383,261,27,2),(385,262,27,2),(386,263,27,2),(388,264,27,2),(389,265,27,2),(391,266,27,2),(392,267,27,2),(394,268,27,2),(396,269,27,2),(397,270,27,2),(398,271,27,2),(400,272,27,2),(402,273,27,2),(403,274,27,2),(405,275,27,2),(406,276,27,2),(408,277,27,2),(410,278,27,2),(412,279,27,2),(413,280,27,2),(415,281,27,2),(416,282,27,2),(417,283,27,2),(419,284,27,2),(420,285,27,2),(421,286,27,2),(422,287,27,2),(423,288,27,2),(425,289,27,2),(427,290,27,2),(429,291,27,2),(431,292,27,2),(433,293,27,2),(434,294,27,2),(436,295,27,2),(437,296,27,2),(439,297,27,2),(441,298,27,2),(443,299,27,2),(444,300,27,2),(671,444,29,3),(96,63,30,3),(424,288,30,3),(793,565,30,2),(382,260,31,3),(778,550,31,2),(690,462,32,2),(691,463,32,2),(772,544,32,2),(687,459,34,2),(755,527,34,2),(468,314,35,3),(492,328,35,3),(174,113,36,3),(298,202,36,3),(352,239,36,3),(407,276,36,3),(715,487,36,2),(746,518,36,2),(496,330,37,3),(144,94,38,3),(214,142,38,3),(442,298,38,3),(567,374,39,3),(572,377,39,3),(218,144,40,3),(414,280,40,3),(477,320,40,3),(595,395,40,3),(605,402,40,3),(432,292,41,3),(660,436,41,3),(765,537,41,2),(399,271,42,3),(475,319,42,3),(709,481,42,2),(744,516,42,2),(758,530,42,2),(21,14,43,3),(274,184,43,3),(669,443,43,3),(689,461,43,2),(310,210,44,3),(119,77,45,3),(369,251,45,3),(69,45,46,3),(360,244,46,3),(450,303,46,3),(539,356,46,3),(703,475,46,2),(741,513,46,2),(430,291,48,3),(767,539,48,2),(104,68,49,3),(316,213,49,3),(667,442,49,3),(163,106,50,3),(271,182,50,3),(458,308,50,3),(785,557,50,2),(44,28,51,3),(511,339,51,3),(211,140,52,3),(518,343,52,3),(704,476,52,2),(727,499,52,2),(137,90,53,3),(151,98,53,3),(654,433,53,3),(3,2,54,3),(253,168,55,3),(289,195,55,3),(354,240,55,3),(73,47,56,3),(81,53,56,3),(337,229,56,3),(342,232,56,3),(227,150,57,3),(241,160,57,3),(279,187,57,3),(590,391,57,3),(717,489,57,2),(747,519,57,2),(39,25,58,3),(471,316,58,3),(494,329,58,3),(498,331,58,3),(639,425,58,3),(41,26,59,3),(411,278,59,3),(59,39,60,3),(258,172,60,3),(694,466,60,2),(723,495,60,2),(170,110,61,3),(523,346,61,3),(622,413,61,3),(37,24,62,3),(628,417,62,3),(678,450,62,3),(797,569,62,2),(784,556,63,2),(56,37,64,3),(506,336,64,3),(610,405,64,3),(29,19,65,3),(247,165,65,3),(261,174,65,3),(549,363,65,3),(200,133,66,3),(335,228,66,3),(53,35,67,3),(344,233,67,3),(401,272,67,3),(560,370,67,3),(636,423,67,3),(643,427,68,3),(125,82,69,3),(625,415,69,3),(75,48,70,3),(404,274,70,3),(428,290,70,3),(435,294,70,3),(487,325,70,3),(87,57,71,3),(116,75,71,3),(194,129,71,3),(207,138,71,3),(356,241,71,3),(371,252,71,3),(688,460,71,2),(314,212,72,3),(485,324,72,3),(113,73,74,3),(641,426,74,3),(656,434,74,3),(35,23,75,3),(159,104,75,3),(504,335,75,3),(563,372,75,3),(90,59,76,3),(98,64,76,3),(462,310,76,3),(483,323,76,3),(139,91,77,3),(185,122,77,3),(533,352,77,3),(187,123,78,3),(520,344,78,3),(713,485,78,2),(751,523,78,2),(128,84,79,3),(249,166,79,3),(276,185,79,3),(395,268,79,3),(445,301,79,2),(447,302,79,2),(449,303,79,2),(451,304,79,2),(452,305,79,2),(454,306,79,2),(456,307,79,2),(457,308,79,2),(459,309,79,2),(461,310,79,2),(463,311,79,2),(464,312,79,2),(465,313,79,2),(467,314,79,2),(469,315,79,2),(470,316,79,2),(472,317,79,2),(473,318,79,2),(474,319,79,2),(476,320,79,2),(478,321,79,2),(480,322,79,2),(482,323,79,2),(484,324,79,2),(486,325,79,2),(488,326,79,2),(490,327,79,2),(491,328,79,2),(493,329,79,2),(495,330,79,2),(497,331,79,2),(499,332,79,2),(500,333,79,2),(502,334,79,2),(503,335,79,2),(505,336,79,2),(507,337,79,2),(509,338,79,2),(510,339,79,2),(512,340,79,2),(514,341,79,2),(516,342,79,2),(517,343,79,2),(519,344,79,2),(521,345,79,2),(522,346,79,2),(524,347,79,2),(525,348,79,2),(527,349,79,2),(528,349,79,3),(529,350,79,2),(531,351,79,2),(532,352,79,2),(534,353,79,2),(535,354,79,2),(537,355,79,2),(538,356,79,2),(540,357,79,2),(541,358,79,2),(543,359,79,2),(544,360,79,2),(546,361,79,2),(547,362,79,2),(548,363,79,2),(550,364,79,2),(552,365,79,2),(554,366,79,2),(555,367,79,2),(556,368,79,2),(557,369,79,2),(559,370,79,2),(561,371,79,2),(562,372,79,2),(564,373,79,2),(566,374,79,2),(568,375,79,2),(569,375,79,3),(570,376,79,2),(571,377,79,2),(573,378,79,2),(575,379,79,2),(576,380,79,2),(577,381,79,2),(578,382,79,2),(579,383,79,2),(580,384,79,2),(581,385,79,2),(582,386,79,2),(584,387,79,2),(586,388,79,2),(587,389,79,2),(588,390,79,2),(589,391,79,2),(591,392,79,2),(592,393,79,2),(593,394,79,2),(594,395,79,2),(596,396,79,2),(598,397,79,2),(600,398,79,2),(601,399,79,2),(602,400,79,2),(603,401,79,2),(604,402,79,2),(606,403,79,2),(607,404,79,2),(609,405,79,2),(611,406,79,2),(613,407,79,2),(614,408,79,2),(615,409,79,2),(617,410,79,2),(618,411,79,2),(620,412,79,2),(621,413,79,2),(623,414,79,2),(624,415,79,2),(626,416,79,2),(627,417,79,2),(629,418,79,2),(630,419,79,2),(631,420,79,2),(632,421,79,2),(634,422,79,2),(635,423,79,2),(637,424,79,2),(638,425,79,2),(640,426,79,2),(642,427,79,2),(644,428,79,2),(645,429,79,2),(647,430,79,2),(649,431,79,2),(651,432,79,2),(653,433,79,2),(655,434,79,2),(657,435,79,2),(659,436,79,2),(661,437,79,2),(662,438,79,2),(663,439,79,2),(664,440,79,2),(665,441,79,2),(666,442,79,2),(668,443,79,2),(670,444,79,2),(672,445,79,2),(673,446,79,2),(674,447,79,2),(675,448,79,2),(676,449,79,2),(677,450,79,2),(774,546,79,2),(64,42,80,3),(515,341,80,3),(224,148,81,3),(282,189,81,3),(453,305,82,3),(685,457,82,2),(788,560,82,2),(320,216,83,3),(132,87,84,3),(326,220,84,3),(71,46,85,3),(553,365,85,3),(426,289,86,3),(612,406,86,3),(379,258,87,3),(209,139,88,3),(232,153,88,3),(650,431,88,3),(149,97,89,3),(466,313,89,3),(542,358,89,3),(13,8,90,3),(108,70,90,3),(481,322,90,3),(648,430,90,3),(698,470,90,2),(725,497,90,2),(799,571,90,2),(393,267,91,3),(633,421,91,3),(295,200,92,3),(440,297,92,3),(597,396,92,3),(686,458,92,2),(230,152,93,3),(574,378,93,3),(26,17,94,3),(165,107,94,3),(308,209,94,3),(142,93,95,3),(460,309,95,3),(699,471,95,2),(739,511,95,2),(5,3,96,3),(94,62,96,3),(161,105,96,3),(652,432,96,3),(390,265,97,3),(646,429,97,3),(51,34,98,3),(304,206,98,3),(346,234,98,3),(536,354,99,3),(616,409,99,3),(768,540,99,2),(67,44,100,3),(565,373,100,3),(177,115,101,3),(710,482,105,2),(730,502,105,2),(764,536,107,2),(756,528,108,2),(777,549,111,2),(716,488,113,2),(733,505,113,2),(708,480,115,2),(729,501,115,2),(705,477,116,2),(742,514,116,2),(711,483,118,2),(745,517,118,2),(763,535,119,2),(695,467,124,2),(737,509,124,2),(771,543,128,2),(706,478,132,2),(728,500,132,2),(798,570,132,2),(779,551,133,2),(720,492,134,2),(735,507,134,2),(790,562,137,2),(761,533,141,2),(693,465,148,2),(736,508,148,2),(700,472,149,2),(726,498,149,2),(753,525,150,2),(754,526,156,2),(702,474,159,2),(750,522,159,2),(783,555,160,2),(801,573,163,2),(802,574,167,2),(696,468,170,2),(724,496,170,2),(760,532,172,2),(792,564,173,2),(692,464,177,2),(722,494,177,2),(787,559,181,2),(719,491,182,2),(748,520,182,2),(791,563,182,2),(721,493,183,2),(749,521,183,2),(773,545,183,2),(770,542,184,2),(795,567,185,2),(800,572,186,2),(781,553,188,2),(769,541,191,2),(794,566,196,2),(796,568,199,2); +INSERT INTO `civicrm_activity_contact` (`id`, `activity_id`, `contact_id`, `record_type_id`) VALUES (455,298,1,3),(652,424,1,3),(796,556,1,2),(320,207,2,3),(425,276,2,3),(691,451,2,2),(67,43,3,3),(483,316,3,3),(515,335,4,3),(692,452,4,2),(161,106,5,3),(233,151,5,3),(333,216,5,3),(789,549,5,2),(693,453,6,2),(22,15,7,3),(92,60,7,3),(155,102,7,3),(195,127,7,3),(269,174,7,3),(281,183,7,3),(329,214,7,3),(370,240,7,3),(4,3,8,3),(396,255,8,3),(694,454,8,2),(810,570,8,2),(227,147,9,3),(347,225,9,3),(412,266,9,3),(526,341,9,3),(374,243,10,3),(574,373,10,3),(724,484,10,2),(744,504,10,2),(83,53,11,3),(404,260,11,3),(238,154,12,3),(402,259,12,3),(126,83,13,3),(355,230,13,3),(479,313,13,3),(626,406,15,3),(685,445,15,3),(236,153,16,3),(695,455,16,2),(719,479,16,2),(755,515,16,2),(113,73,17,3),(568,369,17,3),(12,9,18,3),(283,184,18,3),(367,238,18,3),(644,419,18,3),(797,557,18,2),(14,10,19,3),(150,99,19,3),(459,301,19,2),(461,302,19,2),(463,303,19,2),(465,304,19,2),(466,305,19,2),(468,306,19,2),(469,307,19,2),(470,308,19,2),(472,309,19,2),(473,310,19,2),(475,311,19,2),(476,312,19,2),(478,313,19,2),(480,314,19,2),(481,315,19,2),(482,316,19,2),(484,317,19,2),(486,318,19,2),(487,319,19,2),(489,320,19,2),(490,321,19,2),(492,322,19,2),(494,323,19,2),(496,324,19,2),(497,325,19,2),(498,326,19,2),(500,327,19,2),(501,328,19,2),(503,329,19,2),(505,330,19,2),(507,331,19,2),(508,332,19,2),(510,333,19,2),(512,334,19,2),(514,335,19,2),(516,336,19,2),(518,337,19,2),(520,338,19,2),(522,339,19,2),(524,340,19,2),(525,341,19,2),(527,342,19,2),(529,343,19,2),(531,344,19,2),(532,345,19,2),(534,346,19,2),(536,347,19,2),(538,348,19,2),(539,349,19,2),(541,350,19,2),(542,351,19,2),(544,352,19,2),(546,353,19,2),(547,354,19,2),(548,355,19,2),(550,356,19,2),(551,357,19,2),(552,358,19,2),(553,359,19,2),(555,360,19,2),(556,361,19,2),(557,362,19,2),(558,363,19,2),(560,364,19,2),(562,365,19,2),(563,366,19,2),(564,367,19,2),(565,368,19,2),(567,369,19,2),(569,370,19,2),(571,371,19,2),(572,372,19,2),(573,373,19,2),(575,374,19,2),(576,375,19,2),(577,376,19,2),(579,377,19,2),(580,378,19,2),(582,379,19,2),(583,380,19,2),(585,381,19,2),(586,382,19,2),(588,383,19,2),(589,384,19,2),(591,385,19,2),(593,386,19,2),(595,387,19,2),(597,388,19,2),(599,389,19,2),(601,390,19,2),(602,391,19,2),(603,392,19,2),(605,393,19,2),(607,394,19,2),(608,395,19,2),(609,396,19,2),(611,397,19,2),(613,398,19,2),(614,399,19,2),(616,400,19,2),(617,401,19,2),(618,402,19,2),(620,403,19,2),(621,404,19,2),(623,405,19,2),(625,406,19,2),(627,407,19,2),(628,408,19,2),(630,409,19,2),(631,410,19,2),(632,411,19,2),(633,412,19,2),(634,413,19,2),(636,414,19,2),(637,415,19,2),(638,416,19,2),(639,417,19,2),(641,418,19,2),(643,419,19,2),(645,420,19,2),(646,421,19,2),(648,422,19,2),(650,423,19,2),(651,424,19,2),(653,425,19,2),(655,426,19,2),(656,427,19,2),(657,428,19,2),(658,429,19,2),(660,430,19,2),(661,431,19,2),(663,432,19,2),(665,433,19,2),(667,434,19,2),(669,435,19,2),(671,436,19,2),(673,437,19,2),(674,438,19,2),(676,439,19,2),(677,440,19,2),(678,441,19,2),(679,442,19,2),(681,443,19,2),(683,444,19,2),(684,445,19,2),(686,446,19,2),(687,447,19,2),(688,448,19,2),(689,449,19,2),(690,450,19,2),(696,456,19,2),(720,480,19,2),(742,502,19,2),(140,93,21,3),(802,562,21,2),(16,11,22,3),(298,194,22,3),(34,23,23,3),(464,303,23,3),(533,345,23,3),(604,392,23,3),(331,215,24,3),(509,332,25,3),(513,334,25,3),(596,387,25,3),(672,436,26,3),(578,376,27,3),(581,378,27,3),(163,107,28,3),(590,384,28,3),(294,192,29,3),(309,201,29,3),(666,433,29,3),(559,363,30,3),(783,543,30,2),(225,146,31,3),(254,164,31,3),(278,181,31,3),(519,337,31,3),(69,44,32,3),(172,113,32,3),(416,269,32,3),(680,442,32,3),(702,462,32,2),(703,463,32,2),(56,36,33,3),(365,237,33,3),(389,251,33,3),(592,385,33,3),(175,115,34,3),(241,156,34,3),(303,197,34,3),(521,338,34,3),(699,459,34,2),(805,565,34,2),(215,140,35,3),(422,274,35,3),(709,469,35,2),(751,511,35,2),(587,382,36,3),(670,435,36,3),(675,438,36,3),(721,481,36,2),(756,516,36,2),(187,122,37,3),(457,299,37,3),(506,330,37,3),(771,531,37,2),(146,97,38,3),(325,211,38,3),(440,287,38,3),(649,422,38,3),(718,478,39,2),(741,501,39,2),(442,288,40,3),(212,138,41,3),(318,206,41,3),(398,256,41,3),(545,352,41,3),(790,550,41,2),(208,136,43,3),(271,175,43,3),(380,246,43,3),(474,310,43,3),(701,461,43,2),(263,170,44,3),(561,364,44,3),(243,157,45,3),(495,323,45,3),(808,568,45,2),(58,37,46,3),(197,128,46,3),(606,393,46,3),(713,473,46,2),(739,499,46,2),(570,370,47,3),(210,137,48,3),(511,333,48,3),(640,417,48,3),(345,224,49,3),(530,343,49,3),(785,545,49,2),(462,302,50,3),(25,17,51,3),(36,24,51,3),(183,120,51,3),(341,222,51,3),(359,233,51,3),(266,172,53,3),(708,468,53,2),(736,496,53,2),(128,84,54,3),(436,284,54,3),(87,56,55,3),(285,185,55,3),(313,203,55,3),(471,308,55,3),(766,526,55,2),(95,62,56,3),(528,342,56,3),(659,429,56,3),(668,434,56,3),(97,63,57,3),(343,223,57,3),(710,470,57,2),(737,497,57,2),(800,560,57,2),(543,351,58,3),(799,559,58,2),(336,218,59,3),(477,312,59,3),(642,418,59,3),(647,421,59,3),(169,111,60,3),(185,121,60,3),(523,339,60,3),(19,13,61,3),(256,165,61,3),(517,336,61,3),(682,443,61,3),(378,245,62,3),(537,347,62,3),(726,486,62,2),(745,505,62,2),(38,25,63,3),(73,46,63,3),(301,196,63,3),(353,229,63,3),(385,249,63,3),(566,368,63,3),(48,30,64,3),(179,118,64,3),(248,160,65,3),(191,125,66,3),(261,169,67,3),(493,322,67,3),(811,571,67,2),(40,26,68,3),(220,143,68,3),(305,198,68,3),(488,319,68,3),(31,21,69,3),(406,261,69,3),(612,397,69,3),(733,493,69,2),(761,521,69,2),(807,567,69,2),(491,321,70,3),(535,346,70,3),(152,100,71,3),(287,186,71,3),(452,296,71,3),(615,399,71,3),(700,460,71,2),(504,329,72,3),(801,561,72,2),(29,20,73,3),(144,96,73,3),(52,33,74,3),(460,301,74,3),(99,64,75,3),(798,558,75,2),(7,5,76,3),(387,250,76,3),(138,92,77,3),(148,98,77,3),(245,158,77,3),(431,281,77,3),(251,162,78,3),(349,226,78,3),(362,235,78,3),(635,413,78,3),(159,105,80,3),(584,380,80,3),(654,425,80,3),(44,28,81,3),(619,402,81,3),(391,252,82,3),(697,457,82,2),(181,119,83,3),(499,326,83,3),(554,359,83,3),(662,431,83,3),(773,533,83,2),(315,204,84,3),(502,328,84,3),(467,305,85,3),(629,408,85,3),(103,66,86,3),(433,282,86,3),(795,555,86,2),(46,29,87,3),(42,27,88,3),(60,38,88,3),(376,244,89,3),(540,349,89,3),(729,489,89,2),(759,519,89,2),(814,574,89,2),(218,142,90,3),(382,247,90,3),(78,50,91,3),(101,65,91,3),(394,254,91,3),(549,355,91,3),(600,389,91,3),(610,396,91,3),(705,465,91,2),(749,509,91,2),(784,544,91,2),(222,144,92,3),(622,404,92,3),(698,458,92,2),(723,483,92,2),(757,517,92,2),(781,541,92,2),(131,86,93,3),(448,293,93,3),(598,388,93,3),(780,540,93,2),(62,39,94,3),(120,79,94,3),(296,193,94,3),(123,81,96,3),(167,110,96,3),(71,45,97,3),(107,69,97,3),(109,70,97,3),(203,132,97,3),(231,150,97,3),(485,317,97,3),(193,126,98,3),(200,130,98,3),(767,527,99,2),(81,52,100,3),(311,202,100,3),(594,386,100,3),(664,432,100,3),(624,405,101,3),(730,490,101,2),(747,507,101,2),(722,482,104,2),(743,503,104,2),(779,539,105,2),(775,535,108,2),(728,488,113,2),(746,506,113,2),(1,1,114,2),(2,2,114,2),(3,3,114,2),(5,4,114,2),(6,5,114,2),(8,6,114,2),(9,7,114,2),(10,8,114,2),(11,9,114,2),(13,10,114,2),(15,11,114,2),(17,12,114,2),(18,13,114,2),(20,14,114,2),(21,15,114,2),(23,16,114,2),(24,17,114,2),(26,18,114,2),(27,19,114,2),(28,20,114,2),(30,21,114,2),(32,22,114,2),(33,23,114,2),(35,24,114,2),(37,25,114,2),(39,26,114,2),(41,27,114,2),(43,28,114,2),(45,29,114,2),(47,30,114,2),(49,31,114,2),(50,32,114,2),(51,33,114,2),(53,34,114,2),(54,35,114,2),(55,36,114,2),(57,37,114,2),(59,38,114,2),(61,39,114,2),(63,40,114,2),(64,41,114,2),(65,42,114,2),(66,43,114,2),(68,44,114,2),(70,45,114,2),(72,46,114,2),(74,47,114,2),(75,48,114,2),(76,49,114,2),(77,50,114,2),(79,51,114,2),(80,52,114,2),(82,53,114,2),(84,54,114,2),(85,55,114,2),(86,56,114,2),(88,57,114,2),(89,58,114,2),(90,59,114,2),(91,60,114,2),(93,61,114,2),(94,62,114,2),(96,63,114,2),(98,64,114,2),(100,65,114,2),(102,66,114,2),(104,67,114,2),(105,68,114,2),(106,69,114,2),(108,70,114,2),(110,71,114,2),(111,72,114,2),(112,73,114,2),(114,74,114,2),(115,75,114,2),(116,76,114,2),(117,77,114,2),(118,78,114,2),(119,79,114,2),(121,80,114,2),(122,81,114,2),(124,82,114,2),(125,83,114,2),(127,84,114,2),(129,85,114,2),(130,86,114,2),(132,87,114,2),(133,88,114,2),(134,89,114,2),(135,90,114,2),(136,91,114,2),(137,92,114,2),(139,93,114,2),(141,94,114,2),(142,95,114,2),(143,96,114,2),(145,97,114,2),(147,98,114,2),(149,99,114,2),(151,100,114,2),(153,101,114,2),(154,102,114,2),(156,103,114,2),(157,104,114,2),(158,105,114,2),(160,106,114,2),(162,107,114,2),(164,108,114,2),(165,109,114,2),(166,110,114,2),(168,111,114,2),(170,112,114,2),(171,113,114,2),(173,114,114,2),(174,115,114,2),(176,116,114,2),(177,117,114,2),(178,118,114,2),(180,119,114,2),(182,120,114,2),(184,121,114,2),(186,122,114,2),(188,123,114,2),(189,124,114,2),(190,125,114,2),(192,126,114,2),(194,127,114,2),(196,128,114,2),(198,129,114,2),(199,130,114,2),(201,131,114,2),(202,132,114,2),(204,133,114,2),(205,134,114,2),(206,135,114,2),(207,136,114,2),(209,137,114,2),(211,138,114,2),(213,139,114,2),(214,140,114,2),(216,141,114,2),(217,142,114,2),(219,143,114,2),(221,144,114,2),(223,145,114,2),(224,146,114,2),(226,147,114,2),(228,148,114,2),(229,149,114,2),(230,150,114,2),(787,547,114,2),(782,542,119,2),(793,553,120,2),(727,487,121,2),(758,518,121,2),(716,476,123,2),(740,500,123,2),(774,534,124,2),(707,467,125,2),(750,510,125,2),(772,532,127,2),(704,464,130,2),(734,494,130,2),(731,491,134,2),(760,520,134,2),(812,572,135,2),(809,569,139,2),(768,528,143,2),(706,466,145,2),(735,495,145,2),(776,536,145,2),(232,151,148,2),(234,152,148,2),(235,153,148,2),(237,154,148,2),(239,155,148,2),(240,156,148,2),(242,157,148,2),(244,158,148,2),(246,159,148,2),(247,160,148,2),(249,161,148,2),(250,162,148,2),(252,163,148,2),(253,164,148,2),(255,165,148,2),(257,166,148,2),(258,167,148,2),(259,168,148,2),(260,169,148,2),(262,170,148,2),(264,171,148,2),(265,172,148,2),(267,173,148,2),(268,174,148,2),(270,175,148,2),(272,176,148,2),(273,177,148,2),(274,178,148,2),(275,179,148,2),(276,180,148,2),(277,181,148,2),(279,182,148,2),(280,183,148,2),(282,184,148,2),(284,185,148,2),(286,186,148,2),(288,187,148,2),(289,188,148,2),(290,189,148,2),(291,190,148,2),(292,191,148,2),(293,192,148,2),(295,193,148,2),(297,194,148,2),(299,195,148,2),(300,196,148,2),(302,197,148,2),(304,198,148,2),(306,199,148,2),(307,200,148,2),(308,201,148,2),(310,202,148,2),(312,203,148,2),(314,204,148,2),(316,205,148,2),(317,206,148,2),(319,207,148,2),(321,208,148,2),(322,209,148,2),(323,210,148,2),(324,211,148,2),(326,212,148,2),(327,213,148,2),(328,214,148,2),(330,215,148,2),(332,216,148,2),(334,217,148,2),(335,218,148,2),(337,219,148,2),(338,220,148,2),(339,221,148,2),(340,222,148,2),(342,223,148,2),(344,224,148,2),(346,225,148,2),(348,226,148,2),(350,227,148,2),(351,228,148,2),(352,229,148,2),(354,230,148,2),(356,231,148,2),(357,232,148,2),(358,233,148,2),(360,234,148,2),(361,235,148,2),(363,236,148,2),(364,237,148,2),(366,238,148,2),(368,239,148,2),(369,240,148,2),(371,241,148,2),(372,242,148,2),(373,243,148,2),(375,244,148,2),(377,245,148,2),(379,246,148,2),(381,247,148,2),(383,248,148,2),(384,249,148,2),(386,250,148,2),(388,251,148,2),(390,252,148,2),(392,253,148,2),(393,254,148,2),(395,255,148,2),(397,256,148,2),(399,257,148,2),(400,258,148,2),(401,259,148,2),(403,260,148,2),(405,261,148,2),(407,262,148,2),(408,263,148,2),(409,264,148,2),(410,265,148,2),(411,266,148,2),(413,267,148,2),(414,268,148,2),(415,269,148,2),(417,270,148,2),(418,271,148,2),(419,272,148,2),(420,273,148,2),(421,274,148,2),(423,275,148,2),(424,276,148,2),(426,277,148,2),(427,278,148,2),(428,279,148,2),(429,280,148,2),(430,281,148,2),(432,282,148,2),(434,283,148,2),(435,284,148,2),(437,285,148,2),(438,286,148,2),(439,287,148,2),(441,288,148,2),(443,289,148,2),(444,290,148,2),(445,291,148,2),(446,292,148,2),(447,293,148,2),(449,294,148,2),(450,295,148,2),(451,296,148,2),(453,297,148,2),(454,298,148,2),(456,299,148,2),(458,300,148,2),(715,475,151,2),(753,513,151,2),(714,474,153,2),(762,522,153,2),(786,546,153,2),(813,573,157,2),(791,551,159,2),(803,563,163,2),(769,529,170,2),(725,485,173,2),(763,523,173,2),(712,472,178,2),(738,498,178,2),(777,537,178,2),(794,554,179,2),(788,548,183,2),(804,564,184,2),(765,525,186,2),(770,530,187,2),(778,538,189,2),(711,471,190,2),(752,512,190,2),(806,566,190,2),(717,477,192,2),(754,514,192,2),(792,552,193,2),(732,492,197,2),(748,508,197,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,57,1,1,0,'657K Pine Ave SW',657,'K',NULL,'Pine','Ave','SW',NULL,NULL,NULL,NULL,'Morristown',1,1041,NULL,'37815',NULL,1228,36.213293,-83.275211,0,NULL,NULL,NULL),(2,69,1,1,0,'197L El Camino Pl SW',197,'L',NULL,'El Camino','Pl','SW',NULL,NULL,NULL,NULL,'Sand Springs',1,1035,NULL,'74063',NULL,1228,36.139385,-96.16523,0,NULL,NULL,NULL),(3,48,1,1,0,'296G Dowlen Pl W',296,'G',NULL,'Dowlen','Pl','W',NULL,NULL,NULL,NULL,'Redfox',1,1016,NULL,'41847',NULL,1228,37.21583,-82.95449,0,NULL,NULL,NULL),(4,128,1,1,0,'859X Main Way E',859,'X',NULL,'Main','Way','E',NULL,NULL,NULL,NULL,'Tulsa',1,1035,NULL,'74158',NULL,1228,36.139826,-96.029725,0,NULL,NULL,NULL),(5,66,1,1,0,'418U Woodbridge Path W',418,'U',NULL,'Woodbridge','Path','W',NULL,NULL,NULL,NULL,'Gregory',1,1042,NULL,'78359',NULL,1228,27.920604,-97.29248,0,NULL,NULL,NULL),(6,5,1,1,0,'747S Dowlen Rd SW',747,'S',NULL,'Dowlen','Rd','SW',NULL,NULL,NULL,NULL,'Ball',1,1017,NULL,'71405',NULL,1228,31.415125,-92.394536,0,NULL,NULL,NULL),(7,170,1,1,0,'566H Pine St SE',566,'H',NULL,'Pine','St','SE',NULL,NULL,NULL,NULL,'Bedminster',1,1037,NULL,'18910',NULL,1228,40.328645,-75.10278,0,NULL,NULL,NULL),(8,112,1,1,0,'43D Second Rd E',43,'D',NULL,'Second','Rd','E',NULL,NULL,NULL,NULL,'Ogden',1,1043,NULL,'84409',NULL,1228,41.255285,-111.956721,0,NULL,NULL,NULL),(9,18,1,1,0,'154H Caulder Ln N',154,'H',NULL,'Caulder','Ln','N',NULL,NULL,NULL,NULL,'Black Hawk',1,1005,NULL,'80422',NULL,1228,39.813744,-105.50875,0,NULL,NULL,NULL),(10,60,1,1,0,'966X Jackson Rd NE',966,'X',NULL,'Jackson','Rd','NE',NULL,NULL,NULL,NULL,'Philadelphia',1,1037,NULL,'19129',NULL,1228,40.011562,-75.1839,0,NULL,NULL,NULL),(11,177,1,1,0,'911F Caulder Dr SE',911,'F',NULL,'Caulder','Dr','SE',NULL,NULL,NULL,NULL,'Tupelo',1,1023,NULL,'38803',NULL,1228,34.187638,-88.77852,0,NULL,NULL,NULL),(12,149,1,1,0,'781X Cadell Blvd SW',781,'X',NULL,'Cadell','Blvd','SW',NULL,NULL,NULL,NULL,'Rome',1,1031,NULL,'13440',NULL,1228,43.217069,-75.45531,0,NULL,NULL,NULL),(13,24,1,1,0,'562S Green Path E',562,'S',NULL,'Green','Path','E',NULL,NULL,NULL,NULL,'Haralson',1,1009,NULL,'30229',NULL,1228,33.232156,-84.56854,0,NULL,NULL,NULL),(14,30,1,1,0,'648E States Pl NE',648,'E',NULL,'States','Pl','NE',NULL,NULL,NULL,NULL,'East Baldwin',1,1018,NULL,'04024',NULL,1228,43.823849,-70.68482,0,NULL,NULL,NULL),(15,12,1,1,0,'907N College Pl SW',907,'N',NULL,'College','Pl','SW',NULL,NULL,NULL,NULL,'Saint Xavier',1,1025,NULL,'59075',NULL,1228,45.395656,-107.93409,0,NULL,NULL,NULL),(16,114,1,1,0,'169I College Path E',169,'I',NULL,'College','Path','E',NULL,NULL,NULL,NULL,'Centerville',1,1003,NULL,'72829',NULL,1228,35.110131,-93.17279,0,NULL,NULL,NULL),(17,154,1,1,0,'751Q Dowlen Ave W',751,'Q',NULL,'Dowlen','Ave','W',NULL,NULL,NULL,NULL,'Damon',1,1042,NULL,'77430',NULL,1228,29.290602,-95.70739,0,NULL,NULL,NULL),(18,99,1,1,0,'614T Northpoint Way SW',614,'T',NULL,'Northpoint','Way','SW',NULL,NULL,NULL,NULL,'San Mateo',1,1004,NULL,'94401',NULL,1228,37.570385,-122.32044,0,NULL,NULL,NULL),(19,26,1,1,0,'607P Green St NE',607,'P',NULL,'Green','St','NE',NULL,NULL,NULL,NULL,'Medina',1,1034,NULL,'44258',NULL,1228,41.127594,-81.841079,0,NULL,NULL,NULL),(20,75,1,1,0,'587P Maple Pl N',587,'P',NULL,'Maple','Pl','N',NULL,NULL,NULL,NULL,'Princeton',1,1012,NULL,'61356',NULL,1228,41.372528,-89.44315,0,NULL,NULL,NULL),(21,118,1,1,0,'297Z Martin Luther King Path NE',297,'Z',NULL,'Martin Luther King','Path','NE',NULL,NULL,NULL,NULL,'Bushnell',1,1026,NULL,'69128',NULL,1228,41.173278,-103.9024,0,NULL,NULL,NULL),(22,40,1,1,0,'696Q Caulder Blvd E',696,'Q',NULL,'Caulder','Blvd','E',NULL,NULL,NULL,NULL,'Colome',1,1040,NULL,'57528',NULL,1228,43.205207,-99.76123,0,NULL,NULL,NULL),(23,38,1,1,0,'660L Second Ave E',660,'L',NULL,'Second','Ave','E',NULL,NULL,NULL,NULL,'Bedford',1,1028,NULL,'03110',NULL,1228,42.942551,-71.51993,0,NULL,NULL,NULL),(24,50,1,1,0,'272I Martin Luther King Way E',272,'I',NULL,'Martin Luther King','Way','E',NULL,NULL,NULL,NULL,'Panama',1,1014,NULL,'51562',NULL,1228,41.725547,-95.49415,0,NULL,NULL,NULL),(25,119,1,1,0,'45P Caulder Ave E',45,'P',NULL,'Caulder','Ave','E',NULL,NULL,NULL,NULL,'Banner',1,1049,NULL,'82832',NULL,1228,44.602518,-106.76367,0,NULL,NULL,NULL),(26,164,1,1,0,'480D Maple Path N',480,'D',NULL,'Maple','Path','N',NULL,NULL,NULL,NULL,'Judith Gap',1,1025,NULL,'59453',NULL,1228,46.678858,-109.64119,0,NULL,NULL,NULL),(27,158,1,1,0,'588K Green Blvd NE',588,'K',NULL,'Green','Blvd','NE',NULL,NULL,NULL,NULL,'Clay',1,1016,NULL,'42404',NULL,1228,37.481719,-87.8394,0,NULL,NULL,NULL),(28,14,1,1,0,'121Y Cadell Blvd NW',121,'Y',NULL,'Cadell','Blvd','NW',NULL,NULL,NULL,NULL,'New Kensington',1,1037,NULL,'15069',NULL,1228,40.360223,-79.439801,0,NULL,NULL,NULL),(29,67,1,1,0,'781A Woodbridge Rd NE',781,'A',NULL,'Woodbridge','Rd','NE',NULL,NULL,NULL,NULL,'La Belle',1,1024,NULL,'63477',NULL,1228,40.114109,-91.912383,0,NULL,NULL,NULL),(30,113,1,1,0,'523Q Maple Ave S',523,'Q',NULL,'Maple','Ave','S',NULL,NULL,NULL,NULL,'Glenn Dale',1,1019,NULL,'20769',NULL,1228,38.984107,-76.81544,0,NULL,NULL,NULL),(31,185,1,1,0,'918W College Ave NW',918,'W',NULL,'College','Ave','NW',NULL,NULL,NULL,NULL,'Canterbury',1,1028,NULL,'03224',NULL,1228,43.346137,-71.54434,0,NULL,NULL,NULL),(32,102,1,1,0,'171E Northpoint Dr W',171,'E',NULL,'Northpoint','Dr','W',NULL,NULL,NULL,NULL,'Nelson',1,1045,NULL,'24580',NULL,1228,36.589704,-78.66151,0,NULL,NULL,NULL),(33,123,1,1,0,'47H El Camino Pl SW',47,'H',NULL,'El Camino','Pl','SW',NULL,NULL,NULL,NULL,'Slaughter',1,1017,NULL,'70777',NULL,1228,30.722133,-91.10915,0,NULL,NULL,NULL),(34,141,1,1,0,'510Q Maple Blvd N',510,'Q',NULL,'Maple','Blvd','N',NULL,NULL,NULL,NULL,'Ellis Grove',1,1012,NULL,'62241',NULL,1228,38.011729,-89.89007,0,NULL,NULL,NULL),(35,87,1,1,0,'424O Martin Luther King Ln SE',424,'O',NULL,'Martin Luther King','Ln','SE',NULL,NULL,NULL,NULL,'Jupiter',1,1008,NULL,'33478',NULL,1228,26.925835,-80.21526,0,NULL,NULL,NULL),(36,73,1,1,0,'441J Jackson Ln SW',441,'J',NULL,'Jackson','Ln','SW',NULL,NULL,NULL,NULL,'Troy',1,1034,NULL,'45373',NULL,1228,40.036525,-84.20629,0,NULL,NULL,NULL),(37,175,1,1,0,'776L Pine Way N',776,'L',NULL,'Pine','Way','N',NULL,NULL,NULL,NULL,'Georgetown',1,1018,NULL,'04548',NULL,1228,43.810548,-69.74325,0,NULL,NULL,NULL),(38,86,1,1,0,'549M Cadell Dr E',549,'M',NULL,'Cadell','Dr','E',NULL,NULL,NULL,NULL,'Spokane',1,1046,NULL,'99260',NULL,1228,47.653568,-117.431742,0,NULL,NULL,NULL),(39,3,1,1,0,'26E College Ave S',26,'E',NULL,'College','Ave','S',NULL,NULL,NULL,NULL,'Church Hill',1,1041,NULL,'37642',NULL,1228,36.534489,-82.71292,0,NULL,NULL,NULL),(40,190,1,1,0,'466C Bay Rd NW',466,'C',NULL,'Bay','Rd','NW',NULL,NULL,NULL,NULL,'Rockford',1,1012,NULL,'61101',NULL,1228,42.292221,-89.12574,0,NULL,NULL,NULL),(41,108,1,1,0,'476N College Ave S',476,'N',NULL,'College','Ave','S',NULL,NULL,NULL,NULL,'Shermans Dale',1,1037,NULL,'17090',NULL,1228,40.332785,-77.18464,0,NULL,NULL,NULL),(42,80,1,1,0,'700M Woodbridge Ave SW',700,'M',NULL,'Woodbridge','Ave','SW',NULL,NULL,NULL,NULL,'Cocoa',1,1008,NULL,'32923',NULL,1228,28.427535,-80.828991,0,NULL,NULL,NULL),(43,152,1,1,0,'488A Maple Path SW',488,'A',NULL,'Maple','Path','SW',NULL,NULL,NULL,NULL,'Hartington',1,1026,NULL,'68739',NULL,1228,42.624108,-97.25267,0,NULL,NULL,NULL),(44,61,1,1,0,'535Y Second Rd S',535,'Y',NULL,'Second','Rd','S',NULL,NULL,NULL,NULL,'East Galesburg',1,1012,NULL,'61430',NULL,1228,40.94399,-90.31205,0,NULL,NULL,NULL),(45,130,1,1,0,'752C Dowlen St NE',752,'C',NULL,'Dowlen','St','NE',NULL,NULL,NULL,NULL,'Rochert',1,1022,NULL,'56578',NULL,1228,46.920986,-95.66842,0,NULL,NULL,NULL),(46,106,1,1,0,'619Z States Rd N',619,'Z',NULL,'States','Rd','N',NULL,NULL,NULL,NULL,'Philadelphia',1,1037,NULL,'19140',NULL,1228,40.012212,-75.14503,0,NULL,NULL,NULL),(47,9,1,1,0,'76H Woodbridge Dr SE',76,'H',NULL,'Woodbridge','Dr','SE',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'79929',NULL,1228,31.694842,-106.299987,0,NULL,NULL,NULL),(48,107,1,1,0,'356H Bay Way SW',356,'H',NULL,'Bay','Way','SW',NULL,NULL,NULL,NULL,'Keatchie',1,1017,NULL,'71046',NULL,1228,32.168532,-93.95402,0,NULL,NULL,NULL),(49,188,1,1,0,'412S Jackson Dr N',412,'S',NULL,'Jackson','Dr','N',NULL,NULL,NULL,NULL,'Burke',1,1045,NULL,'22009',NULL,1228,38.831813,-77.288755,0,NULL,NULL,NULL),(50,62,1,1,0,'497J Maple Pl S',497,'J',NULL,'Maple','Pl','S',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88516',NULL,1228,31.694842,-106.299987,0,NULL,NULL,NULL),(51,83,1,1,0,'873X Lincoln Path NW',873,'X',NULL,'Lincoln','Path','NW',NULL,NULL,NULL,NULL,'Kings Mountain',1,1032,NULL,'28086',NULL,1228,35.241188,-81.3614,0,NULL,NULL,NULL),(52,17,1,1,0,'106D Dowlen Pl NW',106,'D',NULL,'Dowlen','Pl','NW',NULL,NULL,NULL,NULL,'Riverside',1,1004,NULL,'92503',NULL,1228,33.91355,-117.46052,0,NULL,NULL,NULL),(53,187,1,1,0,'268D El Camino Dr E',268,'D',NULL,'El Camino','Dr','E',NULL,NULL,NULL,NULL,'Sarasota',1,1008,NULL,'34277',NULL,1228,27.167521,-82.380967,0,NULL,NULL,NULL),(54,93,1,1,0,'412D Pine Ave NW',412,'D',NULL,'Pine','Ave','NW',NULL,NULL,NULL,NULL,'Kenwood',1,1004,NULL,'95452',NULL,1228,38.414061,-122.54668,0,NULL,NULL,NULL),(55,74,1,1,0,'423Y Dowlen Pl S',423,'Y',NULL,'Dowlen','Pl','S',NULL,NULL,NULL,NULL,'Hettick',1,1012,NULL,'62649',NULL,1228,39.348487,-90.08365,0,NULL,NULL,NULL),(56,71,1,1,0,'166V Bay Way S',166,'V',NULL,'Bay','Way','S',NULL,NULL,NULL,NULL,'Martinsburg',1,1034,NULL,'43037',NULL,1228,40.27453,-82.34436,0,NULL,NULL,NULL),(57,179,1,1,0,'883J Pine Ave E',883,'J',NULL,'Pine','Ave','E',NULL,NULL,NULL,NULL,'Kahuku',1,1010,NULL,'96731',NULL,1228,21.68762,-157.95903,0,NULL,NULL,NULL),(58,199,1,1,0,'680O States Dr E',680,'O',NULL,'States','Dr','E',NULL,NULL,NULL,NULL,'Russell',1,1014,NULL,'50238',NULL,1228,40.962051,-93.18373,0,NULL,NULL,NULL),(59,91,3,1,0,'95A Martin Luther King Ln E',95,'A',NULL,'Martin Luther King','Ln','E',NULL,'Urgent',NULL,NULL,'Russell Springs',1,1016,NULL,'42642',NULL,1228,37.05401,-85.06142,0,NULL,NULL,NULL),(60,105,2,1,0,'95A Martin Luther King Ln E',95,'A',NULL,'Martin Luther King','Ln','E',NULL,'Urgent',NULL,NULL,'Russell Springs',1,1016,NULL,'42642',NULL,1228,37.05401,-85.06142,0,NULL,NULL,59),(61,97,3,1,0,'7T Bay Blvd W',7,'T',NULL,'Bay','Blvd','W',NULL,'Attn: Accounting',NULL,NULL,'New Canton',1,1012,NULL,'62356',NULL,1228,39.599949,-91.09115,0,NULL,NULL,NULL),(62,54,3,1,0,'80X Beech Rd SE',80,'X',NULL,'Beech','Rd','SE',NULL,'Community Relations',NULL,NULL,'Poquoson',1,1045,NULL,'23662',NULL,1228,37.131237,-76.38089,0,NULL,NULL,NULL),(63,136,2,1,0,'80X Beech Rd SE',80,'X',NULL,'Beech','Rd','SE',NULL,'Community Relations',NULL,NULL,'Poquoson',1,1045,NULL,'23662',NULL,1228,37.131237,-76.38089,0,NULL,NULL,62),(64,72,3,1,0,'243T Bay Rd NW',243,'T',NULL,'Bay','Rd','NW',NULL,'Community Relations',NULL,NULL,'Bradford',1,1044,NULL,'05033',NULL,1228,43.994064,-72.15534,0,NULL,NULL,NULL),(65,153,2,1,0,'243T Bay Rd NW',243,'T',NULL,'Bay','Rd','NW',NULL,'Community Relations',NULL,NULL,'Bradford',1,1044,NULL,'05033',NULL,1228,43.994064,-72.15534,0,NULL,NULL,64),(66,155,3,1,0,'523Z Green Dr S',523,'Z',NULL,'Green','Dr','S',NULL,'Mailstop 101',NULL,NULL,'Bassett',1,1026,NULL,'68714',NULL,1228,42.53961,-99.52938,0,NULL,NULL,NULL),(67,90,2,1,0,'523Z Green Dr S',523,'Z',NULL,'Green','Dr','S',NULL,'Mailstop 101',NULL,NULL,'Bassett',1,1026,NULL,'68714',NULL,1228,42.53961,-99.52938,0,NULL,NULL,66),(68,37,3,1,0,'768N Woodbridge Pl S',768,'N',NULL,'Woodbridge','Pl','S',NULL,'Mailstop 101',NULL,NULL,'Saint Vincent',1,1022,NULL,'56755',NULL,1228,48.954448,-97.13949,0,NULL,NULL,NULL),(69,110,3,1,0,'649P Dowlen Ln E',649,'P',NULL,'Dowlen','Ln','E',NULL,'Payables Dept.',NULL,NULL,'Buffalo',1,1031,NULL,'14269',NULL,1228,42.768413,-78.887094,0,NULL,NULL,NULL),(70,158,2,0,0,'649P Dowlen Ln E',649,'P',NULL,'Dowlen','Ln','E',NULL,'Payables Dept.',NULL,NULL,'Buffalo',1,1031,NULL,'14269',NULL,1228,42.768413,-78.887094,0,NULL,NULL,69),(71,195,3,1,0,'11X Main Blvd SW',11,'X',NULL,'Main','Blvd','SW',NULL,'Mailstop 101',NULL,NULL,'San Luis Obispo',1,1004,NULL,'93409',NULL,1228,35.221085,-120.636399,0,NULL,NULL,NULL),(72,146,2,1,0,'11X Main Blvd SW',11,'X',NULL,'Main','Blvd','SW',NULL,'Mailstop 101',NULL,NULL,'San Luis Obispo',1,1004,NULL,'93409',NULL,1228,35.221085,-120.636399,0,NULL,NULL,71),(73,196,3,1,0,'395I Beech Pl SW',395,'I',NULL,'Beech','Pl','SW',NULL,'Churchgate',NULL,NULL,'Palo Alto',1,1004,NULL,'94308',NULL,1228,37.381144,-122.334825,0,NULL,NULL,NULL),(74,162,3,1,0,'13E Second St N',13,'E',NULL,'Second','St','N',NULL,'Cuffe Parade',NULL,NULL,'Baptistown',1,1029,NULL,'08803',NULL,1228,40.563654,-74.949409,0,NULL,NULL,NULL),(75,159,2,1,0,'13E Second St N',13,'E',NULL,'Second','St','N',NULL,'Cuffe Parade',NULL,NULL,'Baptistown',1,1029,NULL,'08803',NULL,1228,40.563654,-74.949409,0,NULL,NULL,74),(76,19,3,1,0,'891T College Dr NW',891,'T',NULL,'College','Dr','NW',NULL,'Mailstop 101',NULL,NULL,'Addy',1,1046,NULL,'99101',NULL,1228,48.305861,-117.94318,0,NULL,NULL,NULL),(77,180,2,1,0,'891T College Dr NW',891,'T',NULL,'College','Dr','NW',NULL,'Mailstop 101',NULL,NULL,'Addy',1,1046,NULL,'99101',NULL,1228,48.305861,-117.94318,0,NULL,NULL,76),(78,65,3,1,0,'686H Cadell Ave N',686,'H',NULL,'Cadell','Ave','N',NULL,'Receiving',NULL,NULL,'Ellsworth',1,1034,NULL,'44416',NULL,1228,41.017082,-80.802854,0,NULL,NULL,NULL),(79,200,2,1,0,'686H Cadell Ave N',686,'H',NULL,'Cadell','Ave','N',NULL,'Receiving',NULL,NULL,'Ellsworth',1,1034,NULL,'44416',NULL,1228,41.017082,-80.802854,0,NULL,NULL,78),(80,142,3,1,0,'782S Pine Dr W',782,'S',NULL,'Pine','Dr','W',NULL,'Cuffe Parade',NULL,NULL,'Anahola',1,1010,NULL,'96703',NULL,1228,22.148133,-159.31765,0,NULL,NULL,NULL),(81,40,2,0,0,'782S Pine Dr W',782,'S',NULL,'Pine','Dr','W',NULL,'Cuffe Parade',NULL,NULL,'Anahola',1,1010,NULL,'96703',NULL,1228,22.148133,-159.31765,0,NULL,NULL,80),(82,145,3,1,0,'373P States Ln E',373,'P',NULL,'States','Ln','E',NULL,'Subscriptions Dept',NULL,NULL,'Ripplemead',1,1045,NULL,'24150',NULL,1228,37.351691,-80.67726,0,NULL,NULL,NULL),(83,147,2,1,0,'373P States Ln E',373,'P',NULL,'States','Ln','E',NULL,'Subscriptions Dept',NULL,NULL,'Ripplemead',1,1045,NULL,'24150',NULL,1228,37.351691,-80.67726,0,NULL,NULL,82),(84,184,3,1,0,'448P Bay Path E',448,'P',NULL,'Bay','Path','E',NULL,'Disbursements',NULL,NULL,'Cameron',1,1048,NULL,'54822',NULL,1228,45.401622,-91.72727,0,NULL,NULL,NULL),(85,173,2,1,0,'448P Bay Path E',448,'P',NULL,'Bay','Path','E',NULL,'Disbursements',NULL,NULL,'Cameron',1,1048,NULL,'54822',NULL,1228,45.401622,-91.72727,0,NULL,NULL,84),(86,156,3,1,0,'274P Main Path N',274,'P',NULL,'Main','Path','N',NULL,'Donor Relations',NULL,NULL,'Ridgeland',1,1023,NULL,'39157',NULL,1228,32.420814,-90.13134,0,NULL,NULL,NULL),(87,150,2,1,0,'274P Main Path N',274,'P',NULL,'Main','Path','N',NULL,'Donor Relations',NULL,NULL,'Ridgeland',1,1023,NULL,'39157',NULL,1228,32.420814,-90.13134,0,NULL,NULL,86),(88,143,3,1,0,'613R Martin Luther King Pl W',613,'R',NULL,'Martin Luther King','Pl','W',NULL,'Payables Dept.',NULL,NULL,'Emerado',1,1033,NULL,'58228',NULL,1228,47.882652,-97.35564,0,NULL,NULL,NULL),(89,118,2,0,0,'613R Martin Luther King Pl W',613,'R',NULL,'Martin Luther King','Pl','W',NULL,'Payables Dept.',NULL,NULL,'Emerado',1,1033,NULL,'58228',NULL,1228,47.882652,-97.35564,0,NULL,NULL,88),(90,121,3,1,0,'438V Maple Ln W',438,'V',NULL,'Maple','Ln','W',NULL,'Community Relations',NULL,NULL,'Anawalt',1,1047,NULL,'24808',NULL,1228,37.338242,-81.43081,0,NULL,NULL,NULL),(91,16,2,1,0,'438V Maple Ln W',438,'V',NULL,'Maple','Ln','W',NULL,'Community Relations',NULL,NULL,'Anawalt',1,1047,NULL,'24808',NULL,1228,37.338242,-81.43081,0,NULL,NULL,90),(92,139,3,1,0,'986T Cadell Path NE',986,'T',NULL,'Cadell','Path','NE',NULL,'Attn: Accounting',NULL,NULL,'Argillite',1,1016,NULL,'41121',NULL,1228,38.456608,-82.82615,0,NULL,NULL,NULL),(93,43,2,1,0,'986T Cadell Path NE',986,'T',NULL,'Cadell','Path','NE',NULL,'Attn: Accounting',NULL,NULL,'Argillite',1,1016,NULL,'41121',NULL,1228,38.456608,-82.82615,0,NULL,NULL,92),(94,137,3,1,0,'469F Second Dr NW',469,'F',NULL,'Second','Dr','NW',NULL,'Attn: Accounting',NULL,NULL,'Pasadena',1,1004,NULL,'91123',NULL,1228,33.786594,-118.298662,0,NULL,NULL,NULL),(95,183,1,1,0,'26E College Ave S',26,'E',NULL,'College','Ave','S',NULL,NULL,NULL,NULL,'Church Hill',1,1041,NULL,'37642',NULL,1228,36.534489,-82.71292,0,NULL,NULL,39),(96,198,1,1,0,'26E College Ave S',26,'E',NULL,'College','Ave','S',NULL,NULL,NULL,NULL,'Church Hill',1,1041,NULL,'37642',NULL,1228,36.534489,-82.71292,0,NULL,NULL,39),(97,105,1,0,0,'26E College Ave S',26,'E',NULL,'College','Ave','S',NULL,NULL,NULL,NULL,'Church Hill',1,1041,NULL,'37642',NULL,1228,36.534489,-82.71292,0,NULL,NULL,39),(98,157,1,1,0,'26E College Ave S',26,'E',NULL,'College','Ave','S',NULL,NULL,NULL,NULL,'Church Hill',1,1041,NULL,'37642',NULL,1228,36.534489,-82.71292,0,NULL,NULL,39),(99,64,1,1,0,'466C Bay Rd NW',466,'C',NULL,'Bay','Rd','NW',NULL,NULL,NULL,NULL,'Rockford',1,1012,NULL,'61101',NULL,1228,42.292221,-89.12574,0,NULL,NULL,40),(100,35,1,1,0,'466C Bay Rd NW',466,'C',NULL,'Bay','Rd','NW',NULL,NULL,NULL,NULL,'Rockford',1,1012,NULL,'61101',NULL,1228,42.292221,-89.12574,0,NULL,NULL,40),(101,127,1,1,0,'466C Bay Rd NW',466,'C',NULL,'Bay','Rd','NW',NULL,NULL,NULL,NULL,'Rockford',1,1012,NULL,'61101',NULL,1228,42.292221,-89.12574,0,NULL,NULL,40),(102,181,1,1,0,'466C Bay Rd NW',466,'C',NULL,'Bay','Rd','NW',NULL,NULL,NULL,NULL,'Rockford',1,1012,NULL,'61101',NULL,1228,42.292221,-89.12574,0,NULL,NULL,40),(103,70,1,1,0,'476N College Ave S',476,'N',NULL,'College','Ave','S',NULL,NULL,NULL,NULL,'Shermans Dale',1,1037,NULL,'17090',NULL,1228,40.332785,-77.18464,0,NULL,NULL,41),(104,36,1,1,0,'476N College Ave S',476,'N',NULL,'College','Ave','S',NULL,NULL,NULL,NULL,'Shermans Dale',1,1037,NULL,'17090',NULL,1228,40.332785,-77.18464,0,NULL,NULL,41),(105,52,1,1,0,'476N College Ave S',476,'N',NULL,'College','Ave','S',NULL,NULL,NULL,NULL,'Shermans Dale',1,1037,NULL,'17090',NULL,1228,40.332785,-77.18464,0,NULL,NULL,41),(106,167,1,1,0,'498A Dowlen Ln NW',498,'A',NULL,'Dowlen','Ln','NW',NULL,NULL,NULL,NULL,'New York',1,1031,NULL,'10184',NULL,1228,40.780751,-73.977182,0,NULL,NULL,NULL),(107,47,1,1,0,'700M Woodbridge Ave SW',700,'M',NULL,'Woodbridge','Ave','SW',NULL,NULL,NULL,NULL,'Cocoa',1,1008,NULL,'32923',NULL,1228,28.427535,-80.828991,0,NULL,NULL,42),(108,153,1,0,0,'700M Woodbridge Ave SW',700,'M',NULL,'Woodbridge','Ave','SW',NULL,NULL,NULL,NULL,'Cocoa',1,1008,NULL,'32923',NULL,1228,28.427535,-80.828991,0,NULL,NULL,42),(109,144,1,1,0,'700M Woodbridge Ave SW',700,'M',NULL,'Woodbridge','Ave','SW',NULL,NULL,NULL,NULL,'Cocoa',1,1008,NULL,'32923',NULL,1228,28.427535,-80.828991,0,NULL,NULL,42),(110,43,1,0,0,'951B Dowlen Rd SW',951,'B',NULL,'Dowlen','Rd','SW',NULL,NULL,NULL,NULL,'Grants Pass',1,1036,NULL,'97528',NULL,1228,42.396421,-123.535027,0,NULL,NULL,NULL),(111,140,1,1,0,'488A Maple Path SW',488,'A',NULL,'Maple','Path','SW',NULL,NULL,NULL,NULL,'Hartington',1,1026,NULL,'68739',NULL,1228,42.624108,-97.25267,0,NULL,NULL,43),(112,146,1,0,0,'488A Maple Path SW',488,'A',NULL,'Maple','Path','SW',NULL,NULL,NULL,NULL,'Hartington',1,1026,NULL,'68739',NULL,1228,42.624108,-97.25267,0,NULL,NULL,43),(113,150,1,0,0,'488A Maple Path SW',488,'A',NULL,'Maple','Path','SW',NULL,NULL,NULL,NULL,'Hartington',1,1026,NULL,'68739',NULL,1228,42.624108,-97.25267,0,NULL,NULL,43),(114,28,1,1,0,'627R Jackson Ave SW',627,'R',NULL,'Jackson','Ave','SW',NULL,NULL,NULL,NULL,'Lena',1,1017,NULL,'71447',NULL,1228,31.452874,-92.79465,0,NULL,NULL,NULL),(115,13,1,1,0,'535Y Second Rd S',535,'Y',NULL,'Second','Rd','S',NULL,NULL,NULL,NULL,'East Galesburg',1,1012,NULL,'61430',NULL,1228,40.94399,-90.31205,0,NULL,NULL,44),(116,98,1,1,0,'535Y Second Rd S',535,'Y',NULL,'Second','Rd','S',NULL,NULL,NULL,NULL,'East Galesburg',1,1012,NULL,'61430',NULL,1228,40.94399,-90.31205,0,NULL,NULL,44),(117,176,1,1,0,'535Y Second Rd S',535,'Y',NULL,'Second','Rd','S',NULL,NULL,NULL,NULL,'East Galesburg',1,1012,NULL,'61430',NULL,1228,40.94399,-90.31205,0,NULL,NULL,44),(118,173,1,0,0,'177A Dowlen Ln S',177,'A',NULL,'Dowlen','Ln','S',NULL,NULL,NULL,NULL,'Pauline',1,1039,NULL,'29374',NULL,1228,34.783908,-81.85468,0,NULL,NULL,NULL),(119,147,1,0,0,'752C Dowlen St NE',752,'C',NULL,'Dowlen','St','NE',NULL,NULL,NULL,NULL,'Rochert',1,1022,NULL,'56578',NULL,1228,46.920986,-95.66842,0,NULL,NULL,45),(120,178,1,1,0,'752C Dowlen St NE',752,'C',NULL,'Dowlen','St','NE',NULL,NULL,NULL,NULL,'Rochert',1,1022,NULL,'56578',NULL,1228,46.920986,-95.66842,0,NULL,NULL,45),(121,135,1,1,0,'752C Dowlen St NE',752,'C',NULL,'Dowlen','St','NE',NULL,NULL,NULL,NULL,'Rochert',1,1022,NULL,'56578',NULL,1228,46.920986,-95.66842,0,NULL,NULL,45),(122,79,1,1,0,'752C Dowlen St NE',752,'C',NULL,'Dowlen','St','NE',NULL,NULL,NULL,NULL,'Rochert',1,1022,NULL,'56578',NULL,1228,46.920986,-95.66842,0,NULL,NULL,45),(123,90,1,0,0,'619Z States Rd N',619,'Z',NULL,'States','Rd','N',NULL,NULL,NULL,NULL,'Philadelphia',1,1037,NULL,'19140',NULL,1228,40.012212,-75.14503,0,NULL,NULL,46),(124,104,1,1,0,'619Z States Rd N',619,'Z',NULL,'States','Rd','N',NULL,NULL,NULL,NULL,'Philadelphia',1,1037,NULL,'19140',NULL,1228,40.012212,-75.14503,0,NULL,NULL,46),(125,8,1,1,0,'619Z States Rd N',619,'Z',NULL,'States','Rd','N',NULL,NULL,NULL,NULL,'Philadelphia',1,1037,NULL,'19140',NULL,1228,40.012212,-75.14503,0,NULL,NULL,46),(126,109,1,1,0,'619Z States Rd N',619,'Z',NULL,'States','Rd','N',NULL,NULL,NULL,NULL,'Philadelphia',1,1037,NULL,'19140',NULL,1228,40.012212,-75.14503,0,NULL,NULL,46),(127,182,1,1,0,'76H Woodbridge Dr SE',76,'H',NULL,'Woodbridge','Dr','SE',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'79929',NULL,1228,31.694842,-106.299987,0,NULL,NULL,47),(128,41,1,1,0,'76H Woodbridge Dr SE',76,'H',NULL,'Woodbridge','Dr','SE',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'79929',NULL,1228,31.694842,-106.299987,0,NULL,NULL,47),(129,56,1,1,0,'76H Woodbridge Dr SE',76,'H',NULL,'Woodbridge','Dr','SE',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'79929',NULL,1228,31.694842,-106.299987,0,NULL,NULL,47),(130,168,1,1,0,'681E Van Ness Path W',681,'E',NULL,'Van Ness','Path','W',NULL,NULL,NULL,NULL,'Scottsdale',1,1002,NULL,'85266',NULL,1228,33.276539,-112.18717,0,NULL,NULL,NULL),(131,201,1,1,0,'356H Bay Way SW',356,'H',NULL,'Bay','Way','SW',NULL,NULL,NULL,NULL,'Keatchie',1,1017,NULL,'71046',NULL,1228,32.168532,-93.95402,0,NULL,NULL,48),(132,138,1,1,0,'356H Bay Way SW',356,'H',NULL,'Bay','Way','SW',NULL,NULL,NULL,NULL,'Keatchie',1,1017,NULL,'71046',NULL,1228,32.168532,-93.95402,0,NULL,NULL,48),(133,197,1,1,0,'356H Bay Way SW',356,'H',NULL,'Bay','Way','SW',NULL,NULL,NULL,NULL,'Keatchie',1,1017,NULL,'71046',NULL,1228,32.168532,-93.95402,0,NULL,NULL,48),(134,88,1,1,0,'356H Bay Way SW',356,'H',NULL,'Bay','Way','SW',NULL,NULL,NULL,NULL,'Keatchie',1,1017,NULL,'71046',NULL,1228,32.168532,-93.95402,0,NULL,NULL,48),(135,126,1,1,0,'412S Jackson Dr N',412,'S',NULL,'Jackson','Dr','N',NULL,NULL,NULL,NULL,'Burke',1,1045,NULL,'22009',NULL,1228,38.831813,-77.288755,0,NULL,NULL,49),(136,55,1,1,0,'412S Jackson Dr N',412,'S',NULL,'Jackson','Dr','N',NULL,NULL,NULL,NULL,'Burke',1,1045,NULL,'22009',NULL,1228,38.831813,-77.288755,0,NULL,NULL,49),(137,161,1,1,0,'412S Jackson Dr N',412,'S',NULL,'Jackson','Dr','N',NULL,NULL,NULL,NULL,'Burke',1,1045,NULL,'22009',NULL,1228,38.831813,-77.288755,0,NULL,NULL,49),(138,132,1,1,0,'412S Jackson Dr N',412,'S',NULL,'Jackson','Dr','N',NULL,NULL,NULL,NULL,'Burke',1,1045,NULL,'22009',NULL,1228,38.831813,-77.288755,0,NULL,NULL,49),(139,2,1,1,0,'497J Maple Pl S',497,'J',NULL,'Maple','Pl','S',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88516',NULL,1228,31.694842,-106.299987,0,NULL,NULL,50),(140,29,1,1,0,'497J Maple Pl S',497,'J',NULL,'Maple','Pl','S',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88516',NULL,1228,31.694842,-106.299987,0,NULL,NULL,50),(141,34,1,1,0,'497J Maple Pl S',497,'J',NULL,'Maple','Pl','S',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88516',NULL,1228,31.694842,-106.299987,0,NULL,NULL,50),(142,84,1,1,0,'497J Maple Pl S',497,'J',NULL,'Maple','Pl','S',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88516',NULL,1228,31.694842,-106.299987,0,NULL,NULL,50),(143,78,1,1,0,'873X Lincoln Path NW',873,'X',NULL,'Lincoln','Path','NW',NULL,NULL,NULL,NULL,'Kings Mountain',1,1032,NULL,'28086',NULL,1228,35.241188,-81.3614,0,NULL,NULL,51),(144,163,1,1,0,'873X Lincoln Path NW',873,'X',NULL,'Lincoln','Path','NW',NULL,NULL,NULL,NULL,'Kings Mountain',1,1032,NULL,'28086',NULL,1228,35.241188,-81.3614,0,NULL,NULL,51),(145,76,1,1,0,'873X Lincoln Path NW',873,'X',NULL,'Lincoln','Path','NW',NULL,NULL,NULL,NULL,'Kings Mountain',1,1032,NULL,'28086',NULL,1228,35.241188,-81.3614,0,NULL,NULL,51),(146,44,1,1,0,'34T States Ln S',34,'T',NULL,'States','Ln','S',NULL,NULL,NULL,NULL,'Topeka',1,1015,NULL,'66637',NULL,1228,39.042939,-95.769657,0,NULL,NULL,NULL),(147,117,1,1,0,'106D Dowlen Pl NW',106,'D',NULL,'Dowlen','Pl','NW',NULL,NULL,NULL,NULL,'Riverside',1,1004,NULL,'92503',NULL,1228,33.91355,-117.46052,0,NULL,NULL,52),(148,166,1,1,0,'106D Dowlen Pl NW',106,'D',NULL,'Dowlen','Pl','NW',NULL,NULL,NULL,NULL,'Riverside',1,1004,NULL,'92503',NULL,1228,33.91355,-117.46052,0,NULL,NULL,52),(149,200,1,0,0,'106D Dowlen Pl NW',106,'D',NULL,'Dowlen','Pl','NW',NULL,NULL,NULL,NULL,'Riverside',1,1004,NULL,'92503',NULL,1228,33.91355,-117.46052,0,NULL,NULL,52),(150,39,1,1,0,'106D Dowlen Pl NW',106,'D',NULL,'Dowlen','Pl','NW',NULL,NULL,NULL,NULL,'Riverside',1,1004,NULL,'92503',NULL,1228,33.91355,-117.46052,0,NULL,NULL,52),(151,115,1,1,0,'268D El Camino Dr E',268,'D',NULL,'El Camino','Dr','E',NULL,NULL,NULL,NULL,'Sarasota',1,1008,NULL,'34277',NULL,1228,27.167521,-82.380967,0,NULL,NULL,53),(152,53,1,1,0,'268D El Camino Dr E',268,'D',NULL,'El Camino','Dr','E',NULL,NULL,NULL,NULL,'Sarasota',1,1008,NULL,'34277',NULL,1228,27.167521,-82.380967,0,NULL,NULL,53),(153,100,1,1,0,'268D El Camino Dr E',268,'D',NULL,'El Camino','Dr','E',NULL,NULL,NULL,NULL,'Sarasota',1,1008,NULL,'34277',NULL,1228,27.167521,-82.380967,0,NULL,NULL,53),(154,159,1,0,0,'268D El Camino Dr E',268,'D',NULL,'El Camino','Dr','E',NULL,NULL,NULL,NULL,'Sarasota',1,1008,NULL,'34277',NULL,1228,27.167521,-82.380967,0,NULL,NULL,53),(155,160,1,1,0,'412D Pine Ave NW',412,'D',NULL,'Pine','Ave','NW',NULL,NULL,NULL,NULL,'Kenwood',1,1004,NULL,'95452',NULL,1228,38.414061,-122.54668,0,NULL,NULL,54),(156,120,1,1,0,'412D Pine Ave NW',412,'D',NULL,'Pine','Ave','NW',NULL,NULL,NULL,NULL,'Kenwood',1,1004,NULL,'95452',NULL,1228,38.414061,-122.54668,0,NULL,NULL,54),(157,186,1,1,0,'412D Pine Ave NW',412,'D',NULL,'Pine','Ave','NW',NULL,NULL,NULL,NULL,'Kenwood',1,1004,NULL,'95452',NULL,1228,38.414061,-122.54668,0,NULL,NULL,54),(158,189,1,1,0,'142B Lincoln Pl NE',142,'B',NULL,'Lincoln','Pl','NE',NULL,NULL,NULL,NULL,'Carol Stream',1,1012,NULL,'60132',NULL,1228,41.839679,-88.088716,0,NULL,NULL,NULL),(159,131,1,1,0,'423Y Dowlen Pl S',423,'Y',NULL,'Dowlen','Pl','S',NULL,NULL,NULL,NULL,'Hettick',1,1012,NULL,'62649',NULL,1228,39.348487,-90.08365,0,NULL,NULL,55),(160,46,1,1,0,'423Y Dowlen Pl S',423,'Y',NULL,'Dowlen','Pl','S',NULL,NULL,NULL,NULL,'Hettick',1,1012,NULL,'62649',NULL,1228,39.348487,-90.08365,0,NULL,NULL,55),(161,21,1,1,0,'423Y Dowlen Pl S',423,'Y',NULL,'Dowlen','Pl','S',NULL,NULL,NULL,NULL,'Hettick',1,1012,NULL,'62649',NULL,1228,39.348487,-90.08365,0,NULL,NULL,55),(162,49,1,1,0,'347B Bay Ave SW',347,'B',NULL,'Bay','Ave','SW',NULL,NULL,NULL,NULL,'Albuquerque',1,1030,NULL,'87176',NULL,1228,35.044339,-106.672872,0,NULL,NULL,NULL),(163,171,1,1,0,'166V Bay Way S',166,'V',NULL,'Bay','Way','S',NULL,NULL,NULL,NULL,'Martinsburg',1,1034,NULL,'43037',NULL,1228,40.27453,-82.34436,0,NULL,NULL,56),(164,25,1,1,0,'166V Bay Way S',166,'V',NULL,'Bay','Way','S',NULL,NULL,NULL,NULL,'Martinsburg',1,1034,NULL,'43037',NULL,1228,40.27453,-82.34436,0,NULL,NULL,56),(165,111,1,1,0,'166V Bay Way S',166,'V',NULL,'Bay','Way','S',NULL,NULL,NULL,NULL,'Martinsburg',1,1034,NULL,'43037',NULL,1228,40.27453,-82.34436,0,NULL,NULL,56),(166,125,1,1,0,'166V Bay Way S',166,'V',NULL,'Bay','Way','S',NULL,NULL,NULL,NULL,'Martinsburg',1,1034,NULL,'43037',NULL,1228,40.27453,-82.34436,0,NULL,NULL,56),(167,63,1,1,0,'883J Pine Ave E',883,'J',NULL,'Pine','Ave','E',NULL,NULL,NULL,NULL,'Kahuku',1,1010,NULL,'96731',NULL,1228,21.68762,-157.95903,0,NULL,NULL,57),(168,20,1,1,0,'883J Pine Ave E',883,'J',NULL,'Pine','Ave','E',NULL,NULL,NULL,NULL,'Kahuku',1,1010,NULL,'96731',NULL,1228,21.68762,-157.95903,0,NULL,NULL,57),(169,11,1,1,0,'883J Pine Ave E',883,'J',NULL,'Pine','Ave','E',NULL,NULL,NULL,NULL,'Kahuku',1,1010,NULL,'96731',NULL,1228,21.68762,-157.95903,0,NULL,NULL,57),(170,6,1,1,0,'160N Green Path N',160,'N',NULL,'Green','Path','N',NULL,NULL,NULL,NULL,'Laquey',1,1024,NULL,'65534',NULL,1228,37.689335,-92.28363,0,NULL,NULL,NULL),(171,101,1,1,0,'680O States Dr E',680,'O',NULL,'States','Dr','E',NULL,NULL,NULL,NULL,'Russell',1,1014,NULL,'50238',NULL,1228,40.962051,-93.18373,0,NULL,NULL,58),(172,180,1,0,0,'680O States Dr E',680,'O',NULL,'States','Dr','E',NULL,NULL,NULL,NULL,'Russell',1,1014,NULL,'50238',NULL,1228,40.962051,-93.18373,0,NULL,NULL,58),(173,32,1,1,0,'680O States Dr E',680,'O',NULL,'States','Dr','E',NULL,NULL,NULL,NULL,'Russell',1,1014,NULL,'50238',NULL,1228,40.962051,-93.18373,0,NULL,NULL,58),(174,151,1,1,0,'680O States Dr E',680,'O',NULL,'States','Dr','E',NULL,NULL,NULL,NULL,'Russell',1,1014,NULL,'50238',NULL,1228,40.962051,-93.18373,0,NULL,NULL,58),(175,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),(176,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),(177,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,187,1,1,0,'621V Cadell Path NE',621,'V',NULL,'Cadell','Path','NE',NULL,NULL,NULL,NULL,'East Quogue',1,1031,NULL,'11942',NULL,1228,40.84867,-72.57794,0,NULL,NULL,NULL),(2,155,1,1,0,'825I Caulder Dr SW',825,'I',NULL,'Caulder','Dr','SW',NULL,NULL,NULL,NULL,'Gig Harbor',1,1046,NULL,'98329',NULL,1228,47.378121,-122.7222,0,NULL,NULL,NULL),(3,62,1,1,0,'828G Northpoint Ave NW',828,'G',NULL,'Northpoint','Ave','NW',NULL,NULL,NULL,NULL,'Greenville',1,1039,NULL,'29605',NULL,1228,34.798035,-82.39289,0,NULL,NULL,NULL),(4,87,1,1,0,'794P Cadell St E',794,'P',NULL,'Cadell','St','E',NULL,NULL,NULL,NULL,'Tucson',1,1002,NULL,'85746',NULL,1228,32.126223,-111.04599,0,NULL,NULL,NULL),(5,129,1,1,0,'168Y College Ave NW',168,'Y',NULL,'College','Ave','NW',NULL,NULL,NULL,NULL,'Dagus Mines',1,1037,NULL,'15831',NULL,1228,41.304782,-78.621286,0,NULL,NULL,NULL),(6,112,1,1,0,'469Q Van Ness Rd NE',469,'Q',NULL,'Van Ness','Rd','NE',NULL,NULL,NULL,NULL,'Mendocino',1,1004,NULL,'95460',NULL,1228,39.311858,-123.79166,0,NULL,NULL,NULL),(7,67,1,1,0,'580Q Maple St E',580,'Q',NULL,'Maple','St','E',NULL,NULL,NULL,NULL,'Robesonia',1,1037,NULL,'19551',NULL,1228,40.357034,-76.13741,0,NULL,NULL,NULL),(8,198,1,1,0,'848X Bay Way NW',848,'X',NULL,'Bay','Way','NW',NULL,NULL,NULL,NULL,'West Harrison',1,1013,NULL,'47060',NULL,1228,39.288178,-84.87774,0,NULL,NULL,NULL),(9,181,1,1,0,'514X Woodbridge Dr SE',514,'X',NULL,'Woodbridge','Dr','SE',NULL,NULL,NULL,NULL,'Millersburg',1,1034,NULL,'44654',NULL,1228,40.542339,-81.87856,0,NULL,NULL,NULL),(10,76,1,1,0,'77P Green Ln N',77,'P',NULL,'Green','Ln','N',NULL,NULL,NULL,NULL,'Trent',1,1040,NULL,'57065',NULL,1228,43.917178,-96.65524,0,NULL,NULL,NULL),(11,153,1,1,0,'765M Jackson Dr NW',765,'M',NULL,'Jackson','Dr','NW',NULL,NULL,NULL,NULL,'Saltillo',1,1023,NULL,'38866',NULL,1228,34.360547,-88.68079,0,NULL,NULL,NULL),(12,79,1,1,0,'139Q Green Ln NW',139,'Q',NULL,'Green','Ln','NW',NULL,NULL,NULL,NULL,'Bakersfield',1,1044,NULL,'05441',NULL,1228,44.772886,-72.78854,0,NULL,NULL,NULL),(13,64,1,1,0,'303G Cadell Way NE',303,'G',NULL,'Cadell','Way','NE',NULL,NULL,NULL,NULL,'Arlington',1,1045,NULL,'22214',NULL,1228,38.880811,-77.11295,0,NULL,NULL,NULL),(14,120,1,1,0,'718R Caulder Path S',718,'R',NULL,'Caulder','Path','S',NULL,NULL,NULL,NULL,'Readfield',1,1048,NULL,'54969',NULL,1228,44.269991,-88.775457,0,NULL,NULL,NULL),(15,6,1,1,0,'208U Jackson Pl E',208,'U',NULL,'Jackson','Pl','E',NULL,NULL,NULL,NULL,'Orlando',1,1008,NULL,'32806',NULL,1228,28.51483,-81.36054,0,NULL,NULL,NULL),(16,201,1,1,0,'49F Martin Luther King Dr NW',49,'F',NULL,'Martin Luther King','Dr','NW',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48550',NULL,1228,43.034927,-83.688706,0,NULL,NULL,NULL),(17,171,1,1,0,'602P Van Ness Rd W',602,'P',NULL,'Van Ness','Rd','W',NULL,NULL,NULL,NULL,'New York',1,1031,NULL,'10114',NULL,1228,40.780751,-73.977182,0,NULL,NULL,NULL),(18,70,1,1,0,'472J Woodbridge Dr E',472,'J',NULL,'Woodbridge','Dr','E',NULL,NULL,NULL,NULL,'Pointe Aux Pins',1,1021,NULL,'49775',NULL,1228,45.758378,-84.46507,0,NULL,NULL,NULL),(19,147,1,1,0,'363B Main Ln S',363,'B',NULL,'Main','Ln','S',NULL,NULL,NULL,NULL,'Chestnut Hill',1,1020,NULL,'02467',NULL,1228,42.321997,-71.17314,0,NULL,NULL,NULL),(20,73,1,1,0,'295P Woodbridge Path NW',295,'P',NULL,'Woodbridge','Path','NW',NULL,NULL,NULL,NULL,'Houtzdale',1,1037,NULL,'16698',NULL,1228,40.989115,-78.422403,0,NULL,NULL,NULL),(21,34,1,1,0,'818F Second Way S',818,'F',NULL,'Second','Way','S',NULL,NULL,NULL,NULL,'Glencoe',1,1035,NULL,'74032',NULL,1228,36.214419,-96.91672,0,NULL,NULL,NULL),(22,16,1,1,0,'89A Dowlen Ave S',89,'A',NULL,'Dowlen','Ave','S',NULL,NULL,NULL,NULL,'Hadensville',1,1045,NULL,'23067',NULL,1228,37.825208,-77.989878,0,NULL,NULL,NULL),(23,86,1,1,0,'168D Pine Ave N',168,'D',NULL,'Pine','Ave','N',NULL,NULL,NULL,NULL,'West Baden Springs',1,1013,NULL,'47469',NULL,1228,38.584248,-86.61296,0,NULL,NULL,NULL),(24,89,1,1,0,'713G Van Ness Rd E',713,'G',NULL,'Van Ness','Rd','E',NULL,NULL,NULL,NULL,'Delbarton',1,1047,NULL,'25670',NULL,1228,37.705946,-82.14416,0,NULL,NULL,NULL),(25,92,1,1,0,'482N Second Way NW',482,'N',NULL,'Second','Way','NW',NULL,NULL,NULL,NULL,'Flint Hill',1,1045,NULL,'22627',NULL,1228,38.765004,-78.0948,0,NULL,NULL,NULL),(26,36,1,1,0,'236E Dowlen Ln SE',236,'E',NULL,'Dowlen','Ln','SE',NULL,NULL,NULL,NULL,'West Paris',1,1018,NULL,'04289',NULL,1228,44.325285,-70.52451,0,NULL,NULL,NULL),(27,2,1,1,0,'406I Main Blvd SE',406,'I',NULL,'Main','Blvd','SE',NULL,NULL,NULL,NULL,'Saint Cloud',1,1048,NULL,'53079',NULL,1228,43.808108,-88.18164,0,NULL,NULL,NULL),(28,55,1,1,0,'818A Dowlen Path N',818,'A',NULL,'Dowlen','Path','N',NULL,NULL,NULL,NULL,'Hopedale',1,1012,NULL,'61747',NULL,1228,40.422027,-89.42614,0,NULL,NULL,NULL),(29,11,1,1,0,'747F Bay St E',747,'F',NULL,'Bay','St','E',NULL,NULL,NULL,NULL,'Universal',1,1013,NULL,'47884',NULL,1228,39.622536,-87.45451,0,NULL,NULL,NULL),(30,121,1,1,0,'370H Martin Luther King Rd S',370,'H',NULL,'Martin Luther King','Rd','S',NULL,NULL,NULL,NULL,'Minneapolis',1,1022,NULL,'55449',NULL,1228,45.168287,-93.20001,0,NULL,NULL,NULL),(31,102,1,1,0,'139H Beech Ln NW',139,'H',NULL,'Beech','Ln','NW',NULL,NULL,NULL,NULL,'Astor',1,1008,NULL,'32102',NULL,1228,29.174417,-81.56319,0,NULL,NULL,NULL),(32,135,1,1,0,'877Q Maple Ln SE',877,'Q',NULL,'Maple','Ln','SE',NULL,NULL,NULL,NULL,'Van',1,1047,NULL,'25206',NULL,1228,37.972887,-81.71468,0,NULL,NULL,NULL),(33,9,1,1,0,'605S Second St NW',605,'S',NULL,'Second','St','NW',NULL,NULL,NULL,NULL,'Jacksboro',1,1041,NULL,'37757',NULL,1228,36.326509,-84.17277,0,NULL,NULL,NULL),(34,77,1,1,0,'223C Main Dr S',223,'C',NULL,'Main','Dr','S',NULL,NULL,NULL,NULL,'Alex',1,1035,NULL,'73002',NULL,1228,34.936221,-97.74453,0,NULL,NULL,NULL),(35,97,1,1,0,'881Q Jackson Path N',881,'Q',NULL,'Jackson','Path','N',NULL,NULL,NULL,NULL,'Rogersville',1,1000,NULL,'35652',NULL,1228,34.843309,-87.29937,0,NULL,NULL,NULL),(36,39,1,1,0,'230X Beech Dr NW',230,'X',NULL,'Beech','Dr','NW',NULL,NULL,NULL,NULL,'Holstein',1,1026,NULL,'68950',NULL,1228,40.465821,-98.65405,0,NULL,NULL,NULL),(37,111,1,1,0,'448N Lincoln Rd SW',448,'N',NULL,'Lincoln','Rd','SW',NULL,NULL,NULL,NULL,'Robbinston',1,1018,NULL,'04671',NULL,1228,45.076626,-67.14057,0,NULL,NULL,NULL),(38,118,1,1,0,'495X Maple Rd E',495,'X',NULL,'Maple','Rd','E',NULL,NULL,NULL,NULL,'Pahoa',1,1010,NULL,'96778',NULL,1228,19.494625,-154.9266,0,NULL,NULL,NULL),(39,148,1,1,0,'1U Dowlen Pl SE',1,'U',NULL,'Dowlen','Pl','SE',NULL,NULL,NULL,NULL,'Ada',1,1021,NULL,'49357',NULL,1228,43.031413,-85.550267,0,NULL,NULL,NULL),(40,81,1,1,0,'436R El Camino Rd SW',436,'R',NULL,'El Camino','Rd','SW',NULL,NULL,NULL,NULL,'Ecleto',1,1042,NULL,'78111',NULL,1228,28.944864,-97.882815,0,NULL,NULL,NULL),(41,119,1,1,0,'165Y States Way W',165,'Y',NULL,'States','Way','W',NULL,NULL,NULL,NULL,'Oneida',1,1037,NULL,'18242',NULL,1228,40.90757,-76.12636,0,NULL,NULL,NULL),(42,162,1,1,0,'634Q Pine Rd NW',634,'Q',NULL,'Pine','Rd','NW',NULL,NULL,NULL,NULL,'Linn Grove',1,1014,NULL,'51033',NULL,1228,42.907563,-95.25334,0,NULL,NULL,NULL),(43,139,1,1,0,'665I Beech Ln NE',665,'I',NULL,'Beech','Ln','NE',NULL,NULL,NULL,NULL,'Clemson',1,1039,NULL,'29632',NULL,1228,34.847372,-82.710126,0,NULL,NULL,NULL),(44,49,1,1,0,'944A Jackson Ln NW',944,'A',NULL,'Jackson','Ln','NW',NULL,NULL,NULL,NULL,'Des Moines',1,1014,NULL,'50332',NULL,1228,41.672687,-93.572173,0,NULL,NULL,NULL),(45,80,1,1,0,'147P Second Way W',147,'P',NULL,'Second','Way','W',NULL,NULL,NULL,NULL,'Linville Falls',1,1032,NULL,'28647',NULL,1228,35.779182,-81.675545,0,NULL,NULL,NULL),(46,122,1,1,0,'791V Pine Way E',791,'V',NULL,'Pine','Way','E',NULL,NULL,NULL,NULL,'Williamson',1,1037,NULL,'17270',NULL,1228,39.851731,-77.7993,0,NULL,NULL,NULL),(47,157,1,1,0,'860Y Second Ave SE',860,'Y',NULL,'Second','Ave','SE',NULL,NULL,NULL,NULL,'Alexander',1,1014,NULL,'50420',NULL,1228,42.811536,-93.46844,0,NULL,NULL,NULL),(48,107,1,1,0,'782Q Northpoint Blvd SE',782,'Q',NULL,'Northpoint','Blvd','SE',NULL,NULL,NULL,NULL,'Hansford',1,1047,NULL,'25103',NULL,1228,38.202669,-81.39427,0,NULL,NULL,NULL),(49,27,1,1,0,'499Q Woodbridge Way NW',499,'Q',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Falling Waters',1,1047,NULL,'25419',NULL,1228,39.58132,-77.8804,0,NULL,NULL,NULL),(50,14,1,1,0,'208G Maple Way NE',208,'G',NULL,'Maple','Way','NE',NULL,NULL,NULL,NULL,'Somerset',1,1034,NULL,'43783',NULL,1228,39.801679,-82.29166,0,NULL,NULL,NULL),(51,74,1,1,0,'262Q Martin Luther King Way NE',262,'Q',NULL,'Martin Luther King','Way','NE',NULL,NULL,NULL,NULL,'Lauderdale',1,1023,NULL,'39335',NULL,1228,32.517145,-88.51801,0,NULL,NULL,NULL),(52,154,1,1,0,'398H Main Ave SW',398,'H',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'De Witt',1,1003,NULL,'72042',NULL,1228,34.283347,-91.32515,0,NULL,NULL,NULL),(53,196,1,1,0,'48Q Woodbridge Path E',48,'Q',NULL,'Woodbridge','Path','E',NULL,NULL,NULL,NULL,'Plainfield',1,1029,NULL,'07063',NULL,1228,40.604252,-74.44612,0,NULL,NULL,NULL),(54,52,1,1,0,'102L Caulder Ave W',102,'L',NULL,'Caulder','Ave','W',NULL,NULL,NULL,NULL,'Fresno',1,1004,NULL,'93727',NULL,1228,36.753177,-119.69703,0,NULL,NULL,NULL),(55,21,1,1,0,'488J Northpoint Way SE',488,'J',NULL,'Northpoint','Way','SE',NULL,NULL,NULL,NULL,'Repton',1,1000,NULL,'36475',NULL,1228,31.410205,-87.22474,0,NULL,NULL,NULL),(56,31,1,1,0,'680Q Beech St NE',680,'Q',NULL,'Beech','St','NE',NULL,NULL,NULL,NULL,'Seattle',1,1046,NULL,'98164',NULL,1228,47.606139,-122.33186,0,NULL,NULL,NULL),(57,143,1,1,0,'938Y Caulder Ln N',938,'Y',NULL,'Caulder','Ln','N',NULL,NULL,NULL,NULL,'Lake Butter',1,1008,NULL,'34876',NULL,1228,28.505419,-81.571248,0,NULL,NULL,NULL),(58,110,1,1,0,'255Z College Rd E',255,'Z',NULL,'College','Rd','E',NULL,NULL,NULL,NULL,'Mountainburg',1,1003,NULL,'72946',NULL,1228,35.649503,-94.15357,0,NULL,NULL,NULL),(59,71,1,1,0,'173V Beech Way SW',173,'V',NULL,'Beech','Way','SW',NULL,NULL,NULL,NULL,'Stitzer',1,1048,NULL,'53825',NULL,1228,42.928048,-90.56703,0,NULL,NULL,NULL),(60,33,1,1,0,'488Y Caulder Blvd S',488,'Y',NULL,'Caulder','Blvd','S',NULL,NULL,NULL,NULL,'Tulsa',1,1035,NULL,'74115',NULL,1228,36.180144,-95.91129,0,NULL,NULL,NULL),(61,50,1,1,0,'873Q Cadell Ln W',873,'Q',NULL,'Cadell','Ln','W',NULL,NULL,NULL,NULL,'Raleigh',1,1032,NULL,'27640',NULL,1228,35.797692,-78.625265,0,NULL,NULL,NULL),(62,164,1,1,0,'771C Jackson Blvd S',771,'C',NULL,'Jackson','Blvd','S',NULL,NULL,NULL,NULL,'Newport',1,1013,NULL,'47966',NULL,1228,39.885739,-87.4078,0,NULL,NULL,NULL),(63,32,1,1,0,'387A States Path E',387,'A',NULL,'States','Path','E',NULL,NULL,NULL,NULL,'Braggs',1,1035,NULL,'74423',NULL,1228,35.668132,-95.18582,0,NULL,NULL,NULL),(64,200,1,1,0,'960U El Camino Way E',960,'U',NULL,'El Camino','Way','E',NULL,NULL,NULL,NULL,'Oxnard',1,1004,NULL,'93033',NULL,1228,34.166933,-119.16113,0,NULL,NULL,NULL),(65,15,1,1,0,'218W El Camino Blvd N',218,'W',NULL,'El Camino','Blvd','N',NULL,NULL,NULL,NULL,'Belpre',1,1015,NULL,'67519',NULL,1228,37.947324,-99.10017,0,NULL,NULL,NULL),(66,100,1,1,0,'404F Green St NE',404,'F',NULL,'Green','St','NE',NULL,NULL,NULL,NULL,'Realitos',1,1042,NULL,'78376',NULL,1228,27.363706,-98.56442,0,NULL,NULL,NULL),(67,137,3,1,0,'349H El Camino Path N',349,'H',NULL,'El Camino','Path','N',NULL,'Editorial Dept',NULL,NULL,'Riparius',1,1031,NULL,'12862',NULL,1228,43.675377,-73.932509,0,NULL,NULL,NULL),(68,187,2,0,0,'349H El Camino Path N',349,'H',NULL,'El Camino','Path','N',NULL,'Editorial Dept',NULL,NULL,'Riparius',1,1031,NULL,'12862',NULL,1228,43.675377,-73.932509,0,NULL,NULL,67),(69,93,3,1,0,'716N El Camino Pl NW',716,'N',NULL,'El Camino','Pl','NW',NULL,'Cuffe Parade',NULL,NULL,'Russellville',1,1039,NULL,'29476',NULL,1228,33.164201,-79.904182,0,NULL,NULL,NULL),(70,103,2,1,0,'716N El Camino Pl NW',716,'N',NULL,'El Camino','Pl','NW',NULL,'Cuffe Parade',NULL,NULL,'Russellville',1,1039,NULL,'29476',NULL,1228,33.164201,-79.904182,0,NULL,NULL,69),(71,168,3,1,0,'195X Maple Dr E',195,'X',NULL,'Maple','Dr','E',NULL,'Payables Dept.',NULL,NULL,'Columbia',1,1012,NULL,'62236',NULL,1228,38.442906,-90.20775,0,NULL,NULL,NULL),(72,38,2,1,0,'195X Maple Dr E',195,'X',NULL,'Maple','Dr','E',NULL,'Payables Dept.',NULL,NULL,'Columbia',1,1012,NULL,'62236',NULL,1228,38.442906,-90.20775,0,NULL,NULL,71),(73,141,3,1,0,'583H Caulder Ln SW',583,'H',NULL,'Caulder','Ln','SW',NULL,'Attn: Development',NULL,NULL,'Oklahoma City',1,1035,NULL,'73154',NULL,1228,35.523758,-97.525467,0,NULL,NULL,NULL),(74,145,2,1,0,'583H Caulder Ln SW',583,'H',NULL,'Caulder','Ln','SW',NULL,'Attn: Development',NULL,NULL,'Oklahoma City',1,1035,NULL,'73154',NULL,1228,35.523758,-97.525467,0,NULL,NULL,73),(75,56,3,1,0,'567Q Dowlen St N',567,'Q',NULL,'Dowlen','St','N',NULL,'Urgent',NULL,NULL,'Canton',1,1024,NULL,'63435',NULL,1228,40.178309,-91.57389,0,NULL,NULL,NULL),(76,182,3,1,0,'809L Martin Luther King Way NW',809,'L',NULL,'Martin Luther King','Way','NW',NULL,'Editorial Dept',NULL,NULL,'Cheshire',1,1006,NULL,'06408',NULL,1228,41.365709,-72.927507,0,NULL,NULL,NULL),(77,39,2,0,0,'809L Martin Luther King Way NW',809,'L',NULL,'Martin Luther King','Way','NW',NULL,'Editorial Dept',NULL,NULL,'Cheshire',1,1006,NULL,'06408',NULL,1228,41.365709,-72.927507,0,NULL,NULL,76),(78,191,3,1,0,'114P Woodbridge Blvd N',114,'P',NULL,'Woodbridge','Blvd','N',NULL,'Community Relations',NULL,NULL,'White Marsh',1,1019,NULL,'21162',NULL,1228,39.387307,-76.41236,0,NULL,NULL,NULL),(79,48,2,1,0,'114P Woodbridge Blvd N',114,'P',NULL,'Woodbridge','Blvd','N',NULL,'Community Relations',NULL,NULL,'White Marsh',1,1019,NULL,'21162',NULL,1228,39.387307,-76.41236,0,NULL,NULL,78),(80,186,3,1,0,'154F Lincoln Dr W',154,'F',NULL,'Lincoln','Dr','W',NULL,'Community Relations',NULL,NULL,'Naples',1,1042,NULL,'75568',NULL,1228,33.206258,-94.63009,0,NULL,NULL,NULL),(81,61,3,1,0,'328I Second Ln W',328,'I',NULL,'Second','Ln','W',NULL,'Receiving',NULL,NULL,'Atlanta',1,1009,NULL,'39901',NULL,1228,33.891251,-84.07456,0,NULL,NULL,NULL),(82,138,3,1,0,'551E Second Dr NE',551,'E',NULL,'Second','Dr','NE',NULL,'Cuffe Parade',NULL,NULL,'Braymer',1,1024,NULL,'64624',NULL,1228,39.581772,-93.79569,0,NULL,NULL,NULL),(83,134,2,1,0,'551E Second Dr NE',551,'E',NULL,'Second','Dr','NE',NULL,'Cuffe Parade',NULL,NULL,'Braymer',1,1024,NULL,'64624',NULL,1228,39.581772,-93.79569,0,NULL,NULL,82),(84,83,3,1,0,'973H Pine St N',973,'H',NULL,'Pine','St','N',NULL,'Cuffe Parade',NULL,NULL,'Lumber City',1,1009,NULL,'31549',NULL,1228,31.928525,-82.69332,0,NULL,NULL,NULL),(85,172,3,1,0,'949W Northpoint Dr NE',949,'W',NULL,'Northpoint','Dr','NE',NULL,'Attn: Accounting',NULL,NULL,'San Francisco',1,1004,NULL,'94106',NULL,1228,37.784827,-122.727802,0,NULL,NULL,NULL),(86,42,3,1,0,'619K Main Way NE',619,'K',NULL,'Main','Way','NE',NULL,'Receiving',NULL,NULL,'Kernersville',1,1032,NULL,'27285',NULL,1228,36.027482,-80.20728,0,NULL,NULL,NULL),(87,125,2,1,0,'619K Main Way NE',619,'K',NULL,'Main','Way','NE',NULL,'Receiving',NULL,NULL,'Kernersville',1,1032,NULL,'27285',NULL,1228,36.027482,-80.20728,0,NULL,NULL,86),(88,47,3,1,0,'408Q Caulder Path W',408,'Q',NULL,'Caulder','Path','W',NULL,'c/o PO Plus',NULL,NULL,'Simpson',1,1012,NULL,'62985',NULL,1228,37.458878,-88.69466,0,NULL,NULL,NULL),(89,175,3,1,0,'319M Northpoint Way NE',319,'M',NULL,'Northpoint','Way','NE',NULL,'Disbursements',NULL,NULL,'Baker',1,1008,NULL,'32531',NULL,1228,30.8752,-86.68607,0,NULL,NULL,NULL),(90,161,2,1,0,'319M Northpoint Way NE',319,'M',NULL,'Northpoint','Way','NE',NULL,'Disbursements',NULL,NULL,'Baker',1,1008,NULL,'32531',NULL,1228,30.8752,-86.68607,0,NULL,NULL,89),(91,29,3,1,0,'248S Caulder Path S',248,'S',NULL,'Caulder','Path','S',NULL,'Attn: Development',NULL,NULL,'Birmingham',1,1000,NULL,'35230',NULL,1228,33.544622,-86.929208,0,NULL,NULL,NULL),(92,82,2,1,0,'248S Caulder Path S',248,'S',NULL,'Caulder','Path','S',NULL,'Attn: Development',NULL,NULL,'Birmingham',1,1000,NULL,'35230',NULL,1228,33.544622,-86.929208,0,NULL,NULL,91),(93,160,3,1,0,'456B Main Ln NW',456,'B',NULL,'Main','Ln','NW',NULL,'Subscriptions Dept',NULL,NULL,'Beggs',1,1035,NULL,'74421',NULL,1228,35.755522,-96.04744,0,NULL,NULL,NULL),(94,149,2,1,0,'456B Main Ln NW',456,'B',NULL,'Main','Ln','NW',NULL,'Subscriptions Dept',NULL,NULL,'Beggs',1,1035,NULL,'74421',NULL,1228,35.755522,-96.04744,0,NULL,NULL,93),(95,4,3,1,0,'241J States Rd E',241,'J',NULL,'States','Rd','E',NULL,'Cuffe Parade',NULL,NULL,'Rebersburg',1,1037,NULL,'16872',NULL,1228,40.966199,-77.35299,0,NULL,NULL,NULL),(96,96,3,1,0,'580F Northpoint Dr NE',580,'F',NULL,'Northpoint','Dr','NE',NULL,'Receiving',NULL,NULL,'Hanceville',1,1000,NULL,'35077',NULL,1228,34.043589,-86.80644,0,NULL,NULL,NULL),(97,60,2,1,0,'580F Northpoint Dr NE',580,'F',NULL,'Northpoint','Dr','NE',NULL,'Receiving',NULL,NULL,'Hanceville',1,1000,NULL,'35077',NULL,1228,34.043589,-86.80644,0,NULL,NULL,96),(98,98,3,1,0,'810H Bay Dr NW',810,'H',NULL,'Bay','Dr','NW',NULL,'Subscriptions Dept',NULL,NULL,'Washington',1,1050,NULL,'20035',NULL,1228,38.893311,-77.014647,0,NULL,NULL,NULL),(99,149,1,0,0,'860Y Second Ave SE',860,'Y',NULL,'Second','Ave','SE',NULL,NULL,NULL,NULL,'Alexander',1,1014,NULL,'50420',NULL,1228,42.811536,-93.46844,0,NULL,NULL,47),(100,94,1,1,0,'860Y Second Ave SE',860,'Y',NULL,'Second','Ave','SE',NULL,NULL,NULL,NULL,'Alexander',1,1014,NULL,'50420',NULL,1228,42.811536,-93.46844,0,NULL,NULL,47),(101,179,1,1,0,'860Y Second Ave SE',860,'Y',NULL,'Second','Ave','SE',NULL,NULL,NULL,NULL,'Alexander',1,1014,NULL,'50420',NULL,1228,42.811536,-93.46844,0,NULL,NULL,47),(102,122,1,0,0,'445Z Lincoln St SE',445,'Z',NULL,'Lincoln','St','SE',NULL,NULL,NULL,NULL,'Littleton',1,1012,NULL,'61452',NULL,1228,40.249363,-90.66845,0,NULL,NULL,NULL),(103,37,1,1,0,'782Q Northpoint Blvd SE',782,'Q',NULL,'Northpoint','Blvd','SE',NULL,NULL,NULL,NULL,'Hansford',1,1047,NULL,'25103',NULL,1228,38.202669,-81.39427,0,NULL,NULL,48),(104,99,1,1,0,'782Q Northpoint Blvd SE',782,'Q',NULL,'Northpoint','Blvd','SE',NULL,NULL,NULL,NULL,'Hansford',1,1047,NULL,'25103',NULL,1228,38.202669,-81.39427,0,NULL,NULL,48),(105,150,1,1,0,'782Q Northpoint Blvd SE',782,'Q',NULL,'Northpoint','Blvd','SE',NULL,NULL,NULL,NULL,'Hansford',1,1047,NULL,'25103',NULL,1228,38.202669,-81.39427,0,NULL,NULL,48),(106,3,1,1,0,'782Q Northpoint Blvd SE',782,'Q',NULL,'Northpoint','Blvd','SE',NULL,NULL,NULL,NULL,'Hansford',1,1047,NULL,'25103',NULL,1228,38.202669,-81.39427,0,NULL,NULL,48),(107,146,1,1,0,'499Q Woodbridge Way NW',499,'Q',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Falling Waters',1,1047,NULL,'25419',NULL,1228,39.58132,-77.8804,0,NULL,NULL,49),(108,193,1,1,0,'499Q Woodbridge Way NW',499,'Q',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Falling Waters',1,1047,NULL,'25419',NULL,1228,39.58132,-77.8804,0,NULL,NULL,49),(109,72,1,1,0,'499Q Woodbridge Way NW',499,'Q',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Falling Waters',1,1047,NULL,'25419',NULL,1228,39.58132,-77.8804,0,NULL,NULL,49),(110,35,1,1,0,'499Q Woodbridge Way NW',499,'Q',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Falling Waters',1,1047,NULL,'25419',NULL,1228,39.58132,-77.8804,0,NULL,NULL,49),(111,82,1,0,0,'208G Maple Way NE',208,'G',NULL,'Maple','Way','NE',NULL,NULL,NULL,NULL,'Somerset',1,1034,NULL,'43783',NULL,1228,39.801679,-82.29166,0,NULL,NULL,50),(112,51,1,1,0,'208G Maple Way NE',208,'G',NULL,'Maple','Way','NE',NULL,NULL,NULL,NULL,'Somerset',1,1034,NULL,'43783',NULL,1228,39.801679,-82.29166,0,NULL,NULL,50),(113,5,1,1,0,'208G Maple Way NE',208,'G',NULL,'Maple','Way','NE',NULL,NULL,NULL,NULL,'Somerset',1,1034,NULL,'43783',NULL,1228,39.801679,-82.29166,0,NULL,NULL,50),(114,69,1,1,0,'861O Bay Blvd SW',861,'O',NULL,'Bay','Blvd','SW',NULL,NULL,NULL,NULL,'Tucson',1,1002,NULL,'85708',NULL,1228,32.196846,-110.89189,0,NULL,NULL,NULL),(115,165,1,1,0,'262Q Martin Luther King Way NE',262,'Q',NULL,'Martin Luther King','Way','NE',NULL,NULL,NULL,NULL,'Lauderdale',1,1023,NULL,'39335',NULL,1228,32.517145,-88.51801,0,NULL,NULL,51),(116,59,1,1,0,'262Q Martin Luther King Way NE',262,'Q',NULL,'Martin Luther King','Way','NE',NULL,NULL,NULL,NULL,'Lauderdale',1,1023,NULL,'39335',NULL,1228,32.517145,-88.51801,0,NULL,NULL,51),(117,48,1,0,0,'262Q Martin Luther King Way NE',262,'Q',NULL,'Martin Luther King','Way','NE',NULL,NULL,NULL,NULL,'Lauderdale',1,1023,NULL,'39335',NULL,1228,32.517145,-88.51801,0,NULL,NULL,51),(118,109,1,1,0,'262Q Martin Luther King Way NE',262,'Q',NULL,'Martin Luther King','Way','NE',NULL,NULL,NULL,NULL,'Lauderdale',1,1023,NULL,'39335',NULL,1228,32.517145,-88.51801,0,NULL,NULL,51),(119,44,1,1,0,'398H Main Ave SW',398,'H',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'De Witt',1,1003,NULL,'72042',NULL,1228,34.283347,-91.32515,0,NULL,NULL,52),(120,170,1,1,0,'398H Main Ave SW',398,'H',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'De Witt',1,1003,NULL,'72042',NULL,1228,34.283347,-91.32515,0,NULL,NULL,52),(121,142,1,1,0,'398H Main Ave SW',398,'H',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'De Witt',1,1003,NULL,'72042',NULL,1228,34.283347,-91.32515,0,NULL,NULL,52),(122,124,1,1,0,'398H Main Ave SW',398,'H',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'De Witt',1,1003,NULL,'72042',NULL,1228,34.283347,-91.32515,0,NULL,NULL,52),(123,145,1,0,0,'48Q Woodbridge Path E',48,'Q',NULL,'Woodbridge','Path','E',NULL,NULL,NULL,NULL,'Plainfield',1,1029,NULL,'07063',NULL,1228,40.604252,-74.44612,0,NULL,NULL,53),(124,106,1,1,0,'48Q Woodbridge Path E',48,'Q',NULL,'Woodbridge','Path','E',NULL,NULL,NULL,NULL,'Plainfield',1,1029,NULL,'07063',NULL,1228,40.604252,-74.44612,0,NULL,NULL,53),(125,12,1,1,0,'48Q Woodbridge Path E',48,'Q',NULL,'Woodbridge','Path','E',NULL,NULL,NULL,NULL,'Plainfield',1,1029,NULL,'07063',NULL,1228,40.604252,-74.44612,0,NULL,NULL,53),(126,25,1,1,0,'48Q Woodbridge Path E',48,'Q',NULL,'Woodbridge','Path','E',NULL,NULL,NULL,NULL,'Plainfield',1,1029,NULL,'07063',NULL,1228,40.604252,-74.44612,0,NULL,NULL,53),(127,91,1,1,0,'102L Caulder Ave W',102,'L',NULL,'Caulder','Ave','W',NULL,NULL,NULL,NULL,'Fresno',1,1004,NULL,'93727',NULL,1228,36.753177,-119.69703,0,NULL,NULL,54),(128,20,1,1,0,'102L Caulder Ave W',102,'L',NULL,'Caulder','Ave','W',NULL,NULL,NULL,NULL,'Fresno',1,1004,NULL,'93727',NULL,1228,36.753177,-119.69703,0,NULL,NULL,54),(129,57,1,1,0,'102L Caulder Ave W',102,'L',NULL,'Caulder','Ave','W',NULL,NULL,NULL,NULL,'Fresno',1,1004,NULL,'93727',NULL,1228,36.753177,-119.69703,0,NULL,NULL,54),(130,43,1,1,0,'102L Caulder Ave W',102,'L',NULL,'Caulder','Ave','W',NULL,NULL,NULL,NULL,'Fresno',1,1004,NULL,'93727',NULL,1228,36.753177,-119.69703,0,NULL,NULL,54),(131,195,1,1,0,'488J Northpoint Way SE',488,'J',NULL,'Northpoint','Way','SE',NULL,NULL,NULL,NULL,'Repton',1,1000,NULL,'36475',NULL,1228,31.410205,-87.22474,0,NULL,NULL,55),(132,169,1,1,0,'488J Northpoint Way SE',488,'J',NULL,'Northpoint','Way','SE',NULL,NULL,NULL,NULL,'Repton',1,1000,NULL,'36475',NULL,1228,31.410205,-87.22474,0,NULL,NULL,55),(133,194,1,1,0,'488J Northpoint Way SE',488,'J',NULL,'Northpoint','Way','SE',NULL,NULL,NULL,NULL,'Repton',1,1000,NULL,'36475',NULL,1228,31.410205,-87.22474,0,NULL,NULL,55),(134,185,1,1,0,'488J Northpoint Way SE',488,'J',NULL,'Northpoint','Way','SE',NULL,NULL,NULL,NULL,'Repton',1,1000,NULL,'36475',NULL,1228,31.410205,-87.22474,0,NULL,NULL,55),(135,68,1,1,0,'680Q Beech St NE',680,'Q',NULL,'Beech','St','NE',NULL,NULL,NULL,NULL,'Seattle',1,1046,NULL,'98164',NULL,1228,47.606139,-122.33186,0,NULL,NULL,56),(136,188,1,1,0,'680Q Beech St NE',680,'Q',NULL,'Beech','St','NE',NULL,NULL,NULL,NULL,'Seattle',1,1046,NULL,'98164',NULL,1228,47.606139,-122.33186,0,NULL,NULL,56),(137,166,1,1,0,'680Q Beech St NE',680,'Q',NULL,'Beech','St','NE',NULL,NULL,NULL,NULL,'Seattle',1,1046,NULL,'98164',NULL,1228,47.606139,-122.33186,0,NULL,NULL,56),(138,7,1,1,0,'629M Jackson St W',629,'M',NULL,'Jackson','St','W',NULL,NULL,NULL,NULL,'Otwell',1,1013,NULL,'47564',NULL,1228,38.470473,-87.09905,0,NULL,NULL,NULL),(139,75,1,1,0,'938Y Caulder Ln N',938,'Y',NULL,'Caulder','Ln','N',NULL,NULL,NULL,NULL,'Lake Butter',1,1008,NULL,'34876',NULL,1228,28.505419,-81.571248,0,NULL,NULL,57),(140,178,1,1,0,'938Y Caulder Ln N',938,'Y',NULL,'Caulder','Ln','N',NULL,NULL,NULL,NULL,'Lake Butter',1,1008,NULL,'34876',NULL,1228,28.505419,-81.571248,0,NULL,NULL,57),(141,88,1,1,0,'938Y Caulder Ln N',938,'Y',NULL,'Caulder','Ln','N',NULL,NULL,NULL,NULL,'Lake Butter',1,1008,NULL,'34876',NULL,1228,28.505419,-81.571248,0,NULL,NULL,57),(142,105,1,1,0,'808B Second Pl E',808,'B',NULL,'Second','Pl','E',NULL,NULL,NULL,NULL,'Jupiter',1,1008,NULL,'33458',NULL,1228,26.928035,-80.11803,0,NULL,NULL,NULL),(143,176,1,1,0,'255Z College Rd E',255,'Z',NULL,'College','Rd','E',NULL,NULL,NULL,NULL,'Mountainburg',1,1003,NULL,'72946',NULL,1228,35.649503,-94.15357,0,NULL,NULL,58),(144,58,1,1,0,'255Z College Rd E',255,'Z',NULL,'College','Rd','E',NULL,NULL,NULL,NULL,'Mountainburg',1,1003,NULL,'72946',NULL,1228,35.649503,-94.15357,0,NULL,NULL,58),(145,84,1,1,0,'255Z College Rd E',255,'Z',NULL,'College','Rd','E',NULL,NULL,NULL,NULL,'Mountainburg',1,1003,NULL,'72946',NULL,1228,35.649503,-94.15357,0,NULL,NULL,58),(146,161,1,0,0,'255Z College Rd E',255,'Z',NULL,'College','Rd','E',NULL,NULL,NULL,NULL,'Mountainburg',1,1003,NULL,'72946',NULL,1228,35.649503,-94.15357,0,NULL,NULL,58),(147,23,1,1,0,'173V Beech Way SW',173,'V',NULL,'Beech','Way','SW',NULL,NULL,NULL,NULL,'Stitzer',1,1048,NULL,'53825',NULL,1228,42.928048,-90.56703,0,NULL,NULL,59),(148,38,1,0,0,'173V Beech Way SW',173,'V',NULL,'Beech','Way','SW',NULL,NULL,NULL,NULL,'Stitzer',1,1048,NULL,'53825',NULL,1228,42.928048,-90.56703,0,NULL,NULL,59),(149,184,1,1,0,'173V Beech Way SW',173,'V',NULL,'Beech','Way','SW',NULL,NULL,NULL,NULL,'Stitzer',1,1048,NULL,'53825',NULL,1228,42.928048,-90.56703,0,NULL,NULL,59),(150,108,1,1,0,'173V Beech Way SW',173,'V',NULL,'Beech','Way','SW',NULL,NULL,NULL,NULL,'Stitzer',1,1048,NULL,'53825',NULL,1228,42.928048,-90.56703,0,NULL,NULL,59),(151,85,1,1,0,'488Y Caulder Blvd S',488,'Y',NULL,'Caulder','Blvd','S',NULL,NULL,NULL,NULL,'Tulsa',1,1035,NULL,'74115',NULL,1228,36.180144,-95.91129,0,NULL,NULL,60),(152,13,1,1,0,'488Y Caulder Blvd S',488,'Y',NULL,'Caulder','Blvd','S',NULL,NULL,NULL,NULL,'Tulsa',1,1035,NULL,'74115',NULL,1228,36.180144,-95.91129,0,NULL,NULL,60),(153,18,1,1,0,'488Y Caulder Blvd S',488,'Y',NULL,'Caulder','Blvd','S',NULL,NULL,NULL,NULL,'Tulsa',1,1035,NULL,'74115',NULL,1228,36.180144,-95.91129,0,NULL,NULL,60),(154,28,1,1,0,'488Y Caulder Blvd S',488,'Y',NULL,'Caulder','Blvd','S',NULL,NULL,NULL,NULL,'Tulsa',1,1035,NULL,'74115',NULL,1228,36.180144,-95.91129,0,NULL,NULL,60),(155,24,1,1,0,'873Q Cadell Ln W',873,'Q',NULL,'Cadell','Ln','W',NULL,NULL,NULL,NULL,'Raleigh',1,1032,NULL,'27640',NULL,1228,35.797692,-78.625265,0,NULL,NULL,61),(156,132,1,1,0,'873Q Cadell Ln W',873,'Q',NULL,'Cadell','Ln','W',NULL,NULL,NULL,NULL,'Raleigh',1,1032,NULL,'27640',NULL,1228,35.797692,-78.625265,0,NULL,NULL,61),(157,125,1,0,0,'873Q Cadell Ln W',873,'Q',NULL,'Cadell','Ln','W',NULL,NULL,NULL,NULL,'Raleigh',1,1032,NULL,'27640',NULL,1228,35.797692,-78.625265,0,NULL,NULL,61),(158,177,1,1,0,'873Q Cadell Ln W',873,'Q',NULL,'Cadell','Ln','W',NULL,NULL,NULL,NULL,'Raleigh',1,1032,NULL,'27640',NULL,1228,35.797692,-78.625265,0,NULL,NULL,61),(159,173,1,1,0,'771C Jackson Blvd S',771,'C',NULL,'Jackson','Blvd','S',NULL,NULL,NULL,NULL,'Newport',1,1013,NULL,'47966',NULL,1228,39.885739,-87.4078,0,NULL,NULL,62),(160,10,1,1,0,'771C Jackson Blvd S',771,'C',NULL,'Jackson','Blvd','S',NULL,NULL,NULL,NULL,'Newport',1,1013,NULL,'47966',NULL,1228,39.885739,-87.4078,0,NULL,NULL,62),(161,190,1,1,0,'771C Jackson Blvd S',771,'C',NULL,'Jackson','Blvd','S',NULL,NULL,NULL,NULL,'Newport',1,1013,NULL,'47966',NULL,1228,39.885739,-87.4078,0,NULL,NULL,62),(162,8,1,1,0,'771C Jackson Blvd S',771,'C',NULL,'Jackson','Blvd','S',NULL,NULL,NULL,NULL,'Newport',1,1013,NULL,'47966',NULL,1228,39.885739,-87.4078,0,NULL,NULL,62),(163,130,1,1,0,'387A States Path E',387,'A',NULL,'States','Path','E',NULL,NULL,NULL,NULL,'Braggs',1,1035,NULL,'74423',NULL,1228,35.668132,-95.18582,0,NULL,NULL,63),(164,22,1,1,0,'387A States Path E',387,'A',NULL,'States','Path','E',NULL,NULL,NULL,NULL,'Braggs',1,1035,NULL,'74423',NULL,1228,35.668132,-95.18582,0,NULL,NULL,63),(165,66,1,1,0,'387A States Path E',387,'A',NULL,'States','Path','E',NULL,NULL,NULL,NULL,'Braggs',1,1035,NULL,'74423',NULL,1228,35.668132,-95.18582,0,NULL,NULL,63),(166,54,1,1,0,'387A States Path E',387,'A',NULL,'States','Path','E',NULL,NULL,NULL,NULL,'Braggs',1,1035,NULL,'74423',NULL,1228,35.668132,-95.18582,0,NULL,NULL,63),(167,183,1,1,0,'960U El Camino Way E',960,'U',NULL,'El Camino','Way','E',NULL,NULL,NULL,NULL,'Oxnard',1,1004,NULL,'93033',NULL,1228,34.166933,-119.16113,0,NULL,NULL,64),(168,189,1,1,0,'960U El Camino Way E',960,'U',NULL,'El Camino','Way','E',NULL,NULL,NULL,NULL,'Oxnard',1,1004,NULL,'93033',NULL,1228,34.166933,-119.16113,0,NULL,NULL,64),(169,26,1,1,0,'960U El Camino Way E',960,'U',NULL,'El Camino','Way','E',NULL,NULL,NULL,NULL,'Oxnard',1,1004,NULL,'93033',NULL,1228,34.166933,-119.16113,0,NULL,NULL,64),(170,163,1,1,0,'960U El Camino Way E',960,'U',NULL,'El Camino','Way','E',NULL,NULL,NULL,NULL,'Oxnard',1,1004,NULL,'93033',NULL,1228,34.166933,-119.16113,0,NULL,NULL,64),(171,134,1,0,0,'218W El Camino Blvd N',218,'W',NULL,'El Camino','Blvd','N',NULL,NULL,NULL,NULL,'Belpre',1,1015,NULL,'67519',NULL,1228,37.947324,-99.10017,0,NULL,NULL,65),(172,40,1,1,0,'218W El Camino Blvd N',218,'W',NULL,'El Camino','Blvd','N',NULL,NULL,NULL,NULL,'Belpre',1,1015,NULL,'67519',NULL,1228,37.947324,-99.10017,0,NULL,NULL,65),(173,17,1,1,0,'218W El Camino Blvd N',218,'W',NULL,'El Camino','Blvd','N',NULL,NULL,NULL,NULL,'Belpre',1,1015,NULL,'67519',NULL,1228,37.947324,-99.10017,0,NULL,NULL,65),(174,133,1,1,0,'213R El Camino Way NE',213,'R',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Green Bay',1,1048,NULL,'54303',NULL,1228,44.530892,-88.04482,0,NULL,NULL,NULL),(175,46,1,1,0,'404F Green St NE',404,'F',NULL,'Green','St','NE',NULL,NULL,NULL,NULL,'Realitos',1,1042,NULL,'78376',NULL,1228,27.363706,-98.56442,0,NULL,NULL,66),(176,60,1,0,0,'404F Green St NE',404,'F',NULL,'Green','St','NE',NULL,NULL,NULL,NULL,'Realitos',1,1042,NULL,'78376',NULL,1228,27.363706,-98.56442,0,NULL,NULL,66),(177,95,1,1,0,'404F Green St NE',404,'F',NULL,'Green','St','NE',NULL,NULL,NULL,NULL,'Realitos',1,1042,NULL,'78376',NULL,1228,27.363706,-98.56442,0,NULL,NULL,66),(178,90,1,1,0,'133U Jackson Ave S',133,'U',NULL,'Jackson','Ave','S',NULL,NULL,NULL,NULL,'Fontanelle',1,1014,NULL,'50846',NULL,1228,41.307029,-94.55679,0,NULL,NULL,NULL),(179,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),(180,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),(181,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,'2019-08-15 21:31:00'),(2,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Cooper, Sharyn','Sharyn Cooper',NULL,NULL,NULL,'3',NULL,'Both','1253804931',NULL,'Sample Data','Sharyn','','Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Cooper',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(3,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Jameson family','Jameson family',NULL,NULL,NULL,NULL,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,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(4,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Smith, Kacey','Kacey Smith',NULL,NULL,NULL,'5',NULL,'Both','4027129634',NULL,'Sample Data','Kacey','','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Kacey Smith',NULL,1,NULL,1,'2019-02-20',NULL,NULL,'Palo Alto Arts Academy',NULL,NULL,196,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(5,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Nielsen, Alexia','Alexia Nielsen',NULL,NULL,NULL,NULL,NULL,'Both','164186955',NULL,'Sample Data','Alexia','','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Nielsen',NULL,1,'1946-10-19',1,'2018-11-18',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(6,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Brent','Brent Lee III',NULL,NULL,NULL,NULL,NULL,'Both','3880593995',NULL,'Sample Data','Brent','P','Lee',NULL,4,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Brent Lee III',NULL,NULL,'1978-09-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:29'),(7,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Brittney','Mrs. Brittney Adams',NULL,NULL,NULL,'2',NULL,'Both','1087046630',NULL,'Sample Data','Brittney','','Adams',1,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Mrs. Brittney Adams',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(8,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Nielsen, Kathlyn','Mrs. Kathlyn Nielsen',NULL,NULL,NULL,'3',NULL,'Both','145231118',NULL,'Sample Data','Kathlyn','','Nielsen',1,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Mrs. Kathlyn Nielsen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(9,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley family','Barkley family',NULL,NULL,NULL,NULL,NULL,'Both','2888062109',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Barkley family',5,NULL,'Dear Barkley family',2,NULL,'Barkley family',NULL,NULL,NULL,0,NULL,'Barkley family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(10,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Lashawnda','Ms. Lashawnda Cruz',NULL,NULL,NULL,'2',NULL,'Both','2604537313',NULL,'Sample Data','Lashawnda','Y','Cruz',2,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Ms. Lashawnda Cruz',NULL,NULL,NULL,1,'2019-01-14',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(11,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Brzęczysław','Brzęczysław Lee Jr.',NULL,NULL,NULL,NULL,NULL,'Both','2392926300',NULL,'Sample Data','Brzęczysław','G','Lee',NULL,1,NULL,NULL,1,NULL,'Dear Brzęczysław',1,NULL,'Dear Brzęczysław',1,NULL,'Brzęczysław Lee Jr.',NULL,NULL,'2002-05-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:29'),(12,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Smith, Lashawnda','Ms. Lashawnda Smith',NULL,NULL,NULL,'3',NULL,'Both','810461769',NULL,'Sample Data','Lashawnda','','Smith',2,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Ms. Lashawnda Smith',NULL,NULL,'1959-10-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(13,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Brigette','Mrs. Brigette Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','2016612463',NULL,'Sample Data','Brigette','R','Ivanov',1,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Mrs. Brigette Ivanov',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(14,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds, Kenny','Kenny Reynolds II',NULL,NULL,NULL,'3',NULL,'Both','2459168653',NULL,'Sample Data','Kenny','','Reynolds',NULL,3,NULL,NULL,1,NULL,'Dear Kenny',1,NULL,'Dear Kenny',1,NULL,'Kenny Reynolds II',NULL,NULL,'1964-12-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(15,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Clint','Clint Samson Sr.',NULL,NULL,NULL,'4',NULL,'Both','1111759709',NULL,'Sample Data','Clint','','Samson',NULL,2,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Clint Samson Sr.',NULL,2,'1991-05-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(16,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Juliann','Ms. Juliann Samson',NULL,NULL,NULL,NULL,NULL,'Both','1799778538',NULL,'Sample Data','Juliann','G','Samson',2,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Ms. Juliann Samson',NULL,1,'1988-06-05',0,NULL,NULL,NULL,'Local Education Fellowship',NULL,NULL,121,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(17,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Jones family','Jones family',NULL,NULL,NULL,'2',NULL,'Both','1110516799',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jones family',5,NULL,'Dear Jones family',2,NULL,'Jones family',NULL,NULL,NULL,0,NULL,'Jones family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(18,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Deforest, Elizabeth','Elizabeth Deforest',NULL,NULL,NULL,'1',NULL,'Both','2409848026',NULL,'Sample Data','Elizabeth','E','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Deforest',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(19,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Addy Wellness Trust','Addy Wellness Trust',NULL,NULL,NULL,NULL,NULL,'Both','754252251',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Addy Wellness Trust',NULL,NULL,NULL,0,NULL,NULL,180,'Addy Wellness Trust',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(20,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Landon','Mr. Landon Lee II',NULL,NULL,NULL,NULL,NULL,'Both','4144706447',NULL,'Sample Data','Landon','X','Lee',3,3,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Mr. Landon Lee II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:29'),(21,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'McReynolds, Jacob','Jacob McReynolds Jr.',NULL,NULL,NULL,NULL,NULL,'Both','4202313565',NULL,'Sample Data','Jacob','C','McReynolds',NULL,1,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Jacob McReynolds Jr.',NULL,2,'2014-02-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(22,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'bachmank79@testmail.co.in','bachmank79@testmail.co.in',NULL,NULL,NULL,'2',NULL,'Both','2269578018',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear bachmank79@testmail.co.in',1,NULL,'Dear bachmank79@testmail.co.in',1,NULL,'bachmank79@testmail.co.in',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(23,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samson, Jay','Jay Samson',NULL,NULL,NULL,'2',NULL,'Both','4164694386',NULL,'Sample Data','Jay','','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Jay Samson',NULL,2,'1941-07-29',1,'2018-12-25',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(24,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'gonzlezm@airmail.co.pl','gonzlezm@airmail.co.pl',NULL,NULL,NULL,'2',NULL,'Both','3471152095',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear gonzlezm@airmail.co.pl',1,NULL,'Dear gonzlezm@airmail.co.pl',1,NULL,'gonzlezm@airmail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(25,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jones, Tanya','Mrs. Tanya Jones',NULL,NULL,NULL,NULL,NULL,'Both','1578190771',NULL,'Sample Data','Tanya','','Jones',1,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Mrs. Tanya Jones',NULL,1,'1981-12-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(26,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice, Jed','Jed Prentice',NULL,NULL,NULL,'4',NULL,'Both','737533559',NULL,'Sample Data','Jed','','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Jed Prentice',NULL,NULL,'1990-05-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(27,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Adams, Scott','Scott Adams',NULL,NULL,NULL,NULL,NULL,'Both','2280225126',NULL,'Sample Data','Scott','','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Scott Adams',NULL,NULL,'1952-09-14',1,'2019-01-22',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(28,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Omar','Mr. Omar Olsen',NULL,NULL,NULL,'5',NULL,'Both','2675601131',NULL,'Sample Data','Omar','','Olsen',3,NULL,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Mr. Omar Olsen',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(29,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Łąchowski-Cooper, Arlyne','Arlyne Łąchowski-Cooper',NULL,NULL,NULL,NULL,NULL,'Both','3561672255',NULL,'Sample Data','Arlyne','','Łąchowski-Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Arlyne Łąchowski-Cooper',NULL,NULL,'2011-03-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(30,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'idaz@testmail.co.pl','idaz@testmail.co.pl',NULL,NULL,NULL,'3',NULL,'Both','1590898300',NULL,'Sample Data',NULL,NULL,NULL,2,NULL,NULL,NULL,1,NULL,'Dear idaz@testmail.co.pl',1,NULL,'Dear idaz@testmail.co.pl',1,NULL,'idaz@testmail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(31,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Sonny','Mr. Sonny Wattson',NULL,NULL,NULL,'4',NULL,'Both','4056100823',NULL,'Sample Data','Sonny','M','Wattson',3,NULL,NULL,NULL,1,NULL,'Dear Sonny',1,NULL,'Dear Sonny',1,NULL,'Mr. Sonny Wattson',NULL,2,'1970-04-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(32,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Samson-Barkley, Erik','Erik Samson-Barkley III',NULL,NULL,NULL,NULL,NULL,'Both','378938647',NULL,'Sample Data','Erik','','Samson-Barkley',NULL,4,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Samson-Barkley III',NULL,2,'1971-07-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:29'),(33,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samson, Kathlyn','Kathlyn Samson',NULL,NULL,NULL,NULL,NULL,'Both','2952894256',NULL,'Sample Data','Kathlyn','','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Kathlyn Samson',NULL,1,'1954-10-10',1,'2019-04-13',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(34,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Łąchowski-Cooper, Brigette','Dr. Brigette Łąchowski-Cooper',NULL,NULL,NULL,NULL,NULL,'Both','3626490862',NULL,'Sample Data','Brigette','','Łąchowski-Cooper',4,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Dr. Brigette Łąchowski-Cooper',NULL,1,'1992-10-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(35,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley-Parker, Felisha','Felisha Barkley-Parker',NULL,NULL,NULL,'4',NULL,'Both','2080249471',NULL,'Sample Data','Felisha','','Barkley-Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Felisha Barkley-Parker',NULL,1,'1997-11-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(36,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'bcooper@mymail.biz','bcooper@mymail.biz',NULL,NULL,NULL,'5',NULL,'Both','2175964031',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear bcooper@mymail.biz',1,NULL,'Dear bcooper@mymail.biz',1,NULL,'bcooper@mymail.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(37,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Minnesota Music Services','Minnesota Music Services',NULL,NULL,NULL,NULL,NULL,'Both','2721288327',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Minnesota Music Services',NULL,NULL,NULL,0,NULL,NULL,NULL,'Minnesota Music Services',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(38,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Craig','Mr. Craig Blackwell II',NULL,NULL,NULL,'5',NULL,'Both','2607395408',NULL,'Sample Data','Craig','','Blackwell',3,3,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Mr. Craig Blackwell II',NULL,2,'1955-12-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(39,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Miguel','Miguel Jones',NULL,NULL,NULL,'2',NULL,'Both','3236387575',NULL,'Sample Data','Miguel','A','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Miguel',1,NULL,'Dear Miguel',1,NULL,'Miguel Jones',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(40,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wilson, Santina','Santina Wilson',NULL,NULL,NULL,'4',NULL,'Both','602659745',NULL,'Sample Data','Santina','','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Santina Wilson',NULL,1,NULL,0,NULL,NULL,NULL,'Pine Poetry Center',NULL,NULL,142,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(41,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Elbert','Elbert Barkley Sr.',NULL,NULL,NULL,'4',NULL,'Both','3782594524',NULL,'Sample Data','Elbert','H','Barkley',NULL,2,NULL,NULL,1,NULL,'Dear Elbert',1,NULL,'Dear Elbert',1,NULL,'Elbert Barkley Sr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(42,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Jerome','Dr. Jerome Jameson Jr.',NULL,NULL,NULL,'4',NULL,'Both','2954166359',NULL,'Sample Data','Jerome','','Jameson',4,1,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Dr. Jerome Jameson Jr.',NULL,2,'1937-12-02',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(43,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Olsen, Daren','Daren Olsen II',NULL,NULL,NULL,NULL,NULL,'Both','1772811610',NULL,'Sample Data','Daren','M','Olsen',NULL,3,NULL,NULL,1,NULL,'Dear Daren',1,NULL,'Dear Daren',1,NULL,'Daren Olsen II',NULL,NULL,'1953-09-19',0,NULL,NULL,NULL,'Kentucky Poetry Center',NULL,NULL,139,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(44,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Reynolds, Allen','Dr. Allen Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','3330814148',NULL,'Sample Data','Allen','','Reynolds',4,NULL,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Dr. Allen Reynolds',NULL,2,'1982-09-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(45,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Samson, Brigette','Brigette Samson',NULL,NULL,NULL,NULL,NULL,'Both','2016376463',NULL,'Sample Data','Brigette','V','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Brigette Samson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(46,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Rolando','Rolando McReynolds Sr.',NULL,NULL,NULL,NULL,NULL,'Both','792925862',NULL,'Sample Data','Rolando','P','McReynolds',NULL,2,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Rolando McReynolds Sr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(47,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Olsen, Kiara','Mrs. Kiara Olsen',NULL,NULL,NULL,NULL,NULL,'Both','2769473098',NULL,'Sample Data','Kiara','Y','Olsen',1,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Mrs. Kiara Olsen',NULL,1,'1973-04-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(48,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Craig','Craig Terry',NULL,NULL,NULL,NULL,NULL,'Both','99954809',NULL,'Sample Data','Craig','D','Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Craig Terry',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(49,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Brent','Mr. Brent McReynolds',NULL,NULL,NULL,'4',NULL,'Both','1642363983',NULL,'Sample Data','Brent','O','McReynolds',3,NULL,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Mr. Brent McReynolds',NULL,NULL,'1964-03-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(50,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Omar','Omar Cruz',NULL,NULL,NULL,NULL,NULL,'Both','348168112',NULL,'Sample Data','Omar','','Cruz',NULL,NULL,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Omar Cruz',NULL,NULL,'1997-01-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(51,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Errol','Mr. Errol Prentice',NULL,NULL,NULL,'2',NULL,'Both','2979550406',NULL,'Sample Data','Errol','Y','Prentice',3,NULL,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Mr. Errol Prentice',NULL,2,'1957-01-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(52,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Kathlyn','Kathlyn Cooper',NULL,NULL,NULL,'3',NULL,'Both','4144432038',NULL,'Sample Data','Kathlyn','B','Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Kathlyn Cooper',NULL,1,'2006-09-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(53,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terry-Jameson, Rodrigo','Dr. Rodrigo Terry-Jameson II',NULL,NULL,NULL,NULL,NULL,'Both','3866553571',NULL,'Sample Data','Rodrigo','','Terry-Jameson',4,3,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Dr. Rodrigo Terry-Jameson II',NULL,NULL,'1984-08-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(54,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Poquoson Wellness Trust','Poquoson Wellness Trust',NULL,NULL,NULL,'3',NULL,'Both','2664477883',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Poquoson Wellness Trust',NULL,NULL,NULL,0,NULL,NULL,136,'Poquoson Wellness Trust',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(55,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz-Barkley, Erik','Dr. Erik Cruz-Barkley',NULL,NULL,NULL,'4',NULL,'Both','2816881198',NULL,'Sample Data','Erik','','Cruz-Barkley',4,NULL,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Dr. Erik Cruz-Barkley',NULL,NULL,'1987-05-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(56,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Santina','Santina Barkley',NULL,NULL,NULL,'2',NULL,'Both','1386775784',NULL,'Sample Data','Santina','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Santina Barkley',NULL,1,'2010-06-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(57,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terrell, Eleonor','Mrs. Eleonor Terrell',NULL,NULL,NULL,NULL,NULL,'Both','2837539268',NULL,'Sample Data','Eleonor','B','Terrell',1,NULL,NULL,NULL,1,NULL,'Dear Eleonor',1,NULL,'Dear Eleonor',1,NULL,'Mrs. Eleonor Terrell',NULL,1,NULL,1,'2019-03-15',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(58,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Jackson','Jackson Deforest',NULL,NULL,NULL,NULL,NULL,'Both','2114125718',NULL,'Sample Data','Jackson','H','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Deforest',NULL,2,NULL,1,'2018-11-28',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(59,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Lincoln','Lincoln Zope III',NULL,NULL,NULL,'1',NULL,'Both','2972737085',NULL,'Sample Data','Lincoln','','Zope',NULL,4,NULL,NULL,1,NULL,'Dear Lincoln',1,NULL,'Dear Lincoln',1,NULL,'Lincoln Zope III',NULL,2,'1985-08-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(60,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Esta','Esta Wilson',NULL,NULL,NULL,NULL,NULL,'Both','4062984803',NULL,'Sample Data','Esta','W','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Wilson',NULL,1,'2009-06-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(61,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Yadav-Ivanov family','Yadav-Ivanov family',NULL,NULL,NULL,NULL,NULL,'Both','100874817',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Yadav-Ivanov family',5,NULL,'Dear Yadav-Ivanov family',2,NULL,'Yadav-Ivanov family',NULL,NULL,NULL,0,NULL,'Yadav-Ivanov family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(62,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski-Cooper family','Łąchowski-Cooper family',NULL,NULL,NULL,'5',NULL,'Both','2602821584',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Łąchowski-Cooper family',5,NULL,'Dear Łąchowski-Cooper family',2,NULL,'Łąchowski-Cooper family',NULL,NULL,NULL,0,NULL,'Łąchowski-Cooper family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(63,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'McReynolds-Lee, Ashley','Ashley McReynolds-Lee',NULL,NULL,NULL,'1',NULL,'Both','218176139',NULL,'Sample Data','Ashley','','McReynolds-Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley McReynolds-Lee',NULL,2,'1976-04-02',1,'2019-07-16',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:29'),(64,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Rebekah','Mrs. Rebekah Parker',NULL,NULL,NULL,'3',NULL,'Both','4245169755',NULL,'Sample Data','Rebekah','','Parker',1,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Mrs. Rebekah Parker',NULL,1,'1958-09-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(65,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Friends Technology Trust','Friends Technology Trust',NULL,NULL,NULL,NULL,NULL,'Both','1330302854',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Friends Technology Trust',NULL,NULL,NULL,0,NULL,NULL,200,'Friends Technology Trust',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(66,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Esta','Ms. Esta Jones',NULL,NULL,NULL,'1',NULL,'Both','2492655702',NULL,'Sample Data','Esta','Z','Jones',2,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Ms. Esta Jones',NULL,1,'1976-02-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(67,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Shauna','Shauna Yadav',NULL,NULL,NULL,'2',NULL,'Both','1029328573',NULL,'Sample Data','Shauna','','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Shauna Yadav',NULL,NULL,'1981-06-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(68,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Juliann','Juliann Samson',NULL,NULL,NULL,NULL,NULL,'Both','1799778538',NULL,'Sample Data','Juliann','Z','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Samson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(69,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Dimitrov, Toby','Mr. Toby Dimitrov II',NULL,NULL,NULL,NULL,NULL,'Both','4067537771',NULL,'Sample Data','Toby','','Dimitrov',3,3,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Mr. Toby Dimitrov II',NULL,2,'1993-10-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(70,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'hl.cooper@testmail.co.nz','hl.cooper@testmail.co.nz',NULL,NULL,NULL,NULL,NULL,'Both','3121599721',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear hl.cooper@testmail.co.nz',1,NULL,'Dear hl.cooper@testmail.co.nz',1,NULL,'hl.cooper@testmail.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(71,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jones family','Jones family',NULL,NULL,NULL,'2',NULL,'Both','1110516799',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jones family',5,NULL,'Dear Jones family',2,NULL,'Jones family',NULL,NULL,NULL,0,NULL,'Jones family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(72,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Bradford Literacy Solutions','Bradford Literacy Solutions',NULL,NULL,NULL,NULL,NULL,'Both','2627933493',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Bradford Literacy Solutions',NULL,NULL,NULL,0,NULL,NULL,153,'Bradford Literacy Solutions',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(73,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Maxwell','Maxwell Samson Sr.',NULL,NULL,NULL,NULL,NULL,'Both','3358700661',NULL,'Sample Data','Maxwell','','Samson',NULL,2,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Samson Sr.',NULL,NULL,'1957-01-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(74,'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,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(75,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Brent','Brent Patel',NULL,NULL,NULL,'1',NULL,'Both','3059240513',NULL,'Sample Data','Brent','','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Brent Patel',NULL,NULL,'2005-02-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(76,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Reynolds, Teresa','Teresa Reynolds',NULL,NULL,NULL,'4',NULL,'Both','1708756275',NULL,'Sample Data','Teresa','C','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Teresa Reynolds',NULL,1,'2002-05-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(77,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Kathlyn','Mrs. Kathlyn Jensen',NULL,NULL,NULL,'4',NULL,'Both','3302532161',NULL,'Sample Data','Kathlyn','P','Jensen',1,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Mrs. Kathlyn Jensen',NULL,1,'1954-04-03',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(78,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Reynolds, Shauna','Dr. Shauna Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','564809255',NULL,'Sample Data','Shauna','','Reynolds',4,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Dr. Shauna Reynolds',NULL,1,'1968-02-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(79,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'andrewn@fakemail.biz','andrewn@fakemail.biz',NULL,NULL,NULL,'4',NULL,'Both','2980270509',NULL,'Sample Data',NULL,NULL,NULL,NULL,4,NULL,NULL,1,NULL,'Dear andrewn@fakemail.biz',1,NULL,'Dear andrewn@fakemail.biz',1,NULL,'andrewn@fakemail.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(80,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Olsen family','Olsen family',NULL,NULL,NULL,'1',NULL,'Both','1990073228',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Olsen family',5,NULL,'Dear Olsen family',2,NULL,'Olsen family',NULL,NULL,NULL,0,NULL,'Olsen family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(81,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Kathlyn','Mrs. Kathlyn Jensen',NULL,NULL,NULL,NULL,NULL,'Both','3302532161',NULL,'Sample Data','Kathlyn','','Jensen',1,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Mrs. Kathlyn Jensen',NULL,1,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(82,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Sherman','Dr. Sherman Cooper',NULL,NULL,NULL,'3',NULL,'Both','1707375456',NULL,'Sample Data','Sherman','O','Cooper',4,NULL,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Dr. Sherman Cooper',NULL,NULL,'1992-07-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(83,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds family','Reynolds family',NULL,NULL,NULL,'5',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,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(84,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Sonny','Dr. Sonny Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','3611935208',NULL,'Sample Data','Sonny','W','Łąchowski',4,NULL,NULL,NULL,1,NULL,'Dear Sonny',1,NULL,'Dear Sonny',1,NULL,'Dr. Sonny Łąchowski',NULL,NULL,'1963-05-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(85,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Cooper, Heidi','Ms. Heidi Cooper',NULL,NULL,NULL,'5',NULL,'Both','2166503529',NULL,'Sample Data','Heidi','','Cooper',2,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Ms. Heidi Cooper',NULL,1,'1955-02-14',1,'2018-10-19',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(86,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jensen, Heidi','Dr. Heidi Jensen',NULL,NULL,NULL,'3',NULL,'Both','3979188807',NULL,'Sample Data','Heidi','','Jensen',4,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Dr. Heidi Jensen',NULL,NULL,'1963-06-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(87,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'mcreynolds.lincoln@notmail.co.nz','mcreynolds.lincoln@notmail.co.nz',NULL,NULL,NULL,NULL,NULL,'Both','3199542396',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear mcreynolds.lincoln@notmail.co.nz',1,NULL,'Dear mcreynolds.lincoln@notmail.co.nz',1,NULL,'mcreynolds.lincoln@notmail.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(88,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Delana','Delana Díaz',NULL,NULL,NULL,'5',NULL,'Both','1768580764',NULL,'Sample Data','Delana','','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Delana Díaz',NULL,1,'1963-12-06',1,'2018-08-30',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(89,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Roberts, Elbert','Dr. Elbert Roberts III',NULL,NULL,NULL,'1',NULL,'Both','2457403218',NULL,'Sample Data','Elbert','H','Roberts',4,4,NULL,NULL,1,NULL,'Dear Elbert',1,NULL,'Dear Elbert',1,NULL,'Dr. Elbert Roberts III',NULL,2,'1991-08-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(90,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'nielsens14@sample.co.pl','nielsens14@sample.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','2440357462',NULL,'Sample Data',NULL,NULL,NULL,2,NULL,NULL,NULL,1,NULL,'Dear nielsens14@sample.co.pl',1,NULL,'Dear nielsens14@sample.co.pl',1,NULL,'nielsens14@sample.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,'Bassett Arts Alliance',NULL,NULL,155,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(91,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Russell Springs Empowerment Association','Russell Springs Empowerment Association',NULL,NULL,NULL,NULL,NULL,'Both','925505101',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Russell Springs Empowerment Association',NULL,NULL,NULL,0,NULL,NULL,105,'Russell Springs Empowerment Association',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(92,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Müller, Scarlet','Scarlet Müller',NULL,NULL,NULL,'4',NULL,'Both','1549122199',NULL,'Sample Data','Scarlet','Q','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Scarlet',1,NULL,'Dear Scarlet',1,NULL,'Scarlet Müller',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(93,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper-Jensen family','Cooper-Jensen family',NULL,NULL,NULL,'2',NULL,'Both','2134395889',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Cooper-Jensen family',5,NULL,'Dear Cooper-Jensen family',2,NULL,'Cooper-Jensen family',NULL,NULL,NULL,0,NULL,'Cooper-Jensen family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(94,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Reynolds, Kathleen','Kathleen Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','3830837531',NULL,'Sample Data','Kathleen','T','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Reynolds',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(95,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Ray','Ray Terry Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1646953938',NULL,'Sample Data','Ray','','Terry',NULL,2,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray Terry Sr.',NULL,2,'1966-08-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(96,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Ashley','Mrs. Ashley Dimitrov',NULL,NULL,NULL,'4',NULL,'Both','665882362',NULL,'Sample Data','Ashley','','Dimitrov',1,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Mrs. Ashley Dimitrov',NULL,1,'1935-01-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(97,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'New Canton Agriculture Collective','New Canton Agriculture Collective',NULL,NULL,NULL,NULL,NULL,'Both','3562520067',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'New Canton Agriculture Collective',NULL,NULL,NULL,0,NULL,NULL,99,'New Canton Agriculture Collective',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(98,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav-Ivanov, Kacey','Kacey Yadav-Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','89132998',NULL,'Sample Data','Kacey','D','Yadav-Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Kacey Yadav-Ivanov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(99,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Blackwell, Scott','Scott Blackwell Sr.',NULL,NULL,NULL,'3',NULL,'Both','1650464224',NULL,'Sample Data','Scott','L','Blackwell',NULL,2,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Scott Blackwell Sr.',NULL,NULL,'1933-08-13',0,NULL,NULL,NULL,'New Canton Agriculture Collective',NULL,NULL,97,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(100,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry-Jameson, Jerome','Mr. Jerome Terry-Jameson',NULL,NULL,NULL,NULL,NULL,'Both','1409390105',NULL,'Sample Data','Jerome','','Terry-Jameson',3,NULL,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Mr. Jerome Terry-Jameson',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(101,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson-Barkley, Rebekah','Rebekah Samson-Barkley',NULL,NULL,NULL,NULL,NULL,'Both','1193266027',NULL,'Sample Data','Rebekah','Z','Samson-Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Samson-Barkley',NULL,1,'1982-12-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:29'),(102,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Terrell, Ashley','Dr. Ashley Terrell III',NULL,NULL,NULL,NULL,NULL,'Both','209760227',NULL,'Sample Data','Ashley','','Terrell',4,4,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Dr. Ashley Terrell III',NULL,2,'1967-04-15',1,'2018-10-19',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(103,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'dimitrov.z.lou@testmail.co.uk','dimitrov.z.lou@testmail.co.uk',NULL,NULL,NULL,'5',NULL,'Both','3677688070',NULL,'Sample Data',NULL,NULL,NULL,NULL,2,NULL,NULL,1,NULL,'Dear dimitrov.z.lou@testmail.co.uk',1,NULL,'Dear dimitrov.z.lou@testmail.co.uk',1,NULL,'dimitrov.z.lou@testmail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(104,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Scott','Scott Nielsen Jr.',NULL,NULL,NULL,NULL,NULL,'Both','4027212540',NULL,'Sample Data','Scott','','Nielsen',NULL,1,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Scott Nielsen Jr.',NULL,NULL,'1983-11-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(105,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jameson, Maria','Dr. Maria Jameson',NULL,NULL,NULL,'4',NULL,'Both','2824644051',NULL,'Sample Data','Maria','','Jameson',4,NULL,NULL,NULL,1,NULL,'Dear Maria',1,NULL,'Dear Maria',1,NULL,'Dr. Maria Jameson',NULL,NULL,'1971-02-26',0,NULL,NULL,NULL,'Russell Springs Empowerment Association',NULL,NULL,91,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(106,'Household',NULL,0,0,0,0,1,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,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(107,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz family','Díaz family',NULL,NULL,NULL,'5',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,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(108,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Cooper family','Cooper family',NULL,NULL,NULL,'2',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,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(109,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Nielsen, Toby','Toby Nielsen',NULL,NULL,NULL,'1',NULL,'Both','1430850543',NULL,'Sample Data','Toby','D','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Toby Nielsen',NULL,2,'1952-07-06',1,'2019-08-12',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(110,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Dowlen Education Initiative','Dowlen Education Initiative',NULL,NULL,NULL,'3',NULL,'Both','3906226725',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Dowlen Education Initiative',NULL,NULL,NULL,0,NULL,NULL,158,'Dowlen Education Initiative',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(111,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Shauna','Shauna Jones',NULL,NULL,NULL,'1',NULL,'Both','2088102406',NULL,'Sample Data','Shauna','','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Shauna Jones',NULL,1,'1983-08-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(112,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Daren','Daren Wagner Jr.',NULL,NULL,NULL,NULL,NULL,'Both','1117250816',NULL,'Sample Data','Daren','I','Wagner',NULL,1,NULL,NULL,1,NULL,'Dear Daren',1,NULL,'Dear Daren',1,NULL,'Daren Wagner Jr.',NULL,2,'1935-11-09',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(113,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Esta','Ms. Esta Deforest',NULL,NULL,NULL,NULL,NULL,'Both','2058701056',NULL,'Sample Data','Esta','H','Deforest',2,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Ms. Esta Deforest',NULL,1,'1980-08-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(114,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Samson, Jed','Jed Samson Jr.',NULL,NULL,NULL,NULL,NULL,'Both','4283865263',NULL,'Sample Data','Jed','Z','Samson',NULL,1,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Jed Samson Jr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(115,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Kacey','Mrs. Kacey Jameson',NULL,NULL,NULL,NULL,NULL,'Both','2233552494',NULL,'Sample Data','Kacey','','Jameson',1,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Mrs. Kacey Jameson',NULL,1,'1978-09-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(116,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Kenny','Kenny Barkley',NULL,NULL,NULL,'5',NULL,'Both','3409558741',NULL,'Sample Data','Kenny','W','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Kenny',1,NULL,'Dear Kenny',1,NULL,'Kenny Barkley',NULL,NULL,'1984-04-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(117,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Iris','Iris Jones',NULL,NULL,NULL,'3',NULL,'Both','3545440397',NULL,'Sample Data','Iris','','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Iris Jones',NULL,1,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(118,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Nielsen, Maxwell','Maxwell Nielsen',NULL,NULL,NULL,'4',NULL,'Both','1889021515',NULL,'Sample Data','Maxwell','','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Nielsen',NULL,NULL,'1991-12-15',0,NULL,NULL,NULL,'Martin Luther King Agriculture Services',NULL,NULL,143,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(119,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Lawerence','Mr. Lawerence Jones II',NULL,NULL,NULL,'2',NULL,'Both','267362464',NULL,'Sample Data','Lawerence','F','Jones',3,3,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Mr. Lawerence Jones II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(120,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Cooper-Jensen, Carlos','Carlos Cooper-Jensen',NULL,NULL,NULL,'4',NULL,'Both','3047902387',NULL,'Sample Data','Carlos','','Cooper-Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Cooper-Jensen',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(121,'Organization',NULL,0,1,0,0,1,0,NULL,NULL,'Local Education Fellowship','Local Education Fellowship',NULL,NULL,NULL,NULL,NULL,'Both','818138343',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Local Education Fellowship',NULL,NULL,NULL,0,NULL,NULL,16,'Local Education Fellowship',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(122,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Shad','Shad Grant Sr.',NULL,NULL,NULL,'5',NULL,'Both','3908834377',NULL,'Sample Data','Shad','B','Grant',NULL,2,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Shad Grant Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(123,'Individual',NULL,0,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,'1992-07-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(124,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Parker, Elizabeth','Elizabeth Parker',NULL,NULL,NULL,NULL,NULL,'Both','3038072630',NULL,'Sample Data','Elizabeth','','Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Parker',NULL,1,'2003-04-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(125,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Omar','Omar Jones',NULL,NULL,NULL,NULL,NULL,'Both','1587290498',NULL,'Sample Data','Omar','','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Omar Jones',NULL,2,'1957-06-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:29'),(126,'Individual',NULL,1,1,0,0,1,0,NULL,NULL,'Barkley, Magan','Magan Barkley',NULL,NULL,NULL,'2',NULL,'Both','3229711525',NULL,'Sample Data','Magan','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Magan Barkley',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(127,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Barkley-Parker, Kenny','Dr. Kenny Barkley-Parker III',NULL,NULL,NULL,NULL,NULL,'Both','3544249506',NULL,'Sample Data','Kenny','','Barkley-Parker',4,4,NULL,NULL,1,NULL,'Dear Kenny',1,NULL,'Dear Kenny',1,NULL,'Dr. Kenny Barkley-Parker III',NULL,NULL,'1987-06-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(128,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Carylon','Carylon Samson',NULL,NULL,NULL,'1',NULL,'Both','4170426842',NULL,'Sample Data','Carylon','T','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Samson',NULL,1,'1970-10-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(129,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'kathleenp@fakemail.com','kathleenp@fakemail.com',NULL,NULL,NULL,'5',NULL,'Both','355874970',NULL,'Sample Data',NULL,NULL,NULL,2,NULL,NULL,NULL,1,NULL,'Dear kathleenp@fakemail.com',1,NULL,'Dear kathleenp@fakemail.com',1,NULL,'kathleenp@fakemail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(130,'Household',NULL,0,0,0,0,1,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,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(131,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Łąchowski-McReynolds, Felisha','Dr. Felisha Łąchowski-McReynolds',NULL,NULL,NULL,'1',NULL,'Both','129679642',NULL,'Sample Data','Felisha','','Łąchowski-McReynolds',4,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Dr. Felisha Łąchowski-McReynolds',NULL,NULL,'1994-03-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(132,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Brent','Brent Cruz III',NULL,NULL,NULL,'1',NULL,'Both','1602969410',NULL,'Sample Data','Brent','','Cruz',NULL,4,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Brent Cruz III',NULL,2,'1968-06-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(133,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Claudio','Claudio Terry Jr.',NULL,NULL,NULL,'1',NULL,'Both','3516562603',NULL,'Sample Data','Claudio','D','Terry',NULL,1,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Terry Jr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(134,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Barkley, Omar','Omar Barkley',NULL,NULL,NULL,'3',NULL,'Both','1166913408',NULL,'Sample Data','Omar','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Omar Barkley',NULL,2,'1931-06-07',1,'2018-11-28',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(135,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Teddy','Mr. Teddy Nielsen II',NULL,NULL,NULL,NULL,NULL,'Both','1600610365',NULL,'Sample Data','Teddy','E','Nielsen',3,3,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Mr. Teddy Nielsen II',NULL,2,'1986-01-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(136,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Dimitrov, Barry','Barry Dimitrov Jr.',NULL,NULL,NULL,NULL,NULL,'Both','3521413340',NULL,'Sample Data','Barry','M','Dimitrov',NULL,1,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Barry Dimitrov Jr.',NULL,NULL,NULL,0,NULL,NULL,NULL,'Poquoson Wellness Trust',NULL,NULL,54,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(137,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Global Food Network','Global Food Network',NULL,NULL,NULL,'4',NULL,'Both','892068896',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Global Food Network',NULL,NULL,NULL,0,NULL,NULL,NULL,'Global Food Network',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(138,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Díaz, Alexia','Alexia Díaz',NULL,NULL,NULL,'1',NULL,'Both','352965868',NULL,'Sample Data','Alexia','R','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Díaz',NULL,NULL,'1994-04-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(139,'Organization',NULL,1,0,0,0,1,0,NULL,NULL,'Kentucky Poetry Center','Kentucky Poetry Center',NULL,NULL,NULL,NULL,NULL,'Both','2704656276',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Kentucky Poetry Center',NULL,NULL,NULL,0,NULL,NULL,43,'Kentucky Poetry Center',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(140,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Shauna','Ms. Shauna Olsen',NULL,NULL,NULL,NULL,NULL,'Both','774481679',NULL,'Sample Data','Shauna','','Olsen',2,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Ms. Shauna Olsen',NULL,NULL,'1975-12-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(141,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Carlos','Carlos Deforest Jr.',NULL,NULL,NULL,'4',NULL,'Both','2222599648',NULL,'Sample Data','Carlos','I','Deforest',NULL,1,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Deforest Jr.',NULL,2,'2008-11-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(142,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Pine Poetry Center','Pine Poetry Center',NULL,NULL,NULL,NULL,NULL,'Both','2642150447',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Pine Poetry Center',NULL,NULL,NULL,0,NULL,NULL,40,'Pine Poetry Center',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(143,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Martin Luther King Agriculture Services','Martin Luther King Agriculture Services',NULL,NULL,NULL,NULL,NULL,'Both','613168978',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Martin Luther King Agriculture Services',NULL,NULL,NULL,0,NULL,NULL,118,'Martin Luther King Agriculture Services',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(144,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Jed','Mr. Jed Olsen',NULL,NULL,NULL,NULL,NULL,'Both','1956151934',NULL,'Sample Data','Jed','','Olsen',3,NULL,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Mr. Jed Olsen',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(145,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Local Legal Center','Local Legal Center',NULL,NULL,NULL,'3',NULL,'Both','1488771407',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Local Legal Center',NULL,NULL,NULL,0,NULL,NULL,147,'Local Legal Center',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(146,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Olsen, Barry','Mr. Barry Olsen II',NULL,NULL,NULL,NULL,NULL,'Both','1622802859',NULL,'Sample Data','Barry','Z','Olsen',3,3,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Mr. Barry Olsen II',NULL,2,NULL,0,NULL,NULL,NULL,'Main Sports Academy',NULL,NULL,195,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(147,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Ashley','Dr. Ashley Nielsen',NULL,NULL,NULL,'5',NULL,'Both','3185921843',NULL,'Sample Data','Ashley','','Nielsen',4,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Dr. Ashley Nielsen',NULL,1,'1976-11-15',0,NULL,NULL,NULL,'Local Legal Center',NULL,NULL,145,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(148,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Errol','Errol Terry',NULL,NULL,NULL,'5',NULL,'Both','1432200958',NULL,'Sample Data','Errol','','Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Terry',NULL,2,'1930-02-20',1,'2019-02-08',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(149,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Megan','Dr. Megan Cooper',NULL,NULL,NULL,NULL,NULL,'Both','2689596405',NULL,'Sample Data','Megan','','Cooper',4,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Dr. Megan Cooper',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(150,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Olsen, Carlos','Carlos Olsen III',NULL,NULL,NULL,'4',NULL,'Both','2601969506',NULL,'Sample Data','Carlos','W','Olsen',NULL,4,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Olsen III',NULL,2,NULL,0,NULL,NULL,NULL,'Mississippi Peace Collective',NULL,NULL,156,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(151,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Teddy','Dr. Teddy Barkley',NULL,NULL,NULL,NULL,NULL,'Both','3740389850',NULL,'Sample Data','Teddy','','Barkley',4,NULL,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Dr. Teddy Barkley',NULL,2,'1987-09-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:29'),(152,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen family','Olsen family',NULL,NULL,NULL,NULL,NULL,'Both','1990073228',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Olsen family',5,NULL,'Dear Olsen family',2,NULL,'Olsen family',NULL,NULL,NULL,0,NULL,'Olsen family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(153,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'trumano20@example.net','trumano20@example.net',NULL,NULL,NULL,'4',NULL,'Both','3786222307',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear trumano20@example.net',1,NULL,'Dear trumano20@example.net',1,NULL,'trumano20@example.net',NULL,NULL,NULL,0,NULL,NULL,NULL,'Bradford Literacy Solutions',NULL,NULL,72,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(154,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samuels, Heidi','Dr. Heidi Samuels',NULL,NULL,NULL,NULL,NULL,'Both','3595168109',NULL,'Sample Data','Heidi','','Samuels',4,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Dr. Heidi Samuels',NULL,1,'1967-06-18',1,'2018-10-02',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(155,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Bassett Arts Alliance','Bassett Arts Alliance',NULL,NULL,NULL,'5',NULL,'Both','2812051694',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Bassett Arts Alliance',NULL,NULL,NULL,0,NULL,NULL,90,'Bassett Arts Alliance',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(156,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Mississippi Peace Collective','Mississippi Peace Collective',NULL,NULL,NULL,NULL,NULL,'Both','670670428',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Mississippi Peace Collective',NULL,NULL,NULL,0,NULL,NULL,150,'Mississippi Peace Collective',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(157,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González, Jacob','Jacob González Jr.',NULL,NULL,NULL,'4',NULL,'Both','2352039359',NULL,'Sample Data','Jacob','','González',NULL,1,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Jacob González Jr.',NULL,2,'1993-10-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(158,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Billy','Dr. Billy Jensen',NULL,NULL,NULL,'2',NULL,'Both','1055811033',NULL,'Sample Data','Billy','','Jensen',4,NULL,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Dr. Billy Jensen',NULL,NULL,'1975-07-01',0,NULL,NULL,NULL,'Dowlen Education Initiative',NULL,NULL,110,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(159,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terry, Elizabeth','Elizabeth Terry',NULL,NULL,NULL,'3',NULL,'Both','4269196887',NULL,'Sample Data','Elizabeth','A','Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Terry',NULL,1,NULL,0,NULL,NULL,NULL,'United Action Initiative',NULL,NULL,162,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(160,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jensen, Delana','Delana Jensen',NULL,NULL,NULL,NULL,NULL,'Both','158606223',NULL,'Sample Data','Delana','Y','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Delana Jensen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(161,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Cruz-Barkley, Shad','Shad Cruz-Barkley Sr.',NULL,NULL,NULL,NULL,NULL,'Both','2604895058',NULL,'Sample Data','Shad','','Cruz-Barkley',NULL,2,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Shad Cruz-Barkley Sr.',NULL,NULL,'2012-01-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(162,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'United Action Initiative','United Action Initiative',NULL,NULL,NULL,NULL,NULL,'Both','3000484068',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'United Action Initiative',NULL,NULL,NULL,0,NULL,NULL,159,'United Action Initiative',NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(163,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Reynolds, Margaret','Margaret Reynolds',NULL,NULL,NULL,'3',NULL,'Both','1615992834',NULL,'Sample Data','Margaret','B','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Margaret Reynolds',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(164,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Delana','Delana Zope',NULL,NULL,NULL,'3',NULL,'Both','3545847558',NULL,'Sample Data','Delana','','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Delana Zope',NULL,1,'2008-11-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(165,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'ec.reynolds@testmail.com','ec.reynolds@testmail.com',NULL,NULL,NULL,NULL,NULL,'Both','2178189895',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear ec.reynolds@testmail.com',1,NULL,'Dear ec.reynolds@testmail.com',1,NULL,'ec.reynolds@testmail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:27'),(166,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Alexia','Alexia Jones',NULL,NULL,NULL,'3',NULL,'Both','252738965',NULL,'Sample Data','Alexia','X','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Jones',NULL,NULL,'1990-08-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(167,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Cooper, Claudio','Mr. Claudio Cooper Jr.',NULL,NULL,NULL,'2',NULL,'Both','1104394960',NULL,'Sample Data','Claudio','Q','Cooper',3,1,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Mr. Claudio Cooper Jr.',NULL,NULL,'1978-08-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(168,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Toby','Toby Barkley Jr.',NULL,NULL,NULL,NULL,NULL,'Both','2112758075',NULL,'Sample Data','Toby','','Barkley',NULL,1,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Toby Barkley Jr.',NULL,2,'1979-10-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:26','2019-08-15 21:31:28'),(169,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Ashlie','Ashlie Bachman',NULL,NULL,NULL,NULL,NULL,'Both','628441271',NULL,'Sample Data','Ashlie','T','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashlie',1,NULL,'Dear Ashlie',1,NULL,'Ashlie Bachman',NULL,1,'1953-08-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:27'),(170,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Terrell, Kacey','Mrs. Kacey Terrell',NULL,NULL,NULL,NULL,NULL,'Both','1088955590',NULL,'Sample Data','Kacey','','Terrell',1,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Mrs. Kacey Terrell',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:27'),(171,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samson-Jones, Rebekah','Rebekah Samson-Jones',NULL,NULL,NULL,NULL,NULL,'Both','3389954899',NULL,'Sample Data','Rebekah','','Samson-Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Samson-Jones',NULL,1,'1984-08-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(172,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Lou','Lou McReynolds',NULL,NULL,NULL,'3',NULL,'Both','1805936303',NULL,'Sample Data','Lou','X','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Lou McReynolds',NULL,2,'1977-04-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:27'),(173,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'rx.yadav@airmail.org','rx.yadav@airmail.org',NULL,NULL,NULL,'5',NULL,'Both','3829836950',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear rx.yadav@airmail.org',1,NULL,'Dear rx.yadav@airmail.org',1,NULL,'rx.yadav@airmail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,'Friends Food Partnership',NULL,NULL,184,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(174,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Nicole','Mrs. Nicole Olsen',NULL,NULL,NULL,NULL,NULL,'Both','585291596',NULL,'Sample Data','Nicole','J','Olsen',1,NULL,NULL,NULL,1,NULL,'Dear Nicole',1,NULL,'Dear Nicole',1,NULL,'Mrs. Nicole Olsen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:27'),(175,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Grant, Ivey','Ivey Grant',NULL,NULL,NULL,'3',NULL,'Both','3330966549',NULL,'Sample Data','Ivey','F','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Grant',NULL,1,'2002-03-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:27'),(176,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Yadav-Ivanov, Rebekah','Ms. Rebekah Yadav-Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','945556703',NULL,'Sample Data','Rebekah','V','Yadav-Ivanov',2,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Ms. Rebekah Yadav-Ivanov',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(177,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terrell, Rebekah','Rebekah Terrell',NULL,NULL,NULL,'3',NULL,'Both','2497753127',NULL,'Sample Data','Rebekah','W','Terrell',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Terrell',NULL,NULL,'2007-01-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:27'),(178,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Elina','Elina Nielsen',NULL,NULL,NULL,NULL,NULL,'Both','2662625802',NULL,'Sample Data','Elina','','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Elina',1,NULL,'Dear Elina',1,NULL,'Elina Nielsen',NULL,1,'2012-05-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(179,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Lee family','Lee family',NULL,NULL,NULL,NULL,NULL,'Both','845831176',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Lee family',5,NULL,'Dear Lee family',2,NULL,'Lee family',NULL,NULL,NULL,0,NULL,'Lee family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(180,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson-Barkley, Clint','Mr. Clint Samson-Barkley',NULL,NULL,NULL,NULL,NULL,'Both','1147037699',NULL,'Sample Data','Clint','D','Samson-Barkley',3,NULL,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Mr. Clint Samson-Barkley',NULL,2,NULL,0,NULL,NULL,NULL,'Addy Wellness Trust',NULL,NULL,19,0,'2019-08-15 21:31:27','2019-08-15 21:31:29'),(181,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Elbert','Elbert Barkley',NULL,NULL,NULL,'4',NULL,'Both','3782594524',NULL,'Sample Data','Elbert','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Elbert',1,NULL,'Dear Elbert',1,NULL,'Elbert Barkley',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(182,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'González-Barkley, Delana','Ms. Delana González-Barkley',NULL,NULL,NULL,NULL,NULL,'Both','3303882605',NULL,'Sample Data','Delana','','González-Barkley',2,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Ms. Delana González-Barkley',NULL,1,'1962-12-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(183,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Jameson, Kathlyn','Kathlyn Jameson',NULL,NULL,NULL,NULL,NULL,'Both','1165214036',NULL,'Sample Data','Kathlyn','F','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Kathlyn Jameson',NULL,NULL,'1985-05-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(184,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Friends Food Partnership','Friends Food Partnership',NULL,NULL,NULL,NULL,NULL,'Both','1768409198',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Friends Food Partnership',NULL,NULL,NULL,0,NULL,NULL,173,'Friends Food Partnership',NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(185,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jacobs, Ashley','Dr. Ashley Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','2224166572',NULL,'Sample Data','Ashley','','Jacobs',4,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Dr. Ashley Jacobs',NULL,1,'1955-11-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:27'),(186,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Cooper-Jensen, Rebekah','Rebekah Cooper-Jensen',NULL,NULL,NULL,'5',NULL,'Both','4221278966',NULL,'Sample Data','Rebekah','V','Cooper-Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Cooper-Jensen',NULL,1,'2012-03-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(187,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Terry-Jameson family','Terry-Jameson family',NULL,NULL,NULL,NULL,NULL,'Both','2620079717',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Terry-Jameson family',5,NULL,'Dear Terry-Jameson family',2,NULL,'Terry-Jameson family',NULL,NULL,NULL,0,NULL,'Terry-Jameson family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(188,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz-Barkley family','Cruz-Barkley family',NULL,NULL,NULL,'5',NULL,'Both','1248925223',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Cruz-Barkley family',5,NULL,'Dear Cruz-Barkley family',2,NULL,'Cruz-Barkley family',NULL,NULL,NULL,0,NULL,'Cruz-Barkley family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(189,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Omar','Mr. Omar Cooper',NULL,NULL,NULL,NULL,NULL,'Both','1015907011',NULL,'Sample Data','Omar','','Cooper',3,NULL,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Mr. Omar Cooper',NULL,2,'1959-08-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(190,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Barkley-Parker family','Barkley-Parker family',NULL,NULL,NULL,NULL,NULL,'Both','3026001130',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Barkley-Parker family',5,NULL,'Dear Barkley-Parker family',2,NULL,'Barkley-Parker family',NULL,NULL,NULL,0,NULL,'Barkley-Parker family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(191,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Megan','Mrs. Megan Lee',NULL,NULL,NULL,'2',NULL,'Both','3517834087',NULL,'Sample Data','Megan','V','Lee',1,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Mrs. Megan Lee',NULL,1,'1963-09-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:27'),(192,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Miguel','Miguel Barkley',NULL,NULL,NULL,'3',NULL,'Both','4174482755',NULL,'Sample Data','Miguel','R','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Miguel',1,NULL,'Dear Miguel',1,NULL,'Miguel Barkley',NULL,2,'1965-02-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:27'),(193,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Ray','Ray Samson Jr.',NULL,NULL,NULL,'2',NULL,'Both','3926508474',NULL,'Sample Data','Ray','D','Samson',NULL,1,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray Samson Jr.',NULL,2,'1962-12-22',1,'2019-07-29',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:27'),(194,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Ashlie','Ashlie Wagner',NULL,NULL,NULL,'5',NULL,'Both','3661734493',NULL,'Sample Data','Ashlie','','Wagner',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashlie',1,NULL,'Dear Ashlie',1,NULL,'Ashlie Wagner',NULL,1,'1981-10-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:27'),(195,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Main Sports Academy','Main Sports Academy',NULL,NULL,NULL,NULL,NULL,'Both','848791468',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Main Sports Academy',NULL,NULL,NULL,0,NULL,NULL,146,'Main Sports Academy',NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(196,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Palo Alto Arts Academy','Palo Alto Arts Academy',NULL,NULL,NULL,NULL,NULL,'Both','377370072',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Palo Alto Arts Academy',NULL,NULL,NULL,0,NULL,NULL,4,'Palo Alto Arts Academy',NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(197,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Delana','Delana Díaz',NULL,NULL,NULL,'2',NULL,'Both','1768580764',NULL,'Sample Data','Delana','I','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Delana Díaz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(198,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jameson, Jerome','Dr. Jerome Jameson Sr.',NULL,NULL,NULL,'3',NULL,'Both','2954166359',NULL,'Sample Data','Jerome','T','Jameson',4,2,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Dr. Jerome Jameson Sr.',NULL,2,'1986-02-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(199,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Samson-Barkley family','Samson-Barkley family',NULL,NULL,NULL,'2',NULL,'Both','365293112',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Samson-Barkley family',5,NULL,'Dear Samson-Barkley family',2,NULL,'Samson-Barkley family',NULL,NULL,NULL,0,NULL,'Samson-Barkley family',NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(200,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Rosario','Rosario Jones Jr.',NULL,NULL,NULL,'2',NULL,'Both','1172090017',NULL,'Sample Data','Rosario','','Jones',NULL,1,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Rosario Jones Jr.',NULL,2,NULL,0,NULL,NULL,NULL,'Friends Technology Trust',NULL,NULL,65,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'),(201,'Individual',NULL,1,1,0,0,1,0,NULL,NULL,'Díaz, Rebekah','Mrs. Rebekah Díaz',NULL,NULL,NULL,NULL,NULL,'Both','1512894919',NULL,'Sample Data','Rebekah','','Díaz',1,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Mrs. Rebekah Díaz',NULL,NULL,'1958-07-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-08-15 21:31:27','2019-08-15 21:31:28'); +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,'2019-09-20 19:57:09'),(2,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Shauna','Dr. Shauna Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','1678938046',NULL,'Sample Data','Shauna','','Ivanov',4,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Dr. Shauna Ivanov',NULL,NULL,'1948-03-08',1,'2018-10-17',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(3,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Müller, Toby','Toby Müller II',NULL,NULL,NULL,NULL,NULL,'Both','3713504892',NULL,'Sample Data','Toby','','Müller',NULL,3,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Toby Müller II',NULL,2,'1977-03-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(4,'Organization',NULL,0,1,0,0,1,0,NULL,NULL,'States Culture Collective','States Culture Collective',NULL,NULL,NULL,NULL,NULL,'Both','2119330148',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'States Culture Collective',NULL,NULL,NULL,0,NULL,NULL,185,'States Culture Collective',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(5,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Parker, Claudio','Claudio Parker',NULL,NULL,NULL,NULL,NULL,'Both','1375114544',NULL,'Sample Data','Claudio','H','Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Parker',NULL,2,'2001-02-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(6,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'jacksong80@lol.com','jacksong80@lol.com',NULL,NULL,NULL,'2',NULL,'Both','2746230711',NULL,'Sample Data',NULL,NULL,NULL,NULL,1,NULL,NULL,1,NULL,'Dear jacksong80@lol.com',1,NULL,'Dear jacksong80@lol.com',1,NULL,'jacksong80@lol.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(7,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Ivanov, Jackson','Jackson Ivanov III',NULL,NULL,NULL,NULL,NULL,'Both','3246901602',NULL,'Sample Data','Jackson','','Ivanov',NULL,4,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Ivanov III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(8,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Rodrigo','Rodrigo Bachman',NULL,NULL,NULL,'2',NULL,'Both','1057827767',NULL,'Sample Data','Rodrigo','Y','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Rodrigo Bachman',NULL,2,'1986-05-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(9,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Billy','Billy Barkley Jr.',NULL,NULL,NULL,NULL,NULL,'Both','3175995376',NULL,'Sample Data','Billy','U','Barkley',NULL,1,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Billy Barkley Jr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(10,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Delana','Mrs. Delana Bachman',NULL,NULL,NULL,NULL,NULL,'Both','1435428348',NULL,'Sample Data','Delana','I','Bachman',1,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Mrs. Delana Bachman',NULL,NULL,'1993-07-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(11,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Rebekah','Rebekah Díaz',NULL,NULL,NULL,NULL,NULL,'Both','1512894919',NULL,'Sample Data','Rebekah','R','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Díaz',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(12,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels, Bob','Bob Samuels Jr.',NULL,NULL,NULL,'3',NULL,'Both','4029201049',NULL,'Sample Data','Bob','Y','Samuels',NULL,1,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Bob Samuels Jr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(13,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov-Nielsen, Brent','Brent Ivanov-Nielsen',NULL,NULL,NULL,NULL,NULL,'Both','1657871496',NULL,'Sample Data','Brent','','Ivanov-Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Brent Ivanov-Nielsen',NULL,2,'2008-08-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(14,'Household',NULL,0,1,0,0,1,0,NULL,NULL,'Parker family','Parker family',NULL,NULL,NULL,NULL,NULL,'Both','425242179',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Parker family',5,NULL,'Dear Parker family',2,NULL,'Parker family',NULL,NULL,NULL,0,NULL,'Parker family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(15,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Jacobs family','Jacobs family',NULL,NULL,NULL,'5',NULL,'Both','1498986649',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jacobs family',5,NULL,'Dear Jacobs family',2,NULL,'Jacobs family',NULL,NULL,NULL,0,NULL,'Jacobs family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(16,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Lee, Errol','Errol Lee',NULL,NULL,NULL,'5',NULL,'Both','1182001849',NULL,'Sample Data','Errol','W','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Lee',NULL,2,'1944-10-09',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(17,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jacobs, Elina','Dr. Elina Jacobs',NULL,NULL,NULL,'4',NULL,'Both','3932041193',NULL,'Sample Data','Elina','P','Jacobs',4,NULL,NULL,NULL,1,NULL,'Dear Elina',1,NULL,'Dear Elina',1,NULL,'Dr. Elina Jacobs',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(18,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Ivanov-Nielsen, Maxwell','Maxwell Ivanov-Nielsen',NULL,NULL,NULL,'5',NULL,'Both','4030838087',NULL,'Sample Data','Maxwell','','Ivanov-Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Ivanov-Nielsen',NULL,2,'2005-08-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(19,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Roland','Roland Adams',NULL,NULL,NULL,'4',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,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(20,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen-McReynolds, Angelika','Angelika Nielsen-McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','221213269',NULL,'Sample Data','Angelika','','Nielsen-McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Angelika Nielsen-McReynolds',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(21,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jones-Lee family','Jones-Lee family',NULL,NULL,NULL,NULL,NULL,'Both','3144062899',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jones-Lee family',5,NULL,'Dear Jones-Lee family',2,NULL,'Jones-Lee family',NULL,NULL,NULL,0,NULL,'Jones-Lee family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(22,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Jerome','Dr. Jerome Yadav',NULL,NULL,NULL,NULL,NULL,'Both','2655948882',NULL,'Sample Data','Jerome','P','Yadav',4,NULL,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Dr. Jerome Yadav',NULL,2,'1996-02-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(23,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Felisha','Felisha Nielsen',NULL,NULL,NULL,'2',NULL,'Both','3470675762',NULL,'Sample Data','Felisha','','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Felisha Nielsen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(24,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs-Jones, Teresa','Mrs. Teresa Jacobs-Jones',NULL,NULL,NULL,NULL,NULL,'Both','2370866954',NULL,'Sample Data','Teresa','X','Jacobs-Jones',1,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Mrs. Teresa Jacobs-Jones',NULL,NULL,'1956-10-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(25,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels, Troy','Troy Samuels',NULL,NULL,NULL,'3',NULL,'Both','2799330146',NULL,'Sample Data','Troy','A','Samuels',NULL,NULL,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Troy Samuels',NULL,2,NULL,1,'2019-09-12',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(26,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jacobs, Craig','Craig Jacobs Sr.',NULL,NULL,NULL,NULL,NULL,'Both','2112460975',NULL,'Sample Data','Craig','','Jacobs',NULL,2,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Craig Jacobs Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(27,'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,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(28,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Ivanov, Jerome','Mr. Jerome Ivanov III',NULL,NULL,NULL,NULL,NULL,'Both','3339080017',NULL,'Sample Data','Jerome','Q','Ivanov',3,4,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Mr. Jerome Ivanov III',NULL,2,'1958-12-18',0,NULL,NULL,NULL,'Lumber City Development Fellowship',NULL,NULL,83,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(29,'Organization',NULL,1,0,0,0,1,0,NULL,NULL,'Local Empowerment Solutions','Local Empowerment Solutions',NULL,NULL,NULL,NULL,NULL,'Both','2469703716',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Local Empowerment Solutions',NULL,NULL,NULL,0,NULL,NULL,82,'Local Empowerment Solutions',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(30,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Errol','Errol Müller III',NULL,NULL,NULL,'5',NULL,'Both','807767976',NULL,'Sample Data','Errol','','Müller',NULL,4,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Müller III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(31,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov family','Ivanov family',NULL,NULL,NULL,'2',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,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(32,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav family','Yadav family',NULL,NULL,NULL,'5',NULL,'Both','1777336212',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Yadav family',5,NULL,'Dear Yadav family',2,NULL,'Yadav family',NULL,NULL,NULL,0,NULL,'Yadav family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(33,'Household',NULL,1,0,0,0,1,0,NULL,NULL,'Ivanov-Nielsen family','Ivanov-Nielsen family',NULL,NULL,NULL,'3',NULL,'Both','3086379723',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Ivanov-Nielsen family',5,NULL,'Dear Ivanov-Nielsen family',2,NULL,'Ivanov-Nielsen family',NULL,NULL,NULL,0,NULL,'Ivanov-Nielsen family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(34,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Cooper, Iris','Dr. Iris Cooper',NULL,NULL,NULL,NULL,NULL,'Both','2973926348',NULL,'Sample Data','Iris','','Cooper',4,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Dr. Iris Cooper',NULL,1,'1941-07-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(35,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Ivanov, Allan','Allan Ivanov III',NULL,NULL,NULL,NULL,NULL,'Both','3313048045',NULL,'Sample Data','Allan','K','Ivanov',NULL,4,NULL,NULL,1,NULL,'Dear Allan',1,NULL,'Dear Allan',1,NULL,'Allan Ivanov III',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(36,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Ivanov, Scarlet','Scarlet Ivanov',NULL,NULL,NULL,'2',NULL,'Both','959385532',NULL,'Sample Data','Scarlet','','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Scarlet',1,NULL,'Dear Scarlet',1,NULL,'Scarlet Ivanov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(37,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov-Müller, Santina','Dr. Santina Ivanov-Müller',NULL,NULL,NULL,NULL,NULL,'Both','3198007126',NULL,'Sample Data','Santina','D','Ivanov-Müller',4,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Dr. Santina Ivanov-Müller',NULL,1,'1978-02-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(38,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Nielsen, Bob','Bob Nielsen III',NULL,NULL,NULL,'3',NULL,'Both','1542221610',NULL,'Sample Data','Bob','','Nielsen',NULL,4,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Bob Nielsen III',NULL,NULL,'2012-12-31',0,NULL,NULL,NULL,'Maple Software School',NULL,NULL,168,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(39,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Josefa','Josefa Deforest',NULL,NULL,NULL,NULL,NULL,'Both','2303939746',NULL,'Sample Data','Josefa','O','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Josefa Deforest',NULL,NULL,NULL,0,NULL,NULL,NULL,'Cheshire Action Center',NULL,NULL,182,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(40,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jacobs, Claudio','Claudio Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','3740618228',NULL,'Sample Data','Claudio','F','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Jacobs',NULL,2,'1997-08-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(41,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Lee, Beula','Dr. Beula Lee',NULL,NULL,NULL,'2',NULL,'Both','1766744180',NULL,'Sample Data','Beula','','Lee',4,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Dr. Beula Lee',NULL,NULL,'1955-08-24',1,'2019-07-08',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(42,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Kernersville Advocacy Alliance','Kernersville Advocacy Alliance',NULL,NULL,NULL,NULL,NULL,'Both','3061699220',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Kernersville Advocacy Alliance',NULL,NULL,NULL,0,NULL,NULL,125,'Kernersville Advocacy Alliance',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(43,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Nielsen, Omar','Omar Nielsen',NULL,NULL,NULL,'1',NULL,'Both','1831503188',NULL,'Sample Data','Omar','','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Omar',1,NULL,'Dear Omar',1,NULL,'Omar Nielsen',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(44,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Lashawnda','Ms. Lashawnda Patel',NULL,NULL,NULL,'4',NULL,'Both','3886858056',NULL,'Sample Data','Lashawnda','E','Patel',2,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Ms. Lashawnda Patel',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(45,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'olsene85@airmail.co.in','olsene85@airmail.co.in',NULL,NULL,NULL,NULL,NULL,'Both','2464575467',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear olsene85@airmail.co.in',1,NULL,'Dear olsene85@airmail.co.in',1,NULL,'olsene85@airmail.co.in',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(46,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Kandace','Kandace Deforest',NULL,NULL,NULL,'3',NULL,'Both','1547944287',NULL,'Sample Data','Kandace','J','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Kandace Deforest',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(47,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Simpson Technology Trust','Simpson Technology Trust',NULL,NULL,NULL,NULL,NULL,'Both','337777674',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Simpson Technology Trust',NULL,NULL,NULL,0,NULL,NULL,162,'Simpson Technology Trust',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(48,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jensen, Kiara','Mrs. Kiara Jensen',NULL,NULL,NULL,'1',NULL,'Both','4228592498',NULL,'Sample Data','Kiara','','Jensen',1,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Mrs. Kiara Jensen',NULL,1,NULL,0,NULL,NULL,NULL,'White Marsh Sports School',NULL,NULL,191,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(49,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Princess','Mrs. Princess Jones',NULL,NULL,NULL,NULL,NULL,'Both','3647166533',NULL,'Sample Data','Princess','','Jones',1,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Mrs. Princess Jones',NULL,1,'1951-04-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(50,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Jones family','Jones family',NULL,NULL,NULL,'3',NULL,'Both','1110516799',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jones family',5,NULL,'Dear Jones family',2,NULL,'Jones family',NULL,NULL,NULL,0,NULL,'Jones family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(51,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Parker, Daren','Daren Parker Sr.',NULL,NULL,NULL,'3',NULL,'Both','107757717',NULL,'Sample Data','Daren','','Parker',NULL,2,NULL,NULL,1,NULL,'Dear Daren',1,NULL,'Dear Daren',1,NULL,'Daren Parker Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(52,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen-McReynolds family','Nielsen-McReynolds family',NULL,NULL,NULL,NULL,NULL,'Both','3729700158',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Nielsen-McReynolds family',5,NULL,'Dear Nielsen-McReynolds family',2,NULL,'Nielsen-McReynolds family',NULL,NULL,NULL,0,NULL,'Nielsen-McReynolds family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(53,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Teddy','Teddy Jameson II',NULL,NULL,NULL,NULL,NULL,'Both','4104650414',NULL,'Sample Data','Teddy','','Jameson',NULL,3,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Teddy Jameson II',NULL,2,'2007-03-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(54,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Bryon','Bryon Yadav III',NULL,NULL,NULL,'1',NULL,'Both','1301093368',NULL,'Sample Data','Bryon','G','Yadav',NULL,4,NULL,NULL,1,NULL,'Dear Bryon',1,NULL,'Dear Bryon',1,NULL,'Bryon Yadav III',NULL,NULL,'1967-06-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(55,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Bernadette','Dr. Bernadette Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','3126349786',NULL,'Sample Data','Bernadette','','Ivanov',4,NULL,NULL,NULL,1,NULL,'Dear Bernadette',1,NULL,'Dear Bernadette',1,NULL,'Dr. Bernadette Ivanov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(56,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Missouri Arts Initiative','Missouri Arts Initiative',NULL,NULL,NULL,NULL,NULL,'Both','3834820123',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Missouri Arts Initiative',NULL,NULL,NULL,0,NULL,NULL,NULL,'Missouri Arts Initiative',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(57,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen-McReynolds, Esta','Mrs. Esta Nielsen-McReynolds',NULL,NULL,NULL,'4',NULL,'Both','3791995026',NULL,'Sample Data','Esta','','Nielsen-McReynolds',1,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Mrs. Esta Nielsen-McReynolds',NULL,1,'1982-02-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(58,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'jacobs-jamesonr51@testing.com','jacobs-jamesonr51@testing.com',NULL,NULL,NULL,'1',NULL,'Both','1243854947',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear jacobs-jamesonr51@testing.com',1,NULL,'Dear jacobs-jamesonr51@testing.com',1,NULL,'jacobs-jamesonr51@testing.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(59,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Sherman','Dr. Sherman Jensen Jr.',NULL,NULL,NULL,'3',NULL,'Both','1444666503',NULL,'Sample Data','Sherman','M','Jensen',4,1,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Dr. Sherman Jensen Jr.',NULL,NULL,'1997-10-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(60,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Clint','Clint Deforest',NULL,NULL,NULL,'3',NULL,'Both','2437706084',NULL,'Sample Data','Clint','','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Clint Deforest',NULL,2,'1989-12-27',0,NULL,NULL,NULL,'Northpoint Poetry Initiative',NULL,NULL,96,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(61,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Atlanta Agriculture Solutions','Atlanta Agriculture Solutions',NULL,NULL,NULL,'5',NULL,'Both','2010883488',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Atlanta Agriculture Solutions',NULL,NULL,NULL,0,NULL,NULL,NULL,'Atlanta Agriculture Solutions',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(62,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Esta','Ms. Esta Barkley',NULL,NULL,NULL,NULL,NULL,'Both','2407753300',NULL,'Sample Data','Esta','I','Barkley',2,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Ms. Esta Barkley',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(63,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Ivanov, Laree','Laree Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','713398135',NULL,'Sample Data','Laree','P','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Laree',1,NULL,'Dear Laree',1,NULL,'Laree Ivanov',NULL,1,NULL,0,NULL,NULL,NULL,'Local Music Alliance',NULL,NULL,172,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(64,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Müller, Miguel','Miguel Müller',NULL,NULL,NULL,'2',NULL,'Both','317510167',NULL,'Sample Data','Miguel','Q','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Miguel',1,NULL,'Dear Miguel',1,NULL,'Miguel Müller',NULL,2,'1999-11-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(65,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Jacob','Jacob Nielsen Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1661720619',NULL,'Sample Data','Jacob','','Nielsen',NULL,2,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Jacob Nielsen Sr.',NULL,2,'1998-09-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(66,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'teresayadav@testing.net','teresayadav@testing.net',NULL,NULL,NULL,NULL,NULL,'Both','3576891443',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear teresayadav@testing.net',1,NULL,'Dear teresayadav@testing.net',1,NULL,'teresayadav@testing.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(67,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Rolando','Dr. Rolando Samson III',NULL,NULL,NULL,'3',NULL,'Both','3728356464',NULL,'Sample Data','Rolando','Z','Samson',4,4,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Dr. Rolando Samson III',NULL,2,NULL,1,'2018-11-09',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(68,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest-Ivanov, Herminia','Ms. Herminia Deforest-Ivanov',NULL,NULL,NULL,'5',NULL,'Both','669810303',NULL,'Sample Data','Herminia','M','Deforest-Ivanov',2,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Ms. Herminia Deforest-Ivanov',NULL,NULL,'1975-11-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(69,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Parker, Allen','Dr. Allen Parker',NULL,NULL,NULL,'5',NULL,'Both','710842690',NULL,'Sample Data','Allen','','Parker',4,NULL,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Dr. Allen Parker',NULL,NULL,'1978-09-05',1,'2018-10-04',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(70,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'dimitrovi56@spamalot.net','dimitrovi56@spamalot.net',NULL,NULL,NULL,NULL,NULL,'Both','2613972798',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear dimitrovi56@spamalot.net',1,NULL,'Dear dimitrovi56@spamalot.net',1,NULL,'dimitrovi56@spamalot.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(71,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen family','Nielsen family',NULL,NULL,NULL,'4',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,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(72,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Ivanov, Herminia','Dr. Herminia Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','3410851077',NULL,'Sample Data','Herminia','','Ivanov',4,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Dr. Herminia Ivanov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(73,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'adamss@example.info','adamss@example.info',NULL,NULL,NULL,'5',NULL,'Both','968220667',NULL,'Sample Data',NULL,NULL,NULL,NULL,3,NULL,NULL,1,NULL,'Dear adamss@example.info',1,NULL,'Dear adamss@example.info',1,NULL,'adamss@example.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(74,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen family','Jensen family',NULL,NULL,NULL,NULL,NULL,'Both','797435572',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jensen family',5,NULL,'Dear Jensen family',2,NULL,'Jensen family',NULL,NULL,NULL,0,NULL,'Jensen family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(75,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Robertson-Smith, Magan','Magan Robertson-Smith',NULL,NULL,NULL,'4',NULL,'Both','370591172',NULL,'Sample Data','Magan','L','Robertson-Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Magan Robertson-Smith',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(76,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Terrell, Jed','Mr. Jed Terrell',NULL,NULL,NULL,'2',NULL,'Both','1773288305',NULL,'Sample Data','Jed','N','Terrell',3,NULL,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Mr. Jed Terrell',NULL,2,'1930-10-27',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(77,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Patel, Rodrigo','Rodrigo Patel',NULL,NULL,NULL,'4',NULL,'Both','631852002',NULL,'Sample Data','Rodrigo','','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Rodrigo Patel',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(78,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'samson.arlyne94@testmail.net','samson.arlyne94@testmail.net',NULL,NULL,NULL,'3',NULL,'Both','4232787254',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear samson.arlyne94@testmail.net',1,NULL,'Dear samson.arlyne94@testmail.net',1,NULL,'samson.arlyne94@testmail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(79,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds, Andrew','Andrew Reynolds',NULL,NULL,NULL,'4',NULL,'Both','3309670970',NULL,'Sample Data','Andrew','T','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Andrew',1,NULL,'Dear Andrew',1,NULL,'Andrew Reynolds',NULL,2,'1932-08-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(80,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Adams, Shauna','Shauna Adams',NULL,NULL,NULL,'1',NULL,'Both','1778468249',NULL,'Sample Data','Shauna','','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Shauna Adams',NULL,1,'1982-07-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(81,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Jacob','Dr. Jacob Jones Sr.',NULL,NULL,NULL,'5',NULL,'Both','210245998',NULL,'Sample Data','Jacob','','Jones',4,2,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Dr. Jacob Jones Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(82,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Parker, Josefa','Dr. Josefa Parker',NULL,NULL,NULL,NULL,NULL,'Both','2643167156',NULL,'Sample Data','Josefa','Q','Parker',4,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Dr. Josefa Parker',NULL,1,'1958-05-04',0,NULL,NULL,NULL,'Local Empowerment Solutions',NULL,NULL,29,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(83,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Lumber City Development Fellowship','Lumber City Development Fellowship',NULL,NULL,NULL,'5',NULL,'Both','1771565526',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Lumber City Development Fellowship',NULL,NULL,NULL,0,NULL,NULL,28,'Lumber City Development Fellowship',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(84,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jacobs-Jameson, Daren','Daren Jacobs-Jameson Jr.',NULL,NULL,NULL,'1',NULL,'Both','2325699535',NULL,'Sample Data','Daren','S','Jacobs-Jameson',NULL,1,NULL,NULL,1,NULL,'Dear Daren',1,NULL,'Dear Daren',1,NULL,'Daren Jacobs-Jameson Jr.',NULL,2,'1991-08-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(85,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Nielsen, Josefa','Dr. Josefa Nielsen',NULL,NULL,NULL,NULL,NULL,'Both','3267028471',NULL,'Sample Data','Josefa','B','Nielsen',4,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Dr. Josefa Nielsen',NULL,NULL,'1960-02-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(86,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wagner, Elina','Elina Wagner',NULL,NULL,NULL,'1',NULL,'Both','4003830950',NULL,'Sample Data','Elina','','Wagner',NULL,NULL,NULL,NULL,1,NULL,'Dear Elina',1,NULL,'Dear Elina',1,NULL,'Elina Wagner',NULL,1,'1962-07-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(87,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Bachman, Margaret','Dr. Margaret Bachman',NULL,NULL,NULL,'4',NULL,'Both','2110616060',NULL,'Sample Data','Margaret','W','Bachman',4,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Dr. Margaret Bachman',NULL,NULL,'1979-12-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(88,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Smith, Barry','Barry Smith Jr.',NULL,NULL,NULL,'4',NULL,'Both','3850252418',NULL,'Sample Data','Barry','','Smith',NULL,1,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Barry Smith Jr.',NULL,NULL,'1979-05-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(89,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Arlyne','Arlyne McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','1526771757',NULL,'Sample Data','Arlyne','','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Arlyne McReynolds',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(90,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Deforest, Craig','Mr. Craig Deforest III',NULL,NULL,NULL,'2',NULL,'Both','3831945065',NULL,'Sample Data','Craig','C','Deforest',3,4,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Mr. Craig Deforest III',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(91,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'McReynolds, Valene','Valene McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','2007971144',NULL,'Sample Data','Valene','K','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Valene',1,NULL,'Dear Valene',1,NULL,'Valene McReynolds',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(92,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Kathlyn','Kathlyn Smith',NULL,NULL,NULL,'3',NULL,'Both','97768727',NULL,'Sample Data','Kathlyn','V','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Kathlyn Smith',NULL,1,'1962-04-25',1,'2018-11-25',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(93,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'El Camino Advocacy Collective','El Camino Advocacy Collective',NULL,NULL,NULL,'5',NULL,'Both','1871149562',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'El Camino Advocacy Collective',NULL,NULL,NULL,0,NULL,NULL,103,'El Camino Advocacy Collective',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(94,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'dimitrov.bryon75@notmail.org','dimitrov.bryon75@notmail.org',NULL,NULL,NULL,'5',NULL,'Both','637290274',NULL,'Sample Data',NULL,NULL,NULL,NULL,3,NULL,NULL,1,NULL,'Dear dimitrov.bryon75@notmail.org',1,NULL,'Dear dimitrov.bryon75@notmail.org',1,NULL,'dimitrov.bryon75@notmail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(95,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Megan','Megan Deforest',NULL,NULL,NULL,'1',NULL,'Both','588269616',NULL,'Sample Data','Megan','','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Megan Deforest',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(96,'Organization',NULL,1,1,0,0,0,0,NULL,NULL,'Northpoint Poetry Initiative','Northpoint Poetry Initiative',NULL,NULL,NULL,NULL,NULL,'Both','3512734240',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Northpoint Poetry Initiative',NULL,NULL,NULL,0,NULL,NULL,60,'Northpoint Poetry Initiative',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(97,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'brigetteyadav10@lol.co.pl','brigetteyadav10@lol.co.pl',NULL,NULL,NULL,'3',NULL,'Both','72022308',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear brigetteyadav10@lol.co.pl',1,NULL,'Dear brigetteyadav10@lol.co.pl',1,NULL,'brigetteyadav10@lol.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(98,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Bay Wellness Partnership','Bay Wellness Partnership',NULL,NULL,NULL,NULL,NULL,'Both','3828719205',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Bay Wellness Partnership',NULL,NULL,NULL,0,NULL,NULL,117,'Bay Wellness Partnership',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(99,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Mei','Dr. Mei Müller',NULL,NULL,NULL,NULL,NULL,'Both','726297805',NULL,'Sample Data','Mei','H','Müller',4,NULL,NULL,NULL,1,NULL,'Dear Mei',1,NULL,'Dear Mei',1,NULL,'Dr. Mei Müller',NULL,1,'1982-03-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(100,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest family','Deforest family',NULL,NULL,NULL,'3',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,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(101,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jameson, Jackson','Dr. Jackson Jameson Jr.',NULL,NULL,NULL,'1',NULL,'Both','680754950',NULL,'Sample Data','Jackson','S','Jameson',4,1,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Dr. Jackson Jameson Jr.',NULL,NULL,'1947-05-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(102,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Russell','Dr. Russell Jensen III',NULL,NULL,NULL,NULL,NULL,'Both','1300991464',NULL,'Sample Data','Russell','R','Jensen',4,4,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Dr. Russell Jensen III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(103,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Bob','Dr. Bob Cruz II',NULL,NULL,NULL,'2',NULL,'Both','1833840419',NULL,'Sample Data','Bob','','Cruz',4,3,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Dr. Bob Cruz II',NULL,NULL,'1965-05-03',1,NULL,NULL,NULL,'El Camino Advocacy Collective',NULL,NULL,93,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(104,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Beula','Beula Müller',NULL,NULL,NULL,NULL,NULL,'Both','521667941',NULL,'Sample Data','Beula','','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Beula Müller',NULL,1,'1931-09-07',1,'2018-10-01',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(105,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Smith, Sanford','Sanford Smith III',NULL,NULL,NULL,'4',NULL,'Both','2584375586',NULL,'Sample Data','Sanford','','Smith',NULL,4,NULL,NULL,1,NULL,'Dear Sanford',1,NULL,'Dear Sanford',1,NULL,'Sanford Smith III',NULL,NULL,'1969-11-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(106,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'samuelsa@airmail.net','samuelsa@airmail.net',NULL,NULL,NULL,NULL,NULL,'Both','1557955432',NULL,'Sample Data',NULL,NULL,NULL,NULL,1,NULL,NULL,1,NULL,'Dear samuelsa@airmail.net',1,NULL,'Dear samuelsa@airmail.net',1,NULL,'samuelsa@airmail.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(107,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Müller family','Müller family',NULL,NULL,NULL,NULL,NULL,'Both','1144797465',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Müller family',5,NULL,'Dear Müller family',2,NULL,'Müller family',NULL,NULL,NULL,0,NULL,'Müller family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(108,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Rolando','Rolando Nielsen III',NULL,NULL,NULL,NULL,NULL,'Both','1720954446',NULL,'Sample Data','Rolando','Y','Nielsen',NULL,4,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Rolando Nielsen III',NULL,NULL,'1960-12-04',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(109,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Billy','Dr. Billy Jensen',NULL,NULL,NULL,NULL,NULL,'Both','1055811033',NULL,'Sample Data','Billy','','Jensen',4,NULL,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Dr. Billy Jensen',NULL,NULL,'1967-07-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(110,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Jacobs-Jameson family','Jacobs-Jameson family',NULL,NULL,NULL,NULL,NULL,'Both','2511058201',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jacobs-Jameson family',5,NULL,'Dear Jacobs-Jameson family',2,NULL,'Jacobs-Jameson family',NULL,NULL,NULL,0,NULL,'Jacobs-Jameson family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(111,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'González, Jacob','Jacob González III',NULL,NULL,NULL,'2',NULL,'Both','2352039359',NULL,'Sample Data','Jacob','','González',NULL,4,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Jacob González III',NULL,2,'1942-08-13',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(112,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Wilson, Errol','Errol Wilson',NULL,NULL,NULL,NULL,NULL,'Both','1627252863',NULL,'Sample Data','Errol','A','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Wilson',NULL,2,'1973-01-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(113,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Robertson, Barry','Dr. Barry Robertson',NULL,NULL,NULL,NULL,NULL,'Both','3681115611',NULL,'Sample Data','Barry','P','Robertson',4,NULL,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Dr. Barry Robertson',NULL,2,NULL,1,'2019-05-23',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(114,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Adams, Ashley','Ashley Adams',NULL,NULL,NULL,'3',NULL,'Both','2907231858',NULL,'Sample Data','Ashley','T','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley Adams',NULL,1,'2001-10-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(115,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samson, Maxwell','Maxwell Samson',NULL,NULL,NULL,NULL,NULL,'Both','3358700661',NULL,'Sample Data','Maxwell','','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Samson',NULL,NULL,'1977-02-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(116,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Jacobs, Jerome','Dr. Jerome Jacobs II',NULL,NULL,NULL,'5',NULL,'Both','3771685800',NULL,'Sample Data','Jerome','','Jacobs',4,3,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Dr. Jerome Jacobs II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(117,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Shauna','Shauna Olsen',NULL,NULL,NULL,NULL,NULL,'Both','774481679',NULL,'Sample Data','Shauna','','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Shauna Olsen',NULL,1,NULL,0,NULL,NULL,NULL,'Bay Wellness Partnership',NULL,NULL,98,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(118,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'jensenr90@airmail.co.pl','jensenr90@airmail.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','245011405',NULL,'Sample Data',NULL,NULL,NULL,NULL,2,NULL,NULL,1,NULL,'Dear jensenr90@airmail.co.pl',1,NULL,'Dear jensenr90@airmail.co.pl',1,NULL,'jensenr90@airmail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(119,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Bob','Dr. Bob Jones',NULL,NULL,NULL,NULL,NULL,'Both','3998571591',NULL,'Sample Data','Bob','T','Jones',4,NULL,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Dr. Bob Jones',NULL,2,'1952-10-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(120,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'teresapatel@infomail.co.in','teresapatel@infomail.co.in',NULL,NULL,NULL,NULL,NULL,'Both','228692150',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear teresapatel@infomail.co.in',1,NULL,'Dear teresapatel@infomail.co.in',1,NULL,'teresapatel@infomail.co.in',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(121,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Deforest, Princess','Dr. Princess Deforest',NULL,NULL,NULL,'3',NULL,'Both','1925726838',NULL,'Sample Data','Princess','','Deforest',4,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Dr. Princess Deforest',NULL,1,'1935-11-01',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(122,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Müller, Ashley','Mrs. Ashley Müller',NULL,NULL,NULL,NULL,NULL,'Both','1765273869',NULL,'Sample Data','Ashley','','Müller',1,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Mrs. Ashley Müller',NULL,NULL,'1945-11-13',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(123,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Łąchowski, Brent','Brent Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','1516135364',NULL,'Sample Data','Brent','','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Brent Łąchowski',NULL,2,'1997-01-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(124,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Zope, Irvin','Irvin Zope II',NULL,NULL,NULL,NULL,NULL,'Both','1828686361',NULL,'Sample Data','Irvin','','Zope',NULL,3,NULL,NULL,1,NULL,'Dear Irvin',1,NULL,'Dear Irvin',1,NULL,'Irvin Zope II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(125,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Erik','Mr. Erik Jones',NULL,NULL,NULL,NULL,NULL,'Both','2330527587',NULL,'Sample Data','Erik','D','Jones',3,NULL,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Mr. Erik Jones',NULL,2,NULL,0,NULL,NULL,NULL,'Kernersville Advocacy Alliance',NULL,NULL,42,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(126,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cruz, Errol','Errol Cruz III',NULL,NULL,NULL,NULL,NULL,'Both','4273315760',NULL,'Sample Data','Errol','U','Cruz',NULL,4,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Cruz III',NULL,2,'1985-12-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(127,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Prentice, Jerome','Dr. Jerome Prentice',NULL,NULL,NULL,NULL,NULL,'Both','2816560525',NULL,'Sample Data','Jerome','V','Prentice',4,NULL,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Dr. Jerome Prentice',NULL,2,'1941-04-23',1,'2019-01-25',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(128,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Landon','Dr. Landon Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','3544857327',NULL,'Sample Data','Landon','','Dimitrov',4,NULL,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Dr. Landon Dimitrov',NULL,2,'1980-09-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(129,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'au.jones51@notmail.co.uk','au.jones51@notmail.co.uk',NULL,NULL,NULL,'3',NULL,'Both','2540604198',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear au.jones51@notmail.co.uk',1,NULL,'Dear au.jones51@notmail.co.uk',1,NULL,'au.jones51@notmail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(130,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Megan','Megan Yadav',NULL,NULL,NULL,'5',NULL,'Both','2317893883',NULL,'Sample Data','Megan','S','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Megan Yadav',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(131,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Terrell, Jackson','Dr. Jackson Terrell',NULL,NULL,NULL,'5',NULL,'Both','3811181672',NULL,'Sample Data','Jackson','K','Terrell',4,NULL,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Dr. Jackson Terrell',NULL,2,NULL,1,'2019-04-30',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(132,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Errol','Dr. Errol Jones Jr.',NULL,NULL,NULL,NULL,NULL,'Both','908628622',NULL,'Sample Data','Errol','','Jones',4,1,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Dr. Errol Jones Jr.',NULL,NULL,'1978-12-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(133,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Bryon','Dr. Bryon Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','2100976885',NULL,'Sample Data','Bryon','','Jacobs',4,NULL,NULL,NULL,1,NULL,'Dear Bryon',1,NULL,'Dear Bryon',1,NULL,'Dr. Bryon Jacobs',NULL,NULL,'1955-10-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(134,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jacobs, Ashlie','Ashlie Jacobs',NULL,NULL,NULL,'3',NULL,'Both','1009124847',NULL,'Sample Data','Ashlie','V','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashlie',1,NULL,'Dear Ashlie',1,NULL,'Ashlie Jacobs',NULL,1,'1967-11-21',0,NULL,NULL,NULL,'Global Sports Trust',NULL,NULL,138,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(135,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Elina','Elina Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','3932041193',NULL,'Sample Data','Elina','R','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Elina',1,NULL,'Dear Elina',1,NULL,'Elina Jacobs',NULL,1,'1996-08-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(136,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Samson, Josefa','Ms. Josefa Samson',NULL,NULL,NULL,'5',NULL,'Both','3599094976',NULL,'Sample Data','Josefa','X','Samson',2,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Ms. Josefa Samson',NULL,1,'1985-12-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(137,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Community Software Fund','Community Software Fund',NULL,NULL,NULL,'5',NULL,'Both','1336423295',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Community Software Fund',NULL,NULL,NULL,0,NULL,NULL,187,'Community Software Fund',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(138,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Global Sports Trust','Global Sports Trust',NULL,NULL,NULL,NULL,NULL,'Both','2008289903',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Global Sports Trust',NULL,NULL,NULL,0,NULL,NULL,134,'Global Sports Trust',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(139,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Carylon','Carylon Jacobs',NULL,NULL,NULL,'4',NULL,'Both','548653672',NULL,'Sample Data','Carylon','Q','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Jacobs',NULL,1,'1965-08-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(140,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds, Allan','Allan Reynolds III',NULL,NULL,NULL,NULL,NULL,'Both','2732914112',NULL,'Sample Data','Allan','','Reynolds',NULL,4,NULL,NULL,1,NULL,'Dear Allan',1,NULL,'Dear Allan',1,NULL,'Allan Reynolds III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(141,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Caulder Sports Fund','Caulder Sports Fund',NULL,NULL,NULL,'5',NULL,'Both','1126006360',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Caulder Sports Fund',NULL,NULL,NULL,0,NULL,NULL,145,'Caulder Sports Fund',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(142,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Zope-Patel, Kiara','Kiara Zope-Patel',NULL,NULL,NULL,NULL,NULL,'Both','925434648',NULL,'Sample Data','Kiara','','Zope-Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Zope-Patel',NULL,1,'1997-12-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(143,'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,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(144,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Díaz, Lashawnda','Lashawnda Díaz',NULL,NULL,NULL,NULL,NULL,'Both','2462862160',NULL,'Sample Data','Lashawnda','','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Lashawnda Díaz',NULL,NULL,'1987-12-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(145,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Samuels, Tanya','Tanya Samuels',NULL,NULL,NULL,'3',NULL,'Both','147060242',NULL,'Sample Data','Tanya','','Samuels',NULL,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Tanya Samuels',NULL,1,'1961-03-15',0,NULL,NULL,NULL,'Caulder Sports Fund',NULL,NULL,141,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(146,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Brittney','Mrs. Brittney Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','3787428926',NULL,'Sample Data','Brittney','','Ivanov',1,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Mrs. Brittney Ivanov',NULL,NULL,'1964-08-26',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(147,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Cruz, Carlos','Mr. Carlos Cruz Jr.',NULL,NULL,NULL,NULL,NULL,'Both','149105357',NULL,'Sample Data','Carlos','','Cruz',3,1,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Mr. Carlos Cruz Jr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(148,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Adams, Herminia','Herminia Adams',NULL,NULL,NULL,'3',NULL,'Both','1782178525',NULL,'Sample Data','Herminia','Q','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Adams',NULL,NULL,'1998-02-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(149,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Dimitrov, Kathlyn','Kathlyn Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','3934921435',NULL,'Sample Data','Kathlyn','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Kathlyn Dimitrov',NULL,1,'1982-01-25',0,NULL,NULL,NULL,'Main Arts Center',NULL,NULL,160,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(150,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Alexia','Alexia Müller',NULL,NULL,NULL,'2',NULL,'Both','3709597045',NULL,'Sample Data','Alexia','','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Müller',NULL,1,'1993-08-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(151,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Grant, Russell','Russell Grant',NULL,NULL,NULL,NULL,NULL,'Both','388937713',NULL,'Sample Data','Russell','','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Russell Grant',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(152,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Shad','Shad Jacobs Sr.',NULL,NULL,NULL,NULL,NULL,'Both','3732235082',NULL,'Sample Data','Shad','M','Jacobs',NULL,2,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Shad Jacobs Sr.',NULL,2,'2007-07-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(153,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Jensen, Santina','Ms. Santina Jensen',NULL,NULL,NULL,NULL,NULL,'Both','864111104',NULL,'Sample Data','Santina','L','Jensen',2,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Ms. Santina Jensen',NULL,1,'1947-04-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(154,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Zope-Patel family','Zope-Patel family',NULL,NULL,NULL,'4',NULL,'Both','3836073694',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope-Patel family',5,NULL,'Dear Zope-Patel family',2,NULL,'Zope-Patel family',NULL,NULL,NULL,0,NULL,'Zope-Patel family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(155,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Bachman, Erik','Erik Bachman',NULL,NULL,NULL,NULL,NULL,'Both','620728720',NULL,'Sample Data','Erik','C','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Bachman',NULL,2,NULL,1,'2018-12-04',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(156,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Betty','Betty Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','206687423',NULL,'Sample Data','Betty','M','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Betty',1,NULL,'Dear Betty',1,NULL,'Betty Dimitrov',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(157,'Household',NULL,1,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,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(158,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Cruz, Claudio','Claudio Cruz Sr.',NULL,NULL,NULL,'1',NULL,'Both','3764731328',NULL,'Sample Data','Claudio','','Cruz',NULL,2,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Cruz Sr.',NULL,2,'1979-02-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(159,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Patel, Kiara','Dr. Kiara Patel',NULL,NULL,NULL,'4',NULL,'Both','2968776132',NULL,'Sample Data','Kiara','N','Patel',4,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Dr. Kiara Patel',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(160,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Main Arts Center','Main Arts Center',NULL,NULL,NULL,NULL,NULL,'Both','2905406863',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Main Arts Center',NULL,NULL,NULL,0,NULL,NULL,149,'Main Arts Center',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(161,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Scott','Scott Jacobs III',NULL,NULL,NULL,'3',NULL,'Both','2229288735',NULL,'Sample Data','Scott','O','Jacobs',NULL,4,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Scott Jacobs III',NULL,2,NULL,1,'2019-09-12',NULL,NULL,'Baker Peace Solutions',NULL,NULL,175,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(162,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Barkley, Bernadette','Bernadette Barkley',NULL,NULL,NULL,'4',NULL,'Both','2929366721',NULL,'Sample Data','Bernadette','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Bernadette',1,NULL,'Dear Bernadette',1,NULL,'Bernadette Barkley',NULL,NULL,NULL,0,NULL,NULL,NULL,'Simpson Technology Trust',NULL,NULL,47,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(163,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Allan','Mr. Allan Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','238176924',NULL,'Sample Data','Allan','','Jacobs',3,NULL,NULL,NULL,1,NULL,'Dear Allan',1,NULL,'Dear Allan',1,NULL,'Mr. Allan Jacobs',NULL,NULL,'1959-08-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(164,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman family','Bachman family',NULL,NULL,NULL,'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,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(165,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'estajensen@lol.org','estajensen@lol.org',NULL,NULL,NULL,'1',NULL,'Both','3862874273',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear estajensen@lol.org',1,NULL,'Dear estajensen@lol.org',1,NULL,'estajensen@lol.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(166,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Ray','Ray Ivanov Sr.',NULL,NULL,NULL,NULL,NULL,'Both','2368574076',NULL,'Sample Data','Ray','L','Ivanov',NULL,2,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray Ivanov Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(167,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Brzęczysław','Brzęczysław Deforest Sr.',NULL,NULL,NULL,'1',NULL,'Both','5133953',NULL,'Sample Data','Brzęczysław','','Deforest',NULL,2,NULL,NULL,1,NULL,'Dear Brzęczysław',1,NULL,'Dear Brzęczysław',1,NULL,'Brzęczysław Deforest Sr.',NULL,2,'2002-10-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(168,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Maple Software School','Maple Software School',NULL,NULL,NULL,'3',NULL,'Both','2802269565',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Maple Software School',NULL,NULL,NULL,0,NULL,NULL,38,'Maple Software School',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(169,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'jones-lee.brigette@mymail.co.in','jones-lee.brigette@mymail.co.in',NULL,NULL,NULL,'3',NULL,'Both','2628951062',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear jones-lee.brigette@mymail.co.in',1,NULL,'Dear jones-lee.brigette@mymail.co.in',1,NULL,'jones-lee.brigette@mymail.co.in',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(170,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope-Patel, Toby','Toby Zope-Patel',NULL,NULL,NULL,NULL,NULL,'Both','1314531740',NULL,'Sample Data','Toby','','Zope-Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Toby Zope-Patel',NULL,2,'1990-06-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(171,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Truman','Truman Dimitrov',NULL,NULL,NULL,'3',NULL,'Both','231051732',NULL,'Sample Data','Truman','C','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Truman Dimitrov',NULL,2,'1948-08-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(172,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Local Music Alliance','Local Music Alliance',NULL,NULL,NULL,NULL,NULL,'Both','1337624696',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Local Music Alliance',NULL,NULL,NULL,0,NULL,NULL,63,'Local Music Alliance',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(173,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Bachman, Lawerence','Dr. Lawerence Bachman',NULL,NULL,NULL,NULL,NULL,'Both','2961144560',NULL,'Sample Data','Lawerence','G','Bachman',4,NULL,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Dr. Lawerence Bachman',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(174,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Jackson','Dr. Jackson Nielsen III',NULL,NULL,NULL,NULL,NULL,'Both','1699263324',NULL,'Sample Data','Jackson','','Nielsen',4,4,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Dr. Jackson Nielsen III',NULL,2,NULL,1,'2019-01-11',NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(175,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Baker Peace Solutions','Baker Peace Solutions',NULL,NULL,NULL,'2',NULL,'Both','1950822334',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Baker Peace Solutions',NULL,NULL,NULL,0,NULL,NULL,161,'Baker Peace Solutions',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(176,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Herminia','Herminia Jameson',NULL,NULL,NULL,NULL,NULL,'Both','2172372210',NULL,'Sample Data','Herminia','B','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Jameson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(177,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Jones, Josefa','Ms. Josefa Jones',NULL,NULL,NULL,'3',NULL,'Both','3294876457',NULL,'Sample Data','Josefa','I','Jones',2,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Ms. Josefa Jones',NULL,1,'1975-06-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(178,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Junko','Junko Smith',NULL,NULL,NULL,NULL,NULL,'Both','1889402326',NULL,'Sample Data','Junko','','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Junko',1,NULL,'Dear Junko',1,NULL,'Junko Smith',NULL,1,'2000-03-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(179,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Maxwell','Maxwell Dimitrov II',NULL,NULL,NULL,NULL,NULL,'Both','2461663646',NULL,'Sample Data','Maxwell','Y','Dimitrov',NULL,3,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Dimitrov II',NULL,NULL,'2002-10-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(180,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Miguel','Miguel Jones',NULL,NULL,NULL,'4',NULL,'Both','3236387575',NULL,'Sample Data','Miguel','','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Miguel',1,NULL,'Dear Miguel',1,NULL,'Miguel Jones',NULL,NULL,'1952-06-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(181,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Robertson, Roland','Roland Robertson II',NULL,NULL,NULL,NULL,NULL,'Both','2663656740',NULL,'Sample Data','Roland','','Robertson',NULL,3,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Roland Robertson II',NULL,2,'1941-06-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(182,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Cheshire Action Center','Cheshire Action Center',NULL,NULL,NULL,NULL,NULL,'Both','3880160044',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Cheshire Action Center',NULL,NULL,NULL,0,NULL,NULL,39,'Cheshire Action Center',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(183,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jacobs, Lawerence','Lawerence Jacobs',NULL,NULL,NULL,'1',NULL,'Both','2914828015',NULL,'Sample Data','Lawerence','','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Lawerence Jacobs',NULL,NULL,'1979-06-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(184,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'nielsen.j.angelika@lol.org','nielsen.j.angelika@lol.org',NULL,NULL,NULL,'1',NULL,'Both','2999481481',NULL,'Sample Data',NULL,NULL,NULL,2,NULL,NULL,NULL,1,NULL,'Dear nielsen.j.angelika@lol.org',1,NULL,'Dear nielsen.j.angelika@lol.org',1,NULL,'nielsen.j.angelika@lol.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(185,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jones, Brent','Mr. Brent Jones II',NULL,NULL,NULL,NULL,NULL,'Both','2534822524',NULL,'Sample Data','Brent','R','Jones',3,3,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Mr. Brent Jones II',NULL,2,'1970-01-29',1,'2019-02-05',NULL,NULL,'States Culture Collective',NULL,NULL,4,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(186,'Organization',NULL,0,1,0,0,1,0,NULL,NULL,'Texas Technology Partners','Texas Technology Partners',NULL,NULL,NULL,'1',NULL,'Both','1008431822',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Texas Technology Partners',NULL,NULL,NULL,0,NULL,NULL,NULL,'Texas Technology Partners',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(187,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Roberts, Kandace','Kandace Roberts',NULL,NULL,NULL,NULL,NULL,'Both','3760408869',NULL,'Sample Data','Kandace','','Roberts',NULL,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Kandace Roberts',NULL,1,NULL,0,NULL,NULL,NULL,'Community Software Fund',NULL,NULL,137,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(188,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Heidi','Heidi Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','1354340123',NULL,'Sample Data','Heidi','','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Heidi Ivanov',NULL,1,'1985-03-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(189,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Jacobs, Bernadette','Bernadette Jacobs',NULL,NULL,NULL,'3',NULL,'Both','4086516301',NULL,'Sample Data','Bernadette','D','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Bernadette',1,NULL,'Dear Bernadette',1,NULL,'Bernadette Jacobs',NULL,NULL,'1984-10-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(190,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Elizabeth','Mrs. Elizabeth Bachman',NULL,NULL,NULL,NULL,NULL,'Both','2403880070',NULL,'Sample Data','Elizabeth','','Bachman',1,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Mrs. Elizabeth Bachman',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(191,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'White Marsh Sports School','White Marsh Sports School',NULL,NULL,NULL,'4',NULL,'Both','3409844628',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'White Marsh Sports School',NULL,NULL,NULL,0,NULL,NULL,48,'White Marsh Sports School',NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(192,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Łąchowski, Lincoln','Mr. Lincoln Łąchowski Jr.',NULL,NULL,NULL,NULL,NULL,'Both','4115738277',NULL,'Sample Data','Lincoln','X','Łąchowski',3,1,NULL,NULL,1,NULL,'Dear Lincoln',1,NULL,'Dear Lincoln',1,NULL,'Mr. Lincoln Łąchowski Jr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(193,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Jacob','Jacob Ivanov Sr.',NULL,NULL,NULL,'3',NULL,'Both','3702183609',NULL,'Sample Data','Jacob','P','Ivanov',NULL,2,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Jacob Ivanov Sr.',NULL,2,'1990-08-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(194,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones-Lee, Erik','Erik Jones-Lee',NULL,NULL,NULL,'4',NULL,'Both','1686496511',NULL,'Sample Data','Erik','A','Jones-Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Jones-Lee',NULL,NULL,'2015-05-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(195,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'carlosl@fishmail.co.pl','carlosl@fishmail.co.pl',NULL,NULL,NULL,'3',NULL,'Both','2728934294',NULL,'Sample Data',NULL,NULL,NULL,NULL,3,NULL,NULL,1,NULL,'Dear carlosl@fishmail.co.pl',1,NULL,'Dear carlosl@fishmail.co.pl',1,NULL,'carlosl@fishmail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(196,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels family','Samuels family',NULL,NULL,NULL,'5',NULL,'Both','350459294',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Samuels family',5,NULL,'Dear Samuels family',2,NULL,'Samuels family',NULL,NULL,NULL,0,NULL,'Samuels family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(197,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Reynolds, Elizabeth','Elizabeth Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','3578793204',NULL,'Sample Data','Elizabeth','','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Reynolds',NULL,NULL,'1956-01-03',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(198,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Brigette','Dr. Brigette Olsen',NULL,NULL,NULL,'4',NULL,'Both','2958585175',NULL,'Sample Data','Brigette','','Olsen',4,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Dr. Brigette Olsen',NULL,NULL,'1978-09-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(199,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Nielsen, Barry','Barry Nielsen Jr.',NULL,NULL,NULL,NULL,NULL,'Both','999751517',NULL,'Sample Data','Barry','','Nielsen',NULL,1,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Barry Nielsen Jr.',NULL,NULL,'1999-04-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'),(200,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Jacobs family','Jacobs family',NULL,NULL,NULL,NULL,NULL,'Both','1498986649',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jacobs family',5,NULL,'Dear Jacobs family',2,NULL,'Jacobs family',NULL,NULL,NULL,0,NULL,'Jacobs family',NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:28'),(201,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'yadavi@infomail.co.uk','yadavi@infomail.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','4200254589',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear yadavi@infomail.co.uk',1,NULL,'Dear yadavi@infomail.co.uk',1,NULL,'yadavi@infomail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2019-09-20 19:57:27','2019-09-20 19:57:27'); /*!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`) 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),(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),(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),(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),(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),(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),(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),(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),(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),(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),(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),(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),(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),(14,177,2,NULL,1,'2019-08-16 09:31:31',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),(15,60,2,NULL,1,'2019-08-16 09:31:31',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),(16,170,2,NULL,1,'2019-08-16 09:31:31',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),(17,90,2,NULL,1,'2019-08-16 09:31:31',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),(18,149,2,NULL,1,'2019-08-16 09:31:31',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),(19,52,2,NULL,1,'2019-08-16 09:31:31',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),(20,132,2,NULL,1,'2019-08-16 09:31:31',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),(21,115,2,NULL,1,'2019-08-16 09:31:31',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),(22,105,2,NULL,1,'2019-08-16 09:31:31',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),(23,18,2,NULL,1,'2019-08-16 09:31:31',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),(24,12,2,NULL,1,'2019-08-16 09:31:31',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),(25,113,2,NULL,1,'2019-08-16 09:31:31',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),(26,26,2,NULL,1,'2019-08-16 09:31:31',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),(27,134,2,NULL,1,'2019-08-16 09:31:31',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),(28,148,2,NULL,1,'2019-08-16 09:31:31',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),(29,124,2,NULL,1,'2019-08-16 09:31:31',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),(30,7,2,NULL,1,'2019-08-16 09:31:31',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),(31,95,2,NULL,1,'2019-08-16 09:31:31',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),(32,16,2,NULL,1,'2019-08-16 09:31:31',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),(33,46,2,NULL,1,'2019-08-16 09:31:31',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),(34,116,2,NULL,1,'2019-08-16 09:31:31',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),(35,8,2,NULL,1,'2019-08-16 09:31:31',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),(36,42,2,NULL,1,'2019-08-16 09:31:31',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),(37,118,2,NULL,1,'2019-08-16 09:31:31',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),(38,36,2,NULL,1,'2019-08-16 09:31:31',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),(39,57,2,NULL,1,'2019-08-16 09:31:31',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),(40,182,2,NULL,1,'2019-08-16 09:31:31',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),(41,183,2,NULL,1,'2019-08-16 09:31:31',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),(42,159,2,NULL,1,'2019-08-16 09:31:31',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),(43,78,2,NULL,1,'2019-08-16 09:31:31',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),(45,2,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(46,4,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(47,7,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(48,8,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(49,10,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(50,13,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(51,18,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(52,20,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(53,23,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(54,26,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(55,30,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(56,31,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(57,32,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(58,34,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(59,41,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(60,42,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(61,48,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(62,50,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(63,62,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(64,63,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(65,79,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(66,82,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(67,90,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(68,99,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(69,107,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(70,108,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(71,111,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(72,119,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(73,128,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(74,132,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(75,133,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(76,137,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(77,141,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(78,150,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(79,156,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(80,160,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(81,163,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(82,167,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(83,172,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(84,173,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(85,181,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(86,182,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(87,183,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(88,184,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(89,185,4,NULL,1,'2019-08-16 09:31:31',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(90,186,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(91,188,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(92,191,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(93,196,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(94,199,4,NULL,1,'2019-08-16 09:31:31',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-08-16 09:31:31',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL); +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`) 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),(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),(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),(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),(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),(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),(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),(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),(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),(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),(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),(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),(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),(14,130,2,NULL,1,'2019-09-20 12:57:29',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),(15,145,2,NULL,1,'2019-09-20 12:57:29',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),(16,53,2,NULL,1,'2019-09-20 12:57:29',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),(17,57,2,NULL,1,'2019-09-20 12:57:29',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),(18,178,2,NULL,1,'2019-09-20 12:57:29',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),(19,46,2,NULL,1,'2019-09-20 12:57:29',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),(20,123,2,NULL,1,'2019-09-20 12:57:29',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),(21,39,2,NULL,1,'2019-09-20 12:57:29',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),(22,19,2,NULL,1,'2019-09-20 12:57:29',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),(23,104,2,NULL,1,'2019-09-20 12:57:29',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),(24,10,2,NULL,1,'2019-09-20 12:57:29',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),(25,62,2,NULL,1,'2019-09-20 12:57:29',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),(26,113,2,NULL,1,'2019-09-20 12:57:29',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),(27,101,2,NULL,1,'2019-09-20 12:57:29',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),(28,197,2,NULL,1,'2019-09-20 12:57:29',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),(29,91,2,NULL,1,'2019-09-20 12:57:29',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),(30,125,2,NULL,1,'2019-09-20 12:57:29',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),(31,35,2,NULL,1,'2019-09-20 12:57:29',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),(32,190,2,NULL,1,'2019-09-20 12:57:29',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),(33,151,2,NULL,1,'2019-09-20 12:57:29',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),(34,192,2,NULL,1,'2019-09-20 12:57:29',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),(35,16,2,NULL,1,'2019-09-20 12:57:29',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),(36,36,2,NULL,1,'2019-09-20 12:57:29',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),(37,92,2,NULL,1,'2019-09-20 12:57:29',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),(38,121,2,NULL,1,'2019-09-20 12:57:29',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),(39,89,2,NULL,1,'2019-09-20 12:57:29',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),(40,134,2,NULL,1,'2019-09-20 12:57:29',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),(41,69,2,NULL,1,'2019-09-20 12:57:29',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),(42,153,2,NULL,1,'2019-09-20 12:57:29',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),(43,173,2,NULL,1,'2019-09-20 12:57:29',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),(45,1,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(46,5,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(47,8,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(48,18,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(49,21,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(50,30,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(51,34,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(52,37,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(53,41,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(54,45,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(55,49,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(56,55,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(57,57,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(58,58,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(59,67,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(60,69,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(61,72,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(62,75,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(63,83,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(64,86,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(65,89,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(66,91,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(67,92,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(68,93,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(69,99,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(70,105,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(71,108,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(72,114,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(73,119,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(74,120,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(75,124,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(76,127,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(77,135,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(78,139,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(79,143,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(80,145,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(81,153,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(82,157,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(83,159,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(84,163,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(85,170,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(86,178,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(87,179,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(88,183,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(89,184,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(90,186,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(91,187,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(92,189,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(93,190,4,NULL,1,'2019-09-20 12:57:29',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL),(94,193,4,NULL,1,'2019-09-20 12:57:29',0.00,800.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,'2019-09-20 12:57:29',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL); /*!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,57,10.00,'USD',1,1,'Jones Family','Helping Hands',10),(2,9,57,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,187,10.00,'USD',1,1,'Jones Family','Helping Hands',10),(2,9,187,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`, `config_backend`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,NULL,'5.19.alpha1',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}'); +INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `config_backend`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,NULL,'5.20.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,16,1,'samsonj@testing.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(3,16,1,'juliannsamson@spamalot.biz',0,0,0,0,NULL,NULL,NULL,NULL),(4,103,1,'dimitrov.z.lou@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(5,57,1,'eb.terrell@fishmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(6,57,1,'terrell.b.eleonor@airmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(7,69,1,'tobyd77@fakemail.org',1,0,0,0,NULL,NULL,NULL,NULL),(8,69,1,'dimitrov.toby@notmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(9,193,1,'samsonr@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(10,193,1,'rd.samson61@fishmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(11,169,1,'at.bachman@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(12,169,1,'bachman.ashlie33@infomail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(13,66,1,'jones.esta@testing.net',1,0,0,0,NULL,NULL,NULL,NULL),(14,129,1,'kathleenp@fakemail.com',1,0,0,0,NULL,NULL,NULL,NULL),(15,191,1,'lee.megan@testmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(16,191,1,'leem@fakemail.com',0,0,0,0,NULL,NULL,NULL,NULL),(17,60,1,'estawilson@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),(18,81,1,'kathlynjensen@fishmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(19,81,1,'jensen.kathlyn29@testmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(20,85,1,'heidicooper24@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(21,85,1,'hcooper@infomail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(22,116,1,'kennybarkley@fakemail.com',1,0,0,0,NULL,NULL,NULL,NULL),(23,116,1,'barkley.kenny@testmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(24,177,1,'terrellr@fishmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(25,4,1,'kaceys@airmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(26,4,1,'kaceysmith71@testing.org',0,0,0,0,NULL,NULL,NULL,NULL),(27,24,1,'gonzlezm@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(28,82,1,'shermancooper@testmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(29,30,1,'idaz@testmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(30,114,1,'jz.samson15@fakemail.info',1,0,0,0,NULL,NULL,NULL,NULL),(31,114,1,'samson.z.jed70@example.com',0,0,0,0,NULL,NULL,NULL,NULL),(32,58,1,'deforest.h.jackson@testing.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(33,51,1,'errolprentice@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(34,51,1,'prenticee71@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(35,26,1,'jedprentice73@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(36,42,1,'jameson.jerome@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),(37,42,1,'jeromej@infomail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(38,136,1,'dimitrovb@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(39,75,1,'patelb@example.biz',1,0,0,0,NULL,NULL,NULL,NULL),(40,59,1,'zope.lincoln75@example.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(41,59,1,'lincolnz@spamalot.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(42,22,1,'bachmank79@testmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(43,192,1,'miguelbarkley87@infomail.net',1,0,0,0,NULL,NULL,NULL,NULL),(44,192,1,'miguelbarkley@lol.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(45,119,1,'lawerencej@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(46,119,1,'jonesl@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),(47,95,1,'rterry@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(48,158,1,'jensenb@sample.biz',1,0,0,0,NULL,NULL,NULL,NULL),(49,158,1,'jensenb@mymail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(50,165,1,'ec.reynolds@testmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(51,14,1,'reynolds.kenny@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(52,23,1,'samsonj3@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),(53,67,1,'shaunayadav72@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),(54,67,1,'shaunay87@fishmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(55,89,1,'roberts.elbert@notmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(56,89,1,'roberts.h.elbert27@airmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(57,185,1,'jacobs.ashley@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),(58,185,1,'ashleyj56@fishmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(59,102,1,'aterrell40@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),(60,102,1,'aterrell@mymail.info',0,0,0,0,NULL,NULL,NULL,NULL),(61,68,1,'jz.samson9@example.com',1,0,0,0,NULL,NULL,NULL,NULL),(62,68,1,'julianns@sample.info',0,0,0,0,NULL,NULL,NULL,NULL),(63,134,1,'obarkley33@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(64,141,1,'ci.deforest@notmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(65,7,1,'brittneya54@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(66,7,1,'adams.brittney@testing.net',0,0,0,0,NULL,NULL,NULL,NULL),(67,96,1,'ashleyd@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),(68,96,1,'dimitrova80@sample.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(69,10,1,'ly.cruz@testing.net',1,0,0,0,NULL,NULL,NULL,NULL),(70,10,1,'cruz.y.lashawnda84@mymail.com',0,0,0,0,NULL,NULL,NULL,NULL),(71,87,1,'mcreynolds.lincoln@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(72,73,1,'msamson@sample.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(73,73,1,'samsonm@example.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(74,92,1,'scarletm@notmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(75,157,1,'jgonzlez@fishmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(76,183,1,'kathlynj@testmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(77,183,1,'jameson.f.kathlyn55@infomail.org',0,0,0,0,NULL,NULL,NULL,NULL),(78,105,1,'jameson.maria81@fishmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(79,64,1,'rebekahparker@example.biz',1,0,0,0,NULL,NULL,NULL,NULL),(80,64,1,'parker.rebekah@sample.net',0,0,0,0,NULL,NULL,NULL,NULL),(81,167,1,'cooper.q.claudio31@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),(82,167,1,'cooperc15@fishmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(83,70,1,'cooper.heidi@spamalot.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(84,70,1,'hl.cooper@testmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(85,36,1,'bobcooper16@infomail.info',1,0,0,0,NULL,NULL,NULL,NULL),(86,36,1,'bcooper@mymail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(87,52,1,'cooper.kathlyn41@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(88,52,1,'kathlync80@airmail.info',0,0,0,0,NULL,NULL,NULL,NULL),(89,43,1,'dm.olsen@infomail.org',1,0,0,0,NULL,NULL,NULL,NULL),(90,43,1,'dareno@fakemail.net',0,0,0,0,NULL,NULL,NULL,NULL),(91,47,1,'kiaraolsen@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(92,47,1,'olsen.y.kiara@infomail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(93,153,1,'trumano20@example.net',1,0,0,0,NULL,NULL,NULL,NULL),(94,28,1,'olsen.omar@testing.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(95,28,1,'olseno@notmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(96,146,1,'olsenb@example.org',1,0,0,0,NULL,NULL,NULL,NULL),(97,146,1,'olsenb@airmail.com',0,0,0,0,NULL,NULL,NULL,NULL),(98,150,1,'olsen.carlos@testmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(99,150,1,'olsen.w.carlos@infomail.net',0,0,0,0,NULL,NULL,NULL,NULL),(100,173,1,'rx.yadav@airmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(101,98,1,'kaceyy79@notmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(102,98,1,'kaceyy73@notmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(103,176,1,'yadav-ivanov.v.rebekah@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(104,79,1,'andrewn@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(105,109,1,'nielsent@mymail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(106,109,1,'tobynielsen@infomail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(107,90,1,'nielsens14@sample.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(108,104,1,'scottn@infomail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(109,104,1,'snielsen@airmail.com',0,0,0,0,NULL,NULL,NULL,NULL),(110,8,1,'kathlynnielsen@fakemail.net',1,0,0,0,NULL,NULL,NULL,NULL),(111,8,1,'nielsen.kathlyn80@infomail.net',0,0,0,0,NULL,NULL,NULL,NULL),(112,182,1,'gonzlez-barkleyd87@fishmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(113,41,1,'elbertbarkley@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(114,201,1,'dazr@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(115,138,1,'ar.daz95@infomail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(116,197,1,'daz.delana@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(117,132,1,'bcruz@testmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(118,126,1,'barkleym@lol.info',1,0,0,0,NULL,NULL,NULL,NULL),(119,126,1,'barkley.magan@example.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(120,55,1,'erikc25@airmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(121,161,1,'scruz-barkley@testing.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(122,29,1,'arlyne@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(123,29,1,'chowski-cooper.arlyne@testing.org',0,0,0,0,NULL,NULL,NULL,NULL),(124,34,1,'chowski-cooper.brigette78@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(125,34,1,'brigette75@lol.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(126,163,1,'reynolds.margaret99@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(127,76,1,'reynolds.c.teresa74@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(128,76,1,'reynolds.c.teresa50@mymail.org',0,0,0,0,NULL,NULL,NULL,NULL),(129,117,1,'irisjones73@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(130,166,1,'ax.jones@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(131,200,1,'jones.rosario43@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(132,159,1,'terry.a.elizabeth@fakemail.com',1,0,0,0,NULL,NULL,NULL,NULL),(133,189,1,'omarcooper@sample.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(134,189,1,'ocooper@lol.biz',0,0,0,0,NULL,NULL,NULL,NULL),(135,160,1,'jensen.y.delana@fakemail.net',1,0,0,0,NULL,NULL,NULL,NULL),(136,160,1,'jensend@spamalot.biz',0,0,0,0,NULL,NULL,NULL,NULL),(137,120,1,'ccooper-jensen@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),(138,120,1,'ccooper-jensen@sample.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(139,186,1,'cooper-jensenr89@infomail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(140,186,1,'cooper-jensen.rebekah@testing.com',0,0,0,0,NULL,NULL,NULL,NULL),(141,49,1,'mcreynolds.o.brent60@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(142,49,1,'bo.mcreynolds@example.net',0,0,0,0,NULL,NULL,NULL,NULL),(143,46,1,'rolandomcreynolds52@airmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(144,125,1,'omarjones84@notmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(145,125,1,'joneso31@example.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(146,171,1,'rebekahs@testmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(147,171,1,'rebekahs@notmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(148,111,1,'sjones80@notmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(149,6,1,'lee.brent@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(150,6,1,'brentl@testing.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(151,20,1,'landonlee@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(152,20,1,'leel10@infomail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(153,101,1,'rz.samson-barkley@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(154,101,1,'rebekahsamson-barkley85@infomail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(155,91,3,'info@rsempowermentassociation.org',1,0,0,0,NULL,NULL,NULL,NULL),(156,105,2,'mariaj@rsempowermentassociation.org',0,0,0,0,NULL,NULL,NULL,NULL),(157,54,3,'feedback@poquosonwellnesstrust.org',1,0,0,0,NULL,NULL,NULL,NULL),(158,136,2,'dimitrov.m.barry38@poquosonwellnesstrust.org',0,0,0,0,NULL,NULL,NULL,NULL),(159,72,3,'feedback@bradfordliteracysolutions.org',1,0,0,0,NULL,NULL,NULL,NULL),(160,153,2,'@bradfordliteracysolutions.org',0,0,0,0,NULL,NULL,NULL,NULL),(161,155,3,'sales@bassettalliance.org',1,0,0,0,NULL,NULL,NULL,NULL),(162,90,2,'@bassettalliance.org',0,0,0,0,NULL,NULL,NULL,NULL),(163,196,3,'contact@paartsacademy.org',1,0,0,0,NULL,NULL,NULL,NULL),(164,4,2,'ksmith@paartsacademy.org',0,0,0,0,NULL,NULL,NULL,NULL),(165,162,3,'info@unitedaction.org',1,0,0,0,NULL,NULL,NULL,NULL),(166,159,2,'elizabethterry@unitedaction.org',0,0,0,0,NULL,NULL,NULL,NULL),(167,19,3,'feedback@addytrust.org',1,0,0,0,NULL,NULL,NULL,NULL),(168,180,2,'samson-barkleyc89@addytrust.org',1,0,0,0,NULL,NULL,NULL,NULL),(169,65,3,'info@friendstechnologytrust.org',1,0,0,0,NULL,NULL,NULL,NULL),(170,200,2,'jonesr53@friendstechnologytrust.org',0,0,0,0,NULL,NULL,NULL,NULL),(171,142,3,'feedback@pinepoetrycenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(172,40,2,'wilson.santina50@pinepoetrycenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(173,145,3,'contact@localcenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(174,147,2,'nielsen.ashley@localcenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(175,184,3,'feedback@friendsfood.org',1,0,0,0,NULL,NULL,NULL,NULL),(176,173,2,'42@friendsfood.org',0,0,0,0,NULL,NULL,NULL,NULL),(177,156,3,'contact@mississippipeacecollective.org',1,0,0,0,NULL,NULL,NULL,NULL),(178,150,2,'carloso@mississippipeacecollective.org',0,0,0,0,NULL,NULL,NULL,NULL),(179,143,3,'service@mlkingagriculture.org',1,0,0,0,NULL,NULL,NULL,NULL),(180,118,2,'mnielsen@mlkingagriculture.org',1,0,0,0,NULL,NULL,NULL,NULL),(181,121,3,'sales@localeducationfellowship.org',1,0,0,0,NULL,NULL,NULL,NULL),(182,16,2,'juliannsamson@localeducationfellowship.org',0,0,0,0,NULL,NULL,NULL,NULL),(183,139,3,'service@kentuckycenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(184,43,2,'dareno@kentuckycenter.org',0,0,0,0,NULL,NULL,NULL,NULL),(185,137,3,'contact@globalnetwork.org',1,0,0,0,NULL,NULL,NULL,NULL),(186,NULL,1,'development@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(187,NULL,1,'tournaments@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(188,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,167,1,'brzczysawdeforest@airmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(3,167,1,'deforestb67@fishmail.info',0,0,0,0,NULL,NULL,NULL,NULL),(4,144,1,'lashawndad74@notmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(5,65,1,'nielsen.jacob67@lol.com',1,0,0,0,NULL,NULL,NULL,NULL),(6,187,1,'roberts.kandace@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(7,187,1,'roberts.kandace@testmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(8,174,1,'nielsen.jackson@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(9,62,1,'barkley.esta@fakemail.com',1,0,0,0,NULL,NULL,NULL,NULL),(10,87,1,'margaretbachman84@testmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(11,129,1,'au.jones51@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),(12,129,1,'au.jones51@notmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(13,116,1,'jacobsj@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),(14,116,1,'jacobsj11@testmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(15,67,1,'rolandosamson@example.info',1,0,0,0,NULL,NULL,NULL,NULL),(16,152,1,'jacobs.shad@testmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(17,152,1,'jacobs.m.shad25@spamalot.org',0,0,0,0,NULL,NULL,NULL,NULL),(18,127,1,'prenticej28@fakemail.org',1,0,0,0,NULL,NULL,NULL,NULL),(19,127,1,'jeromeprentice96@fishmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(20,198,1,'olsen.brigette84@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(21,198,1,'olsen.brigette68@fakemail.org',0,0,0,0,NULL,NULL,NULL,NULL),(22,181,1,'robertsonr@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(23,30,1,'mller.errol@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(24,79,1,'reynolds.t.andrew2@testmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(25,64,1,'mller.miguel@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(26,120,1,'teresap@notmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(27,120,1,'teresapatel@infomail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(28,6,1,'jacksong80@lol.com',1,0,0,0,NULL,NULL,NULL,NULL),(29,201,1,'yadavi95@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(30,201,1,'yadavi@infomail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(31,171,1,'tc.dimitrov@testing.net',1,0,0,0,NULL,NULL,NULL,NULL),(32,158,1,'claudiocruz91@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),(33,158,1,'claudiocruz24@testing.info',0,0,0,0,NULL,NULL,NULL,NULL),(34,70,1,'dimitrovi56@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),(35,41,1,'lee.beula85@testing.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(36,73,1,'adamss@example.info',1,0,0,0,NULL,NULL,NULL,NULL),(37,114,1,'adams.t.ashley@lol.biz',1,0,0,0,NULL,NULL,NULL,NULL),(38,114,1,'adams.t.ashley74@sample.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(39,34,1,'irisc@lol.com',1,0,0,0,NULL,NULL,NULL,NULL),(40,34,1,'icooper@spamalot.com',0,0,0,0,NULL,NULL,NULL,NULL),(41,16,1,'errollee@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(42,19,1,'adams.roland48@testing.org',1,0,0,0,NULL,NULL,NULL,NULL),(43,180,1,'jones.miguel35@sample.com',1,0,0,0,NULL,NULL,NULL,NULL),(44,180,1,'mjones96@testing.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(45,92,1,'smith.v.kathlyn37@mymail.com',1,0,0,0,NULL,NULL,NULL,NULL),(46,92,1,'kathlyns70@testmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(47,36,1,'scarleti@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(48,2,1,'sivanov56@lol.com',1,0,0,0,NULL,NULL,NULL,NULL),(49,55,1,'ivanov.bernadette76@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),(50,121,1,'deforest.princess@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),(51,121,1,'deforestp@example.com',0,0,0,0,NULL,NULL,NULL,NULL),(52,102,1,'russelljensen@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(53,104,1,'mller.beula@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(54,45,1,'olsene85@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(55,9,1,'bu.barkley@fishmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),(56,128,1,'landondimitrov24@fakemail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(57,103,1,'bcruz@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(58,103,1,'cruzb@notmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(59,78,1,'arlynesamson78@infomail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(60,78,1,'samson.arlyne94@testmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(61,97,1,'brigettey21@testing.org',1,0,0,0,NULL,NULL,NULL,NULL),(62,97,1,'brigetteyadav10@lol.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(63,117,1,'olsen.shauna35@infomail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(64,39,1,'josefad@infomail.org',1,0,0,0,NULL,NULL,NULL,NULL),(65,131,1,'jacksonterrell@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(66,131,1,'terrell.k.jackson98@fakemail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(67,111,1,'jacobgonzlez@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(68,111,1,'gonzlez.jacob@notmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(69,118,1,'jensen.rolando57@lol.biz',1,0,0,0,NULL,NULL,NULL,NULL),(70,118,1,'jensenr90@airmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(71,148,1,'adamsh25@airmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(72,119,1,'jones.t.bob85@fishmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(73,119,1,'jones.bob@fakemail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(74,53,1,'tjameson80@testmail.org',1,0,0,0,NULL,NULL,NULL,NULL),(75,53,1,'teddyjameson@fakemail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(76,162,1,'barkleyb@sample.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(77,162,1,'barkley.bernadette@fishmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(78,139,1,'cq.jacobs@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(79,139,1,'jacobs.q.carylon@fakemail.info',0,0,0,0,NULL,NULL,NULL,NULL),(80,126,1,'cruz.errol3@infomail.info',1,0,0,0,NULL,NULL,NULL,NULL),(81,126,1,'errolc@airmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(82,140,1,'reynoldsa82@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(83,140,1,'reynolds.allan54@sample.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(84,49,1,'jonesp@mymail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(85,80,1,'sadams26@notmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(86,122,1,'mller.ashley@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(87,122,1,'amller@infomail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(88,149,1,'dimitrov.kathlyn@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),(89,149,1,'kathlyndimitrov@mymail.com',0,0,0,0,NULL,NULL,NULL,NULL),(90,94,1,'bryond@notmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(91,94,1,'dimitrov.bryon75@notmail.org',0,0,0,0,NULL,NULL,NULL,NULL),(92,179,1,'dimitrov.maxwell@testmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(93,179,1,'dimitrov.maxwell72@notmail.info',0,0,0,0,NULL,NULL,NULL,NULL),(94,3,1,'mllert72@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),(95,3,1,'tmller@spamalot.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(96,37,1,'ivanov-mller.d.santina56@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),(97,37,1,'ivanov-mller.santina@spamalot.org',0,0,0,0,NULL,NULL,NULL,NULL),(98,99,1,'mllerm@spamalot.org',1,0,0,0,NULL,NULL,NULL,NULL),(99,99,1,'mller.mei42@sample.net',0,0,0,0,NULL,NULL,NULL,NULL),(100,72,1,'ivanov.herminia73@infomail.org',1,0,0,0,NULL,NULL,NULL,NULL),(101,69,1,'parkera@fakemail.info',1,0,0,0,NULL,NULL,NULL,NULL),(102,82,1,'parkerj66@testing.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(103,82,1,'parker.q.josefa@fakemail.info',0,0,0,0,NULL,NULL,NULL,NULL),(104,51,1,'darenparker@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(105,5,1,'parker.claudio@spamalot.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(106,5,1,'ch.parker58@sample.net',0,0,0,0,NULL,NULL,NULL,NULL),(107,109,1,'bjensen43@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(108,165,1,'jensene@airmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(109,165,1,'estajensen@lol.org',0,0,0,0,NULL,NULL,NULL,NULL),(110,59,1,'jensens@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),(111,124,1,'irvinz@fakemail.info',1,0,0,0,NULL,NULL,NULL,NULL),(112,44,1,'patell90@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(113,44,1,'patel.lashawnda@testing.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(114,170,1,'zope-patel.toby@fishmail.com',1,0,0,0,NULL,NULL,NULL,NULL),(115,170,1,'zope-patel.toby@fishmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(116,142,1,'kzope-patel73@example.com',1,0,0,0,NULL,NULL,NULL,NULL),(117,142,1,'kzope-patel@testing.net',0,0,0,0,NULL,NULL,NULL,NULL),(118,25,1,'ta.samuels@airmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(119,106,1,'samuelsa@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(120,43,1,'nielsen.omar@airmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),(121,43,1,'nielseno@infomail.biz',0,0,0,0,NULL,NULL,NULL,NULL),(122,91,1,'valenemcreynolds@example.biz',1,0,0,0,NULL,NULL,NULL,NULL),(123,91,1,'vk.mcreynolds32@lol.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(124,20,1,'nielsen-mcreynolds.angelika@infomail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(125,20,1,'anielsen-mcreynolds@infomail.info',0,0,0,0,NULL,NULL,NULL,NULL),(126,195,1,'carlosl@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(127,169,1,'jones-lee.brigette@testmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(128,169,1,'jones-lee.brigette@mymail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(129,194,1,'jones-leee79@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),(130,7,1,'jacksoni@example.info',1,0,0,0,NULL,NULL,NULL,NULL),(131,68,1,'herminiad38@lol.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(132,68,1,'hm.deforest-ivanov@infomail.com',0,0,0,0,NULL,NULL,NULL,NULL),(133,188,1,'ivanov.heidi@infomail.info',1,0,0,0,NULL,NULL,NULL,NULL),(134,188,1,'ivanovh@testing.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(135,166,1,'ivanovr@example.org',1,0,0,0,NULL,NULL,NULL,NULL),(136,105,1,'smiths@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),(137,58,1,'jacobs-jamesonr19@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(138,58,1,'jacobs-jamesonr51@testing.com',0,0,0,0,NULL,NULL,NULL,NULL),(139,23,1,'nielsen.felisha@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(140,38,1,'bobn@spamalot.info',1,0,0,0,NULL,NULL,NULL,NULL),(141,184,1,'aj.nielsen@lol.info',1,0,0,0,NULL,NULL,NULL,NULL),(142,184,1,'nielsen.j.angelika@lol.org',0,0,0,0,NULL,NULL,NULL,NULL),(143,28,1,'ivanov.q.jerome37@spamalot.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(144,28,1,'jeromei71@fishmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(145,85,1,'josefanielsen36@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),(146,18,1,'mivanov-nielsen84@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),(147,177,1,'ji.jones48@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(148,177,1,'jones.i.josefa@lol.co.in',0,0,0,0,NULL,NULL,NULL,NULL),(149,24,1,'jacobs-jones.x.teresa11@example.net',1,0,0,0,NULL,NULL,NULL,NULL),(150,24,1,'teresajacobs-jones@notmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(151,132,1,'jones.errol@lol.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(152,132,1,'errolj@example.info',0,0,0,0,NULL,NULL,NULL,NULL),(153,8,1,'ry.bachman@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(154,8,1,'rodrigobachman@testing.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),(155,10,1,'bachman.delana@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(156,10,1,'bachman.delana@fishmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),(157,54,1,'yadav.bryon@testmail.info',1,0,0,0,NULL,NULL,NULL,NULL),(158,54,1,'bryonyadav@infomail.net',0,0,0,0,NULL,NULL,NULL,NULL),(159,130,1,'meganyadav@testing.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(160,130,1,'ms.yadav@spamalot.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),(161,22,1,'jeromey@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),(162,66,1,'teresayadav@testing.net',1,0,0,0,NULL,NULL,NULL,NULL),(163,183,1,'ljacobs3@example.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),(164,189,1,'jacobs.d.bernadette66@testing.net',1,0,0,0,NULL,NULL,NULL,NULL),(165,26,1,'craigj38@fakemail.info',1,0,0,0,NULL,NULL,NULL,NULL),(166,40,1,'cf.jacobs@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),(167,40,1,'claudiojacobs@spamalot.net',0,0,0,0,NULL,NULL,NULL,NULL),(168,17,1,'elinaj58@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),(169,17,1,'jacobs.p.elina75@fishmail.net',0,0,0,0,NULL,NULL,NULL,NULL),(170,46,1,'deforest.j.kandace36@lol.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),(171,46,1,'deforest.j.kandace@fakemail.net',0,0,0,0,NULL,NULL,NULL,NULL),(172,60,1,'clintdeforest94@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),(173,95,1,'megandeforest@infomail.org',1,0,0,0,NULL,NULL,NULL,NULL),(174,93,3,'service@ecadvocacycollective.org',1,0,0,0,NULL,NULL,NULL,NULL),(175,103,2,'cruz.bob@ecadvocacycollective.org',0,0,0,0,NULL,NULL,NULL,NULL),(176,56,3,'info@missouriarts.org',1,0,0,0,NULL,NULL,NULL,NULL),(177,182,3,'info@cheshireaction.org',1,0,0,0,NULL,NULL,NULL,NULL),(178,39,2,'jo.deforest42@cheshireaction.org',0,0,0,0,NULL,NULL,NULL,NULL),(179,191,3,'feedback@wmsportsschool.org',1,0,0,0,NULL,NULL,NULL,NULL),(180,48,2,'jensenk16@wmsportsschool.org',1,0,0,0,NULL,NULL,NULL,NULL),(181,186,3,'info@texastechnologypartners.org',1,0,0,0,NULL,NULL,NULL,NULL),(182,61,3,'feedback@atlantaagriculturesolutions.org',1,0,0,0,NULL,NULL,NULL,NULL),(183,138,3,'feedback@globalsportstrust.org',1,0,0,0,NULL,NULL,NULL,NULL),(184,134,2,'ashliejacobs88@globalsportstrust.org',1,0,0,0,NULL,NULL,NULL,NULL),(185,83,3,'service@lcdevelopmentfellowship.org',1,0,0,0,NULL,NULL,NULL,NULL),(186,28,2,'jeromei52@lcdevelopmentfellowship.org',0,0,0,0,NULL,NULL,NULL,NULL),(187,172,3,'service@localmusicalliance.org',1,0,0,0,NULL,NULL,NULL,NULL),(188,63,2,'lareeivanov@localmusicalliance.org',1,0,0,0,NULL,NULL,NULL,NULL),(189,47,3,'contact@simpsontechnologytrust.org',1,0,0,0,NULL,NULL,NULL,NULL),(190,162,2,'bernadettebarkley@simpsontechnologytrust.org',0,0,0,0,NULL,NULL,NULL,NULL),(191,175,3,'contact@bakerpeacesolutions.org',1,0,0,0,NULL,NULL,NULL,NULL),(192,161,2,'jacobss@bakerpeacesolutions.org',1,0,0,0,NULL,NULL,NULL,NULL),(193,160,3,'info@maincenter.org',1,0,0,0,NULL,NULL,NULL,NULL),(194,149,2,'kathlynd74@maincenter.org',0,0,0,0,NULL,NULL,NULL,NULL),(195,4,3,'contact@statescollective.org',1,0,0,0,NULL,NULL,NULL,NULL),(196,185,2,'br.jones99@statescollective.org',1,0,0,0,NULL,NULL,NULL,NULL),(197,96,3,'sales@northpointpoetry.org',1,0,0,0,NULL,NULL,NULL,NULL),(198,60,2,'deforest.clint@northpointpoetry.org',0,0,0,0,NULL,NULL,NULL,NULL),(199,98,3,'service@baywellnesspartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),(200,117,2,'shaunaolsen32@baywellnesspartnership.org',0,0,0,0,NULL,NULL,NULL,NULL),(201,NULL,1,'development@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(202,NULL,1,'tournaments@example.org',0,0,0,0,NULL,NULL,NULL,NULL),(203,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',79,44,50.00),(88,'civicrm_financial_item',44,44,50.00),(89,'civicrm_contribution',52,45,50.00),(90,'civicrm_financial_item',45,45,50.00),(91,'civicrm_contribution',83,46,50.00),(92,'civicrm_financial_item',46,46,50.00),(93,'civicrm_contribution',72,47,50.00),(94,'civicrm_financial_item',47,47,50.00),(95,'civicrm_contribution',49,48,50.00),(96,'civicrm_financial_item',48,48,50.00),(97,'civicrm_contribution',92,49,50.00),(98,'civicrm_financial_item',49,49,50.00),(99,'civicrm_contribution',57,50,50.00),(100,'civicrm_financial_item',50,50,50.00),(101,'civicrm_contribution',53,51,50.00),(102,'civicrm_financial_item',51,51,50.00),(103,'civicrm_contribution',75,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',62,54,50.00),(108,'civicrm_financial_item',54,54,50.00),(109,'civicrm_contribution',66,55,50.00),(110,'civicrm_financial_item',55,55,50.00),(111,'civicrm_contribution',86,56,50.00),(112,'civicrm_financial_item',56,56,50.00),(113,'civicrm_contribution',93,57,50.00),(114,'civicrm_financial_item',57,57,50.00),(115,'civicrm_contribution',63,58,50.00),(116,'civicrm_financial_item',58,58,50.00),(117,'civicrm_contribution',90,59,50.00),(118,'civicrm_financial_item',59,59,50.00),(119,'civicrm_contribution',58,60,800.00),(120,'civicrm_financial_item',60,60,800.00),(121,'civicrm_contribution',60,61,800.00),(122,'civicrm_financial_item',61,61,800.00),(123,'civicrm_contribution',77,62,800.00),(124,'civicrm_financial_item',62,62,800.00),(125,'civicrm_contribution',69,63,800.00),(126,'civicrm_financial_item',63,63,800.00),(127,'civicrm_contribution',61,64,800.00),(128,'civicrm_financial_item',64,64,800.00),(129,'civicrm_contribution',88,65,800.00),(130,'civicrm_financial_item',65,65,800.00),(131,'civicrm_contribution',87,66,800.00),(132,'civicrm_financial_item',66,66,800.00),(133,'civicrm_contribution',45,67,800.00),(134,'civicrm_financial_item',67,67,800.00),(135,'civicrm_contribution',71,68,800.00),(136,'civicrm_financial_item',68,68,800.00),(137,'civicrm_contribution',46,69,800.00),(138,'civicrm_financial_item',69,69,800.00),(139,'civicrm_contribution',80,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',51,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',89,74,800.00),(148,'civicrm_financial_item',74,74,800.00),(149,'civicrm_contribution',74,75,800.00),(150,'civicrm_financial_item',75,75,800.00),(151,'civicrm_contribution',81,76,800.00),(152,'civicrm_financial_item',76,76,800.00),(153,'civicrm_contribution',82,77,800.00),(154,'civicrm_financial_item',77,77,800.00),(155,'civicrm_contribution',78,78,50.00),(156,'civicrm_financial_item',78,78,50.00),(157,'civicrm_contribution',70,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',47,81,50.00),(162,'civicrm_financial_item',81,81,50.00),(163,'civicrm_contribution',59,82,50.00),(164,'civicrm_financial_item',82,82,50.00),(165,'civicrm_contribution',68,83,50.00),(166,'civicrm_financial_item',83,83,50.00),(167,'civicrm_contribution',73,84,50.00),(168,'civicrm_financial_item',84,84,50.00),(169,'civicrm_contribution',65,85,50.00),(170,'civicrm_financial_item',85,85,50.00),(171,'civicrm_contribution',56,86,50.00),(172,'civicrm_financial_item',86,86,50.00),(173,'civicrm_contribution',91,87,50.00),(174,'civicrm_financial_item',87,87,50.00),(175,'civicrm_contribution',64,88,50.00),(176,'civicrm_financial_item',88,88,50.00),(177,'civicrm_contribution',85,89,50.00),(178,'civicrm_financial_item',89,89,50.00),(179,'civicrm_contribution',76,90,50.00),(180,'civicrm_financial_item',90,90,50.00),(181,'civicrm_contribution',55,91,50.00),(182,'civicrm_financial_item',91,91,50.00),(183,'civicrm_contribution',94,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',56,44,50.00),(88,'civicrm_financial_item',44,44,50.00),(89,'civicrm_contribution',85,45,50.00),(90,'civicrm_financial_item',45,45,50.00),(91,'civicrm_contribution',76,46,50.00),(92,'civicrm_financial_item',46,46,50.00),(93,'civicrm_contribution',71,47,50.00),(94,'civicrm_financial_item',47,47,50.00),(95,'civicrm_contribution',92,48,50.00),(96,'civicrm_financial_item',48,48,50.00),(97,'civicrm_contribution',67,49,50.00),(98,'civicrm_financial_item',49,49,50.00),(99,'civicrm_contribution',66,50,50.00),(100,'civicrm_financial_item',50,50,50.00),(101,'civicrm_contribution',72,51,50.00),(102,'civicrm_financial_item',51,51,50.00),(103,'civicrm_contribution',83,52,50.00),(104,'civicrm_financial_item',52,52,50.00),(105,'civicrm_contribution',87,53,50.00),(106,'civicrm_financial_item',53,53,50.00),(107,'civicrm_contribution',48,54,50.00),(108,'civicrm_financial_item',54,54,50.00),(109,'civicrm_contribution',57,55,50.00),(110,'civicrm_financial_item',55,55,50.00),(111,'civicrm_contribution',84,56,50.00),(112,'civicrm_financial_item',56,56,50.00),(113,'civicrm_contribution',93,57,50.00),(114,'civicrm_financial_item',57,57,50.00),(115,'civicrm_contribution',78,58,50.00),(116,'civicrm_financial_item',58,58,50.00),(117,'civicrm_contribution',77,59,50.00),(118,'civicrm_financial_item',59,59,50.00),(119,'civicrm_contribution',69,60,800.00),(120,'civicrm_financial_item',60,60,800.00),(121,'civicrm_contribution',91,61,800.00),(122,'civicrm_financial_item',61,61,800.00),(123,'civicrm_contribution',63,62,800.00),(124,'civicrm_financial_item',62,62,800.00),(125,'civicrm_contribution',80,63,800.00),(126,'civicrm_financial_item',63,63,800.00),(127,'civicrm_contribution',70,64,800.00),(128,'civicrm_financial_item',64,64,800.00),(129,'civicrm_contribution',73,65,800.00),(130,'civicrm_financial_item',65,65,800.00),(131,'civicrm_contribution',55,66,800.00),(132,'civicrm_financial_item',66,66,800.00),(133,'civicrm_contribution',88,67,800.00),(134,'civicrm_financial_item',67,67,800.00),(135,'civicrm_contribution',46,68,800.00),(136,'civicrm_financial_item',68,68,800.00),(137,'civicrm_contribution',94,69,800.00),(138,'civicrm_financial_item',69,69,800.00),(139,'civicrm_contribution',64,70,800.00),(140,'civicrm_financial_item',70,70,800.00),(141,'civicrm_contribution',62,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',89,73,800.00),(146,'civicrm_financial_item',73,73,800.00),(147,'civicrm_contribution',60,74,800.00),(148,'civicrm_financial_item',74,74,800.00),(149,'civicrm_contribution',47,75,800.00),(150,'civicrm_financial_item',75,75,800.00),(151,'civicrm_contribution',82,76,800.00),(152,'civicrm_financial_item',76,76,800.00),(153,'civicrm_contribution',65,77,800.00),(154,'civicrm_financial_item',77,77,800.00),(155,'civicrm_contribution',90,78,50.00),(156,'civicrm_financial_item',78,78,50.00),(157,'civicrm_contribution',79,79,50.00),(158,'civicrm_financial_item',79,79,50.00),(159,'civicrm_contribution',52,80,50.00),(160,'civicrm_financial_item',80,80,50.00),(161,'civicrm_contribution',75,81,50.00),(162,'civicrm_financial_item',81,81,50.00),(163,'civicrm_contribution',86,82,50.00),(164,'civicrm_financial_item',82,82,50.00),(165,'civicrm_contribution',68,83,50.00),(166,'civicrm_financial_item',83,83,50.00),(167,'civicrm_contribution',50,84,50.00),(168,'civicrm_financial_item',84,84,50.00),(169,'civicrm_contribution',81,85,50.00),(170,'civicrm_financial_item',85,85,50.00),(171,'civicrm_contribution',53,86,50.00),(172,'civicrm_financial_item',86,86,50.00),(173,'civicrm_contribution',74,87,50.00),(174,'civicrm_financial_item',87,87,50.00),(175,'civicrm_contribution',45,88,50.00),(176,'civicrm_financial_item',88,88,50.00),(177,'civicrm_contribution',58,89,50.00),(178,'civicrm_financial_item',89,89,50.00),(179,'civicrm_contribution',49,90,50.00),(180,'civicrm_financial_item',90,90,50.00),(181,'civicrm_contribution',51,91,50.00),(182,'civicrm_financial_item',91,91,50.00),(183,'civicrm_contribution',54,92,50.00),(184,'civicrm_financial_item',92,92,50.00),(185,'civicrm_contribution',59,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 (28,'civicrm_contact',4,5),(107,'civicrm_contact',6,4),(108,'civicrm_contact',6,5),(55,'civicrm_contact',7,5),(56,'civicrm_contact',10,5),(49,'civicrm_contact',14,5),(36,'civicrm_contact',15,4),(37,'civicrm_contact',15,5),(11,'civicrm_contact',16,4),(6,'civicrm_contact',19,2),(109,'civicrm_contact',20,5),(45,'civicrm_contact',22,5),(50,'civicrm_contact',23,5),(29,'civicrm_contact',24,4),(30,'civicrm_contact',24,5),(106,'civicrm_contact',25,5),(38,'civicrm_contact',26,5),(71,'civicrm_contact',28,5),(90,'civicrm_contact',29,5),(31,'civicrm_contact',30,4),(32,'civicrm_contact',30,5),(64,'civicrm_contact',35,5),(66,'civicrm_contact',36,4),(67,'civicrm_contact',36,5),(43,'civicrm_contact',38,4),(93,'civicrm_contact',39,4),(94,'civicrm_contact',39,5),(81,'civicrm_contact',41,4),(39,'civicrm_contact',42,4),(40,'civicrm_contact',42,5),(68,'civicrm_contact',43,5),(91,'civicrm_contact',44,4),(104,'civicrm_contact',46,5),(15,'civicrm_contact',48,4),(16,'civicrm_contact',48,5),(103,'civicrm_contact',49,4),(98,'civicrm_contact',53,5),(2,'civicrm_contact',54,2),(87,'civicrm_contact',55,4),(19,'civicrm_contact',66,4),(20,'civicrm_contact',66,5),(53,'civicrm_contact',68,4),(13,'civicrm_contact',69,4),(14,'civicrm_contact',69,5),(75,'civicrm_contact',79,5),(25,'civicrm_contact',81,4),(26,'civicrm_contact',81,5),(88,'civicrm_contact',84,4),(89,'civicrm_contact',84,5),(82,'civicrm_contact',88,4),(1,'civicrm_contact',91,2),(35,'civicrm_contact',94,5),(47,'civicrm_contact',95,5),(74,'civicrm_contact',98,5),(12,'civicrm_contact',103,5),(78,'civicrm_contact',104,4),(77,'civicrm_contact',109,5),(4,'civicrm_contact',110,3),(51,'civicrm_contact',113,5),(27,'civicrm_contact',116,5),(42,'civicrm_contact',118,5),(46,'civicrm_contact',119,5),(101,'civicrm_contact',120,4),(102,'civicrm_contact',120,5),(58,'civicrm_contact',122,5),(105,'civicrm_contact',125,4),(18,'civicrm_contact',128,4),(22,'civicrm_contact',129,4),(23,'civicrm_contact',129,5),(85,'civicrm_contact',132,4),(86,'civicrm_contact',132,5),(54,'civicrm_contact',134,4),(41,'civicrm_contact',136,5),(83,'civicrm_contact',138,4),(84,'civicrm_contact',138,5),(10,'civicrm_contact',139,1),(7,'civicrm_contact',142,2),(9,'civicrm_contact',143,2),(72,'civicrm_contact',146,5),(44,'civicrm_contact',148,5),(110,'civicrm_contact',151,5),(69,'civicrm_contact',153,4),(70,'civicrm_contact',153,5),(34,'civicrm_contact',154,4),(3,'civicrm_contact',155,2),(60,'civicrm_contact',157,5),(48,'civicrm_contact',158,4),(96,'civicrm_contact',159,4),(97,'civicrm_contact',159,5),(92,'civicrm_contact',163,5),(95,'civicrm_contact',166,4),(65,'civicrm_contact',167,4),(79,'civicrm_contact',168,4),(80,'civicrm_contact',168,5),(17,'civicrm_contact',169,5),(21,'civicrm_contact',170,4),(33,'civicrm_contact',172,4),(73,'civicrm_contact',173,5),(59,'civicrm_contact',175,5),(76,'civicrm_contact',178,4),(111,'civicrm_contact',180,4),(112,'civicrm_contact',180,5),(63,'civicrm_contact',181,5),(8,'civicrm_contact',184,3),(52,'civicrm_contact',185,5),(99,'civicrm_contact',189,4),(100,'civicrm_contact',189,5),(24,'civicrm_contact',191,4),(57,'civicrm_contact',194,4),(5,'civicrm_contact',196,1),(61,'civicrm_contact',198,4),(62,'civicrm_contact',198,5); +INSERT INTO `civicrm_entity_tag` (`id`, `entity_table`, `entity_id`, `tag_id`) VALUES (68,'civicrm_contact',3,4),(69,'civicrm_contact',3,5),(88,'civicrm_contact',7,5),(104,'civicrm_contact',8,5),(47,'civicrm_contact',9,4),(48,'civicrm_contact',9,5),(105,'civicrm_contact',10,5),(99,'civicrm_contact',13,4),(36,'civicrm_contact',16,4),(85,'civicrm_contact',20,5),(108,'civicrm_contact',22,4),(82,'civicrm_contact',25,4),(98,'civicrm_contact',28,4),(72,'civicrm_contact',35,4),(40,'civicrm_contact',36,4),(41,'civicrm_contact',36,5),(97,'civicrm_contact',38,4),(113,'civicrm_contact',40,4),(32,'civicrm_contact',41,5),(7,'civicrm_contact',42,3),(84,'civicrm_contact',43,4),(65,'civicrm_contact',49,4),(76,'civicrm_contact',51,4),(77,'civicrm_contact',51,5),(60,'civicrm_contact',53,4),(106,'civicrm_contact',54,4),(107,'civicrm_contact',54,5),(42,'civicrm_contact',55,5),(3,'civicrm_contact',56,2),(94,'civicrm_contact',58,4),(79,'civicrm_contact',59,4),(116,'civicrm_contact',60,4),(117,'civicrm_contact',60,5),(5,'civicrm_contact',61,3),(14,'civicrm_contact',62,5),(27,'civicrm_contact',63,4),(28,'civicrm_contact',63,5),(12,'civicrm_contact',65,4),(18,'civicrm_contact',67,5),(74,'civicrm_contact',69,4),(75,'civicrm_contact',69,5),(49,'civicrm_contact',77,5),(58,'civicrm_contact',81,4),(59,'civicrm_contact',81,5),(6,'civicrm_contact',83,2),(37,'civicrm_contact',89,4),(114,'civicrm_contact',90,4),(115,'civicrm_contact',90,5),(67,'civicrm_contact',94,4),(10,'civicrm_contact',96,1),(70,'civicrm_contact',99,4),(71,'civicrm_contact',99,5),(61,'civicrm_contact',101,4),(44,'civicrm_contact',102,4),(45,'civicrm_contact',102,5),(46,'civicrm_contact',104,5),(90,'civicrm_contact',105,4),(91,'civicrm_contact',105,5),(83,'civicrm_contact',106,4),(95,'civicrm_contact',108,4),(96,'civicrm_contact',108,5),(78,'civicrm_contact',109,4),(24,'civicrm_contact',113,5),(34,'civicrm_contact',114,4),(35,'civicrm_contact',114,5),(21,'civicrm_contact',115,4),(54,'civicrm_contact',117,4),(55,'civicrm_contact',117,5),(57,'civicrm_contact',118,4),(25,'civicrm_contact',120,4),(26,'civicrm_contact',120,5),(43,'civicrm_contact',121,5),(66,'civicrm_contact',122,4),(80,'civicrm_contact',124,4),(63,'civicrm_contact',126,4),(64,'civicrm_contact',126,5),(19,'civicrm_contact',127,4),(15,'civicrm_contact',129,4),(16,'civicrm_contact',129,5),(56,'civicrm_contact',131,5),(102,'civicrm_contact',132,4),(103,'civicrm_contact',132,5),(112,'civicrm_contact',133,5),(1,'civicrm_contact',137,3),(33,'civicrm_contact',151,5),(22,'civicrm_contact',153,4),(23,'civicrm_contact',153,5),(13,'civicrm_contact',155,4),(50,'civicrm_contact',156,4),(51,'civicrm_contact',156,5),(31,'civicrm_contact',158,4),(9,'civicrm_contact',160,3),(93,'civicrm_contact',161,5),(109,'civicrm_contact',163,4),(11,'civicrm_contact',167,4),(2,'civicrm_contact',168,1),(87,'civicrm_contact',169,5),(81,'civicrm_contact',170,4),(29,'civicrm_contact',171,4),(30,'civicrm_contact',171,5),(8,'civicrm_contact',175,2),(100,'civicrm_contact',177,4),(101,'civicrm_contact',177,5),(92,'civicrm_contact',178,4),(38,'civicrm_contact',180,4),(39,'civicrm_contact',180,5),(20,'civicrm_contact',181,5),(86,'civicrm_contact',185,5),(89,'civicrm_contact',188,5),(110,'civicrm_contact',189,4),(111,'civicrm_contact',189,5),(4,'civicrm_contact',191,3),(52,'civicrm_contact',192,4),(53,'civicrm_contact',192,5),(73,'civicrm_contact',193,5),(17,'civicrm_contact',197,4),(62,'civicrm_contact',199,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-02-15 17:00:00','2020-02-17 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!','

    Thank you for your support. Your contribution will help us build even better tools.

    Please tell your friends and colleagues about this wonderful event.

    ','

    Back to CiviCRM Home Page

    ',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,'2019-08-14 12:00:00','2019-08-14 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!','

    Thank you for your support. Your participation will help build new parks.

    Please tell your friends and colleagues about the concert.

    ','

    Back to CiviCRM Home Page

    ',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,'2020-03-15 07:00:00','2020-03-18 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.','A Soccer Youth Event','Review and Confirm Your Registration Information','','A Soccer Youth Event',1,'Contact our Tournament Director for eligibility details.','Tournament Director','tournament@example.org','',NULL,NULL,NULL,'Thanks for Your Support!','

    Thank you for your support. Your participation will help save thousands of acres of rainforest.

    ','

    Back to CiviCRM Home Page

    ',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-03-20 17:00:00','2020-03-22 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!','

    Thank you for your support. Your contribution will help us build even better tools.

    Please tell your friends and colleagues about this wonderful event.

    ','

    Back to CiviCRM Home Page

    ',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,'2019-09-19 12:00:00','2019-09-19 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!','

    Thank you for your support. Your participation will help build new parks.

    Please tell your friends and colleagues about the concert.

    ','

    Back to CiviCRM Home Page

    ',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,'2020-04-20 07:00:00','2020-04-23 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.','A Soccer Youth Event','Review and Confirm Your Registration Information','','A Soccer Youth Event',1,'Contact our Tournament Director for eligibility details.','Tournament Director','tournament@example.org','',NULL,NULL,NULL,'Thanks for Your Support!','

    Thank you for your support. Your participation will help save thousands of acres of rainforest.

    ','

    Back to CiviCRM Home Page

    ',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; @@ -523,7 +523,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,'2019-08-15 21:31:31','2010-04-11 00:00:00',2,'Contribution Amount',125.00,'USD',1,1,'civicrm_line_item',1),(2,'2019-08-15 21:31:31','2010-03-21 00:00:00',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',2),(3,'2019-08-15 21:31:31','2010-04-29 00:00:00',6,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',3),(4,'2019-08-15 21:31:31','2010-04-11 00:00:00',8,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',4),(5,'2019-08-15 21:31:31','2010-04-15 00:00:00',16,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',5),(6,'2019-08-15 21:31:31','2010-04-11 00:00:00',19,'Contribution Amount',175.00,'USD',1,1,'civicrm_line_item',6),(7,'2019-08-15 21:31:31','2010-03-27 00:00:00',82,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',7),(8,'2019-08-15 21:31:31','2010-03-08 00:00:00',92,'Contribution Amount',10.00,'USD',1,1,'civicrm_line_item',8),(9,'2019-08-15 21:31:31','2010-04-22 00:00:00',34,'Contribution Amount',250.00,'USD',1,1,'civicrm_line_item',9),(10,'2019-08-15 21:31:31','2009-07-01 11:53:50',71,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',10),(11,'2019-08-15 21:31:31','2009-07-01 12:55:41',43,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',11),(12,'2019-08-15 21:31:31','2009-10-01 11:53:50',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',12),(13,'2019-08-15 21:31:31','2009-12-01 12:55:41',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',13),(14,'2019-08-15 21:31:31','2019-08-16 09:31:31',177,'General',100.00,'USD',2,1,'civicrm_line_item',16),(15,'2019-08-15 21:31:31','2019-08-16 09:31:31',60,'General',100.00,'USD',2,1,'civicrm_line_item',17),(16,'2019-08-15 21:31:31','2019-08-16 09:31:31',170,'General',100.00,'USD',2,1,'civicrm_line_item',18),(17,'2019-08-15 21:31:31','2019-08-16 09:31:31',90,'General',100.00,'USD',2,1,'civicrm_line_item',19),(18,'2019-08-15 21:31:31','2019-08-16 09:31:31',149,'General',100.00,'USD',2,1,'civicrm_line_item',20),(19,'2019-08-15 21:31:31','2019-08-16 09:31:31',52,'General',100.00,'USD',2,1,'civicrm_line_item',21),(20,'2019-08-15 21:31:31','2019-08-16 09:31:31',132,'General',100.00,'USD',2,1,'civicrm_line_item',22),(21,'2019-08-15 21:31:31','2019-08-16 09:31:31',115,'General',100.00,'USD',2,1,'civicrm_line_item',23),(22,'2019-08-15 21:31:31','2019-08-16 09:31:31',105,'General',100.00,'USD',2,1,'civicrm_line_item',24),(23,'2019-08-15 21:31:31','2019-08-16 09:31:31',18,'General',100.00,'USD',2,1,'civicrm_line_item',25),(24,'2019-08-15 21:31:31','2019-08-16 09:31:31',12,'General',100.00,'USD',2,1,'civicrm_line_item',26),(25,'2019-08-15 21:31:31','2019-08-16 09:31:31',113,'General',100.00,'USD',2,1,'civicrm_line_item',27),(26,'2019-08-15 21:31:31','2019-08-16 09:31:31',26,'General',100.00,'USD',2,1,'civicrm_line_item',28),(27,'2019-08-15 21:31:31','2019-08-16 09:31:31',134,'General',100.00,'USD',2,1,'civicrm_line_item',29),(28,'2019-08-15 21:31:31','2019-08-16 09:31:31',148,'Student',50.00,'USD',2,1,'civicrm_line_item',30),(29,'2019-08-15 21:31:31','2019-08-16 09:31:31',124,'Student',50.00,'USD',2,1,'civicrm_line_item',31),(30,'2019-08-15 21:31:31','2019-08-16 09:31:31',7,'Student',50.00,'USD',2,1,'civicrm_line_item',32),(31,'2019-08-15 21:31:31','2019-08-16 09:31:31',95,'Student',50.00,'USD',2,1,'civicrm_line_item',33),(32,'2019-08-15 21:31:31','2019-08-16 09:31:31',16,'Student',50.00,'USD',2,1,'civicrm_line_item',34),(33,'2019-08-15 21:31:31','2019-08-16 09:31:31',46,'Student',50.00,'USD',2,1,'civicrm_line_item',35),(34,'2019-08-15 21:31:31','2019-08-16 09:31:31',116,'Student',50.00,'USD',2,1,'civicrm_line_item',36),(35,'2019-08-15 21:31:31','2019-08-16 09:31:31',8,'Student',50.00,'USD',2,1,'civicrm_line_item',37),(36,'2019-08-15 21:31:31','2019-08-16 09:31:31',42,'Student',50.00,'USD',2,1,'civicrm_line_item',38),(37,'2019-08-15 21:31:31','2019-08-16 09:31:31',118,'Student',50.00,'USD',2,1,'civicrm_line_item',39),(38,'2019-08-15 21:31:31','2019-08-16 09:31:31',36,'Student',50.00,'USD',2,1,'civicrm_line_item',40),(39,'2019-08-15 21:31:31','2019-08-16 09:31:31',57,'Student',50.00,'USD',2,1,'civicrm_line_item',41),(40,'2019-08-15 21:31:31','2019-08-16 09:31:31',182,'Student',50.00,'USD',2,1,'civicrm_line_item',42),(41,'2019-08-15 21:31:31','2019-08-16 09:31:31',183,'Student',50.00,'USD',2,1,'civicrm_line_item',43),(42,'2019-08-15 21:31:31','2019-08-16 09:31:31',159,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',44),(43,'2019-08-15 21:31:31','2019-08-16 09:31:31',78,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',45),(44,'2019-08-15 21:31:31','2019-08-16 09:31:31',156,'Soprano',50.00,'USD',2,1,'civicrm_line_item',81),(45,'2019-08-15 21:31:31','2019-08-16 09:31:31',20,'Soprano',50.00,'USD',2,1,'civicrm_line_item',82),(46,'2019-08-15 21:31:31','2019-08-16 09:31:31',172,'Soprano',50.00,'USD',2,1,'civicrm_line_item',83),(47,'2019-08-15 21:31:31','2019-08-16 09:31:31',119,'Soprano',50.00,'USD',2,1,'civicrm_line_item',84),(48,'2019-08-15 21:31:31','2019-08-16 09:31:31',10,'Soprano',50.00,'USD',2,1,'civicrm_line_item',85),(49,'2019-08-15 21:31:31','2019-08-16 09:31:31',191,'Soprano',50.00,'USD',2,1,'civicrm_line_item',86),(50,'2019-08-15 21:31:31','2019-08-16 09:31:31',32,'Soprano',50.00,'USD',2,1,'civicrm_line_item',87),(51,'2019-08-15 21:31:31','2019-08-16 09:31:31',23,'Soprano',50.00,'USD',2,1,'civicrm_line_item',88),(52,'2019-08-15 21:31:31','2019-08-16 09:31:31',133,'Soprano',50.00,'USD',2,1,'civicrm_line_item',89),(53,'2019-08-15 21:31:31','2019-08-16 09:31:31',26,'Soprano',50.00,'USD',2,1,'civicrm_line_item',90),(54,'2019-08-15 21:31:31','2019-08-16 09:31:31',50,'Soprano',50.00,'USD',2,1,'civicrm_line_item',91),(55,'2019-08-15 21:31:31','2019-08-16 09:31:31',82,'Soprano',50.00,'USD',2,1,'civicrm_line_item',92),(56,'2019-08-15 21:31:31','2019-08-16 09:31:31',182,'Soprano',50.00,'USD',2,1,'civicrm_line_item',93),(57,'2019-08-15 21:31:31','2019-08-16 09:31:31',196,'Soprano',50.00,'USD',2,1,'civicrm_line_item',94),(58,'2019-08-15 21:31:31','2019-08-16 09:31:31',62,'Soprano',50.00,'USD',2,1,'civicrm_line_item',95),(59,'2019-08-15 21:31:31','2019-08-16 09:31:31',186,'Soprano',50.00,'USD',2,1,'civicrm_line_item',96),(60,'2019-08-15 21:31:31','2019-08-16 09:31:31',34,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',47),(61,'2019-08-15 21:31:31','2019-08-16 09:31:31',42,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',48),(62,'2019-08-15 21:31:31','2019-08-16 09:31:31',141,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',49),(63,'2019-08-15 21:31:31','2019-08-16 09:31:31',107,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',50),(64,'2019-08-15 21:31:31','2019-08-16 09:31:31',48,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',51),(65,'2019-08-15 21:31:32','2019-08-16 09:31:31',184,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',52),(66,'2019-08-15 21:31:32','2019-08-16 09:31:31',183,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',53),(67,'2019-08-15 21:31:32','2019-08-16 09:31:31',2,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',54),(68,'2019-08-15 21:31:32','2019-08-16 09:31:31',111,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',55),(69,'2019-08-15 21:31:32','2019-08-16 09:31:31',4,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',56),(70,'2019-08-15 21:31:32','2019-08-16 09:31:31',160,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',57),(71,'2019-08-15 21:31:32','2019-08-16 09:31:31',13,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',58),(72,'2019-08-15 21:31:32','2019-08-16 09:31:31',18,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',59),(73,'2019-08-15 21:31:32','2019-08-16 09:31:31',173,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',60),(74,'2019-08-15 21:31:32','2019-08-16 09:31:31',185,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',61),(75,'2019-08-15 21:31:32','2019-08-16 09:31:31',132,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',62),(76,'2019-08-15 21:31:32','2019-08-16 09:31:31',163,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',63),(77,'2019-08-15 21:31:32','2019-08-16 09:31:31',167,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',64),(78,'2019-08-15 21:31:32','2019-08-16 09:31:31',150,'Single',50.00,'USD',4,1,'civicrm_line_item',65),(79,'2019-08-15 21:31:32','2019-08-16 09:31:31',108,'Single',50.00,'USD',4,1,'civicrm_line_item',66),(80,'2019-08-15 21:31:32','2019-08-16 09:31:31',8,'Single',50.00,'USD',4,1,'civicrm_line_item',67),(81,'2019-08-15 21:31:32','2019-08-16 09:31:31',7,'Single',50.00,'USD',4,1,'civicrm_line_item',68),(82,'2019-08-15 21:31:32','2019-08-16 09:31:31',41,'Single',50.00,'USD',4,1,'civicrm_line_item',69),(83,'2019-08-15 21:31:32','2019-08-16 09:31:31',99,'Single',50.00,'USD',4,1,'civicrm_line_item',70),(84,'2019-08-15 21:31:32','2019-08-16 09:31:31',128,'Single',50.00,'USD',4,1,'civicrm_line_item',71),(85,'2019-08-15 21:31:32','2019-08-16 09:31:31',79,'Single',50.00,'USD',4,1,'civicrm_line_item',72),(86,'2019-08-15 21:31:32','2019-08-16 09:31:31',31,'Single',50.00,'USD',4,1,'civicrm_line_item',73),(87,'2019-08-15 21:31:32','2019-08-16 09:31:31',188,'Single',50.00,'USD',4,1,'civicrm_line_item',74),(88,'2019-08-15 21:31:32','2019-08-16 09:31:31',63,'Single',50.00,'USD',4,1,'civicrm_line_item',75),(89,'2019-08-15 21:31:32','2019-08-16 09:31:31',181,'Single',50.00,'USD',4,1,'civicrm_line_item',76),(90,'2019-08-15 21:31:32','2019-08-16 09:31:31',137,'Single',50.00,'USD',4,1,'civicrm_line_item',77),(91,'2019-08-15 21:31:32','2019-08-16 09:31:31',30,'Single',50.00,'USD',4,1,'civicrm_line_item',78),(92,'2019-08-15 21:31:32','2019-08-16 09:31:31',199,'Single',50.00,'USD',4,1,'civicrm_line_item',79),(93,'2019-08-15 21:31:32','2019-08-16 09:31:31',90,'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,'2019-09-20 19:57:29','2010-04-11 00:00:00',2,'Contribution Amount',125.00,'USD',1,1,'civicrm_line_item',1),(2,'2019-09-20 19:57:29','2010-03-21 00:00:00',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',2),(3,'2019-09-20 19:57:29','2010-04-29 00:00:00',6,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',3),(4,'2019-09-20 19:57:29','2010-04-11 00:00:00',8,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',4),(5,'2019-09-20 19:57:29','2010-04-15 00:00:00',16,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',5),(6,'2019-09-20 19:57:29','2010-04-11 00:00:00',19,'Contribution Amount',175.00,'USD',1,1,'civicrm_line_item',6),(7,'2019-09-20 19:57:29','2010-03-27 00:00:00',82,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',7),(8,'2019-09-20 19:57:29','2010-03-08 00:00:00',92,'Contribution Amount',10.00,'USD',1,1,'civicrm_line_item',8),(9,'2019-09-20 19:57:29','2010-04-22 00:00:00',34,'Contribution Amount',250.00,'USD',1,1,'civicrm_line_item',9),(10,'2019-09-20 19:57:29','2009-07-01 11:53:50',71,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',10),(11,'2019-09-20 19:57:29','2009-07-01 12:55:41',43,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',11),(12,'2019-09-20 19:57:29','2009-10-01 11:53:50',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',12),(13,'2019-09-20 19:57:29','2009-12-01 12:55:41',32,'Contribution Amount',200.00,'USD',1,1,'civicrm_line_item',13),(14,'2019-09-20 19:57:29','2019-09-20 12:57:29',130,'General',100.00,'USD',2,1,'civicrm_line_item',16),(15,'2019-09-20 19:57:29','2019-09-20 12:57:29',145,'General',100.00,'USD',2,1,'civicrm_line_item',17),(16,'2019-09-20 19:57:29','2019-09-20 12:57:29',53,'General',100.00,'USD',2,1,'civicrm_line_item',18),(17,'2019-09-20 19:57:29','2019-09-20 12:57:29',57,'General',100.00,'USD',2,1,'civicrm_line_item',19),(18,'2019-09-20 19:57:29','2019-09-20 12:57:29',178,'General',100.00,'USD',2,1,'civicrm_line_item',20),(19,'2019-09-20 19:57:29','2019-09-20 12:57:29',46,'General',100.00,'USD',2,1,'civicrm_line_item',21),(20,'2019-09-20 19:57:29','2019-09-20 12:57:29',123,'General',100.00,'USD',2,1,'civicrm_line_item',22),(21,'2019-09-20 19:57:29','2019-09-20 12:57:29',39,'General',100.00,'USD',2,1,'civicrm_line_item',23),(22,'2019-09-20 19:57:29','2019-09-20 12:57:29',19,'General',100.00,'USD',2,1,'civicrm_line_item',24),(23,'2019-09-20 19:57:29','2019-09-20 12:57:29',104,'General',100.00,'USD',2,1,'civicrm_line_item',25),(24,'2019-09-20 19:57:29','2019-09-20 12:57:29',10,'General',100.00,'USD',2,1,'civicrm_line_item',26),(25,'2019-09-20 19:57:29','2019-09-20 12:57:29',62,'General',100.00,'USD',2,1,'civicrm_line_item',27),(26,'2019-09-20 19:57:29','2019-09-20 12:57:29',113,'General',100.00,'USD',2,1,'civicrm_line_item',28),(27,'2019-09-20 19:57:29','2019-09-20 12:57:29',101,'General',100.00,'USD',2,1,'civicrm_line_item',29),(28,'2019-09-20 19:57:29','2019-09-20 12:57:29',197,'General',100.00,'USD',2,1,'civicrm_line_item',30),(29,'2019-09-20 19:57:29','2019-09-20 12:57:29',91,'Student',50.00,'USD',2,1,'civicrm_line_item',31),(30,'2019-09-20 19:57:29','2019-09-20 12:57:29',125,'Student',50.00,'USD',2,1,'civicrm_line_item',32),(31,'2019-09-20 19:57:29','2019-09-20 12:57:29',35,'Student',50.00,'USD',2,1,'civicrm_line_item',33),(32,'2019-09-20 19:57:29','2019-09-20 12:57:29',190,'Student',50.00,'USD',2,1,'civicrm_line_item',34),(33,'2019-09-20 19:57:29','2019-09-20 12:57:29',151,'Student',50.00,'USD',2,1,'civicrm_line_item',35),(34,'2019-09-20 19:57:29','2019-09-20 12:57:29',192,'Student',50.00,'USD',2,1,'civicrm_line_item',36),(35,'2019-09-20 19:57:29','2019-09-20 12:57:29',16,'Student',50.00,'USD',2,1,'civicrm_line_item',37),(36,'2019-09-20 19:57:29','2019-09-20 12:57:29',36,'Student',50.00,'USD',2,1,'civicrm_line_item',38),(37,'2019-09-20 19:57:29','2019-09-20 12:57:29',92,'Student',50.00,'USD',2,1,'civicrm_line_item',39),(38,'2019-09-20 19:57:29','2019-09-20 12:57:29',121,'Student',50.00,'USD',2,1,'civicrm_line_item',40),(39,'2019-09-20 19:57:29','2019-09-20 12:57:29',89,'Student',50.00,'USD',2,1,'civicrm_line_item',41),(40,'2019-09-20 19:57:29','2019-09-20 12:57:29',134,'Student',50.00,'USD',2,1,'civicrm_line_item',42),(41,'2019-09-20 19:57:29','2019-09-20 12:57:29',69,'Student',50.00,'USD',2,1,'civicrm_line_item',43),(42,'2019-09-20 19:57:29','2019-09-20 12:57:29',153,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',44),(43,'2019-09-20 19:57:29','2019-09-20 12:57:29',173,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',45),(44,'2019-09-20 19:57:29','2019-09-20 12:57:29',55,'Soprano',50.00,'USD',2,1,'civicrm_line_item',81),(45,'2019-09-20 19:57:29','2019-09-20 12:57:29',170,'Soprano',50.00,'USD',2,1,'civicrm_line_item',82),(46,'2019-09-20 19:57:29','2019-09-20 12:57:29',127,'Soprano',50.00,'USD',2,1,'civicrm_line_item',83),(47,'2019-09-20 19:57:29','2019-09-20 12:57:29',108,'Soprano',50.00,'USD',2,1,'civicrm_line_item',84),(48,'2019-09-20 19:57:29','2019-09-20 12:57:29',189,'Soprano',50.00,'USD',2,1,'civicrm_line_item',85),(49,'2019-09-20 19:57:29','2019-09-20 12:57:29',92,'Soprano',50.00,'USD',2,1,'civicrm_line_item',86),(50,'2019-09-20 19:57:29','2019-09-20 12:57:29',91,'Soprano',50.00,'USD',2,1,'civicrm_line_item',87),(51,'2019-09-20 19:57:29','2019-09-20 12:57:29',114,'Soprano',50.00,'USD',2,1,'civicrm_line_item',88),(52,'2019-09-20 19:57:29','2019-09-20 12:57:29',159,'Soprano',50.00,'USD',2,1,'civicrm_line_item',89),(53,'2019-09-20 19:57:29','2019-09-20 12:57:29',179,'Soprano',50.00,'USD',2,1,'civicrm_line_item',90),(54,'2019-09-20 19:57:29','2019-09-20 12:57:29',18,'Soprano',50.00,'USD',2,1,'civicrm_line_item',91),(55,'2019-09-20 19:57:29','2019-09-20 12:57:29',57,'Soprano',50.00,'USD',2,1,'civicrm_line_item',92),(56,'2019-09-20 19:57:29','2019-09-20 12:57:29',163,'Soprano',50.00,'USD',2,1,'civicrm_line_item',93),(57,'2019-09-20 19:57:29','2019-09-20 12:57:29',190,'Soprano',50.00,'USD',2,1,'civicrm_line_item',94),(58,'2019-09-20 19:57:29','2019-09-20 12:57:29',139,'Soprano',50.00,'USD',2,1,'civicrm_line_item',95),(59,'2019-09-20 19:57:29','2019-09-20 12:57:29',135,'Soprano',50.00,'USD',2,1,'civicrm_line_item',96),(60,'2019-09-20 19:57:29','2019-09-20 12:57:29',99,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',47),(61,'2019-09-20 19:57:29','2019-09-20 12:57:29',187,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',48),(62,'2019-09-20 19:57:29','2019-09-20 12:57:29',83,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',49),(63,'2019-09-20 19:57:29','2019-09-20 12:57:29',145,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',50),(64,'2019-09-20 19:57:29','2019-09-20 12:57:29',105,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',51),(65,'2019-09-20 19:57:29','2019-09-20 12:57:29',119,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',52),(66,'2019-09-20 19:57:29','2019-09-20 12:57:29',49,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',53),(67,'2019-09-20 19:57:29','2019-09-20 12:57:29',183,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',54),(68,'2019-09-20 19:57:29','2019-09-20 12:57:29',5,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',55),(69,'2019-09-20 19:57:29','2019-09-20 12:57:29',193,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',56),(70,'2019-09-20 19:57:29','2019-09-20 12:57:29',86,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',57),(71,'2019-09-20 19:57:29','2019-09-20 12:57:29',75,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',58),(72,'2019-09-20 19:57:29','2019-09-20 12:57:29',72,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',59),(73,'2019-09-20 19:57:29','2019-09-20 12:57:29',184,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',60),(74,'2019-09-20 19:57:29','2019-09-20 12:57:29',69,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',61),(75,'2019-09-20 19:57:29','2019-09-20 12:57:29',8,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',62),(76,'2019-09-20 19:57:29','2019-09-20 12:57:29',157,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',63),(77,'2019-09-20 19:57:29','2019-09-20 12:57:29',89,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',64),(78,'2019-09-20 19:57:29','2019-09-20 12:57:29',186,'Single',50.00,'USD',4,1,'civicrm_line_item',65),(79,'2019-09-20 19:57:29','2019-09-20 12:57:29',143,'Single',50.00,'USD',4,1,'civicrm_line_item',66),(80,'2019-09-20 19:57:29','2019-09-20 12:57:29',37,'Single',50.00,'USD',4,1,'civicrm_line_item',67),(81,'2019-09-20 19:57:29','2019-09-20 12:57:29',124,'Single',50.00,'USD',4,1,'civicrm_line_item',68),(82,'2019-09-20 19:57:29','2019-09-20 12:57:29',178,'Single',50.00,'USD',4,1,'civicrm_line_item',69),(83,'2019-09-20 19:57:29','2019-09-20 12:57:29',93,'Single',50.00,'USD',4,1,'civicrm_line_item',70),(84,'2019-09-20 19:57:29','2019-09-20 12:57:29',30,'Single',50.00,'USD',4,1,'civicrm_line_item',71),(85,'2019-09-20 19:57:29','2019-09-20 12:57:29',153,'Single',50.00,'USD',4,1,'civicrm_line_item',72),(86,'2019-09-20 19:57:29','2019-09-20 12:57:29',41,'Single',50.00,'USD',4,1,'civicrm_line_item',73),(87,'2019-09-20 19:57:29','2019-09-20 12:57:29',120,'Single',50.00,'USD',4,1,'civicrm_line_item',74),(88,'2019-09-20 19:57:29','2019-09-20 12:57:29',1,'Single',50.00,'USD',4,1,'civicrm_line_item',75),(89,'2019-09-20 19:57:29','2019-09-20 12:57:29',58,'Single',50.00,'USD',4,1,'civicrm_line_item',76),(90,'2019-09-20 19:57:29','2019-09-20 12:57:29',21,'Single',50.00,'USD',4,1,'civicrm_line_item',77),(91,'2019-09-20 19:57:29','2019-09-20 12:57:29',34,'Single',50.00,'USD',4,1,'civicrm_line_item',78),(92,'2019-09-20 19:57:29','2019-09-20 12:57:29',45,'Single',50.00,'USD',4,1,'civicrm_line_item',79),(93,'2019-09-20 19:57:29','2019-09-20 12:57:29',67,'Single',50.00,'USD',4,1,'civicrm_line_item',80); /*!40000 ALTER TABLE `civicrm_financial_item` ENABLE KEYS */; UNLOCK TABLES; @@ -533,7 +533,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`) VALUES (1,NULL,1,'2010-04-11 00:00:00',125.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'1041',NULL),(2,NULL,1,'2010-03-21 00:00:00',50.00,NULL,NULL,'USD',1,'P20901X1',NULL,1,NULL,1,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),(4,NULL,1,'2010-04-11 00:00:00',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'10552',NULL),(5,NULL,1,'2010-04-15 00:00:00',500.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'509',NULL),(6,NULL,1,'2010-04-11 00:00:00',175.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'102',NULL),(7,NULL,1,'2010-03-27 00:00:00',50.00,NULL,NULL,'USD',1,'P20193L2',NULL,1,NULL,1,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),(9,NULL,1,'2010-04-22 00:00:00',250.00,NULL,NULL,'USD',1,'P20193L6',NULL,1,NULL,1,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),(11,NULL,1,'2009-07-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL43II',NULL,1,NULL,1,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),(13,NULL,1,'2009-12-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL32II',NULL,1,NULL,1,NULL,NULL,NULL),(14,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(15,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(16,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(17,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(18,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(19,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(20,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(21,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(22,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(23,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(24,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(25,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(26,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(27,NULL,1,'2019-08-16 09:31:31',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(28,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(29,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(30,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(31,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(32,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(33,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(34,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(35,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(36,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(37,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(38,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(39,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(40,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(41,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(42,NULL,1,'2019-08-16 09:31:31',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(43,NULL,1,'2019-08-16 09:31:31',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(44,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(45,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(46,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(47,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(48,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(49,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(50,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(51,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(52,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(53,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(54,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(55,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(56,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(57,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(58,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(59,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(60,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(61,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(62,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(63,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(64,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(65,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(66,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(67,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(68,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(69,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(70,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(71,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(72,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(73,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(74,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(75,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(76,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(77,NULL,1,'2019-08-16 09:31:31',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(78,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(79,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(80,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(81,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(82,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(83,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(84,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(85,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(86,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(87,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(88,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(89,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(90,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(91,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(92,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(93,NULL,1,'2019-08-16 09:31:31',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,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`) VALUES (1,NULL,1,'2010-04-11 00:00:00',125.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'1041',NULL),(2,NULL,1,'2010-03-21 00:00:00',50.00,NULL,NULL,'USD',1,'P20901X1',NULL,1,NULL,1,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),(4,NULL,1,'2010-04-11 00:00:00',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'10552',NULL),(5,NULL,1,'2010-04-15 00:00:00',500.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'509',NULL),(6,NULL,1,'2010-04-11 00:00:00',175.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'102',NULL),(7,NULL,1,'2010-03-27 00:00:00',50.00,NULL,NULL,'USD',1,'P20193L2',NULL,1,NULL,1,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),(9,NULL,1,'2010-04-22 00:00:00',250.00,NULL,NULL,'USD',1,'P20193L6',NULL,1,NULL,1,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),(11,NULL,1,'2009-07-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL43II',NULL,1,NULL,1,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),(13,NULL,1,'2009-12-01 12:55:41',200.00,NULL,NULL,'USD',1,'PL32II',NULL,1,NULL,1,NULL,NULL,NULL),(14,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(15,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(16,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(17,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(18,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(19,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(20,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(21,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(22,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(23,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(24,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(25,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(26,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(27,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(28,NULL,1,'2019-09-20 12:57:29',100.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(29,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(30,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(31,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(32,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(33,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(34,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(35,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(36,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(37,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(38,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(39,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(40,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(41,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(42,NULL,1,'2019-09-20 12:57:29',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(43,NULL,1,'2019-09-20 12:57:29',1200.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(44,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(45,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(46,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(47,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(48,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(49,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(50,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(51,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(52,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(53,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(54,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(55,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(56,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(57,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(58,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(59,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(60,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(61,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(62,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(63,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(64,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(65,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(66,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(67,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(68,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(69,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(70,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(71,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(72,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(73,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(74,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(75,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(76,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(77,NULL,1,'2019-09-20 12:57:29',800.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(78,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(79,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(80,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(81,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(82,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(83,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(84,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(85,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(86,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(87,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(88,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(89,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(90,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(91,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(92,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL),(93,NULL,1,'2019-09-20 12:57:29',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,NULL,NULL); /*!40000 ALTER TABLE `civicrm_financial_trxn` ENABLE KEYS */; UNLOCK TABLES; @@ -562,7 +562,7 @@ UNLOCK TABLES; LOCK TABLES `civicrm_group` WRITE; /*!40000 ALTER TABLE `civicrm_group` DISABLE KEYS */; -INSERT INTO `civicrm_group` (`id`, `name`, `title`, `description`, `source`, `saved_search_id`, `is_active`, `visibility`, `where_clause`, `select_tables`, `where_tables`, `group_type`, `cache_date`, `refresh_date`, `parents`, `children`, `is_hidden`, `is_reserved`, `created_id`, `modified_id`) VALUES (1,'Administrators','Administrators','Contacts in this group are assigned Administrator role permissions.',NULL,NULL,1,'User and User Admin Only',NULL,NULL,NULL,'1',NULL,NULL,NULL,NULL,0,0,NULL,NULL),(2,'Newsletter Subscribers','Newsletter Subscribers',NULL,NULL,NULL,1,'Public Pages',' ( ( ( `civicrm_group_contact-5d55cf317f43f`.group_id IN (\"2\") ) ) ) ','a:8:{s:15:\"civicrm_contact\";i:1;s:15:\"civicrm_address\";i:1;s:15:\"civicrm_country\";i:1;s:13:\"civicrm_email\";i:1;s:13:\"civicrm_phone\";i:1;s:10:\"civicrm_im\";i:1;s:19:\"civicrm_worldregion\";i:1;s:37:\"`civicrm_group_contact-5d55cf317f43f`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d55cf317f43f` ON (contact_a.id = `civicrm_group_contact-5d55cf317f43f`.contact_id AND `civicrm_group_contact-5d55cf317f43f`.status IN (\'Added\'))\";}','a:2:{s:15:\"civicrm_contact\";i:1;s:37:\"`civicrm_group_contact-5d55cf317f43f`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d55cf317f43f` ON (contact_a.id = `civicrm_group_contact-5d55cf317f43f`.contact_id AND `civicrm_group_contact-5d55cf317f43f`.status IN (\'Added\'))\";}','12',NULL,NULL,NULL,NULL,0,0,NULL,NULL),(3,'Summer Program Volunteers','Summer Program Volunteers',NULL,NULL,NULL,1,'Public Pages',' ( ( ( `civicrm_group_contact-5d55cf318a7ba`.group_id IN (\"3\") ) ) ) ','a:8:{s:15:\"civicrm_contact\";i:1;s:15:\"civicrm_address\";i:1;s:15:\"civicrm_country\";i:1;s:13:\"civicrm_email\";i:1;s:13:\"civicrm_phone\";i:1;s:10:\"civicrm_im\";i:1;s:19:\"civicrm_worldregion\";i:1;s:37:\"`civicrm_group_contact-5d55cf318a7ba`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d55cf318a7ba` ON (contact_a.id = `civicrm_group_contact-5d55cf318a7ba`.contact_id AND `civicrm_group_contact-5d55cf318a7ba`.status IN (\'Added\'))\";}','a:2:{s:15:\"civicrm_contact\";i:1;s:37:\"`civicrm_group_contact-5d55cf318a7ba`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d55cf318a7ba` ON (contact_a.id = `civicrm_group_contact-5d55cf318a7ba`.contact_id AND `civicrm_group_contact-5d55cf318a7ba`.status IN (\'Added\'))\";}','12',NULL,NULL,NULL,NULL,0,0,NULL,NULL),(4,'Advisory Board','Advisory Board',NULL,NULL,NULL,1,'Public Pages',' ( ( ( `civicrm_group_contact-5d55cf3194611`.group_id IN (\"4\") ) ) ) ','a:8:{s:15:\"civicrm_contact\";i:1;s:15:\"civicrm_address\";i:1;s:15:\"civicrm_country\";i:1;s:13:\"civicrm_email\";i:1;s:13:\"civicrm_phone\";i:1;s:10:\"civicrm_im\";i:1;s:19:\"civicrm_worldregion\";i:1;s:37:\"`civicrm_group_contact-5d55cf3194611`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d55cf3194611` ON (contact_a.id = `civicrm_group_contact-5d55cf3194611`.contact_id AND `civicrm_group_contact-5d55cf3194611`.status IN (\'Added\'))\";}','a:2:{s:15:\"civicrm_contact\";i:1;s:37:\"`civicrm_group_contact-5d55cf3194611`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d55cf3194611` ON (contact_a.id = `civicrm_group_contact-5d55cf3194611`.contact_id AND `civicrm_group_contact-5d55cf3194611`.status IN (\'Added\'))\";}','12',NULL,NULL,NULL,NULL,0,0,NULL,NULL); +INSERT INTO `civicrm_group` (`id`, `name`, `title`, `description`, `source`, `saved_search_id`, `is_active`, `visibility`, `where_clause`, `select_tables`, `where_tables`, `group_type`, `cache_date`, `refresh_date`, `parents`, `children`, `is_hidden`, `is_reserved`, `created_id`, `modified_id`) VALUES (1,'Administrators','Administrators','Contacts in this group are assigned Administrator role permissions.',NULL,NULL,1,'User and User Admin Only',NULL,NULL,NULL,'1',NULL,NULL,NULL,NULL,0,0,NULL,NULL),(2,'Newsletter Subscribers','Newsletter Subscribers',NULL,NULL,NULL,1,'Public Pages',' ( ( ( `civicrm_group_contact-5d852f28c97c9`.group_id IN (\"2\") ) ) ) ','a:8:{s:15:\"civicrm_contact\";i:1;s:15:\"civicrm_address\";i:1;s:15:\"civicrm_country\";i:1;s:13:\"civicrm_email\";i:1;s:13:\"civicrm_phone\";i:1;s:10:\"civicrm_im\";i:1;s:19:\"civicrm_worldregion\";i:1;s:37:\"`civicrm_group_contact-5d852f28c97c9`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d852f28c97c9` ON (contact_a.id = `civicrm_group_contact-5d852f28c97c9`.contact_id AND `civicrm_group_contact-5d852f28c97c9`.status IN (\'Added\'))\";}','a:2:{s:15:\"civicrm_contact\";i:1;s:37:\"`civicrm_group_contact-5d852f28c97c9`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d852f28c97c9` ON (contact_a.id = `civicrm_group_contact-5d852f28c97c9`.contact_id AND `civicrm_group_contact-5d852f28c97c9`.status IN (\'Added\'))\";}','12',NULL,NULL,NULL,NULL,0,0,NULL,NULL),(3,'Summer Program Volunteers','Summer Program Volunteers',NULL,NULL,NULL,1,'Public Pages',' ( ( ( `civicrm_group_contact-5d852f28cc524`.group_id IN (\"3\") ) ) ) ','a:8:{s:15:\"civicrm_contact\";i:1;s:15:\"civicrm_address\";i:1;s:15:\"civicrm_country\";i:1;s:13:\"civicrm_email\";i:1;s:13:\"civicrm_phone\";i:1;s:10:\"civicrm_im\";i:1;s:19:\"civicrm_worldregion\";i:1;s:37:\"`civicrm_group_contact-5d852f28cc524`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d852f28cc524` ON (contact_a.id = `civicrm_group_contact-5d852f28cc524`.contact_id AND `civicrm_group_contact-5d852f28cc524`.status IN (\'Added\'))\";}','a:2:{s:15:\"civicrm_contact\";i:1;s:37:\"`civicrm_group_contact-5d852f28cc524`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d852f28cc524` ON (contact_a.id = `civicrm_group_contact-5d852f28cc524`.contact_id AND `civicrm_group_contact-5d852f28cc524`.status IN (\'Added\'))\";}','12',NULL,NULL,NULL,NULL,0,0,NULL,NULL),(4,'Advisory Board','Advisory Board',NULL,NULL,NULL,1,'Public Pages',' ( ( ( `civicrm_group_contact-5d852f28ce68e`.group_id IN (\"4\") ) ) ) ','a:8:{s:15:\"civicrm_contact\";i:1;s:15:\"civicrm_address\";i:1;s:15:\"civicrm_country\";i:1;s:13:\"civicrm_email\";i:1;s:13:\"civicrm_phone\";i:1;s:10:\"civicrm_im\";i:1;s:19:\"civicrm_worldregion\";i:1;s:37:\"`civicrm_group_contact-5d852f28ce68e`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d852f28ce68e` ON (contact_a.id = `civicrm_group_contact-5d852f28ce68e`.contact_id AND `civicrm_group_contact-5d852f28ce68e`.status IN (\'Added\'))\";}','a:2:{s:15:\"civicrm_contact\";i:1;s:37:\"`civicrm_group_contact-5d852f28ce68e`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d852f28ce68e` ON (contact_a.id = `civicrm_group_contact-5d852f28ce68e`.contact_id AND `civicrm_group_contact-5d852f28ce68e`.status IN (\'Added\'))\";}','12',NULL,NULL,NULL,NULL,0,0,NULL,NULL); /*!40000 ALTER TABLE `civicrm_group` ENABLE KEYS */; UNLOCK TABLES; @@ -572,7 +572,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,16,'Added',NULL,NULL),(2,2,45,'Added',NULL,NULL),(3,2,103,'Added',NULL,NULL),(4,2,57,'Added',NULL,NULL),(5,2,69,'Added',NULL,NULL),(6,2,31,'Added',NULL,NULL),(7,2,48,'Added',NULL,NULL),(8,2,193,'Added',NULL,NULL),(9,2,169,'Added',NULL,NULL),(10,2,33,'Added',NULL,NULL),(11,2,128,'Added',NULL,NULL),(12,2,27,'Added',NULL,NULL),(13,2,66,'Added',NULL,NULL),(14,2,5,'Added',NULL,NULL),(15,2,170,'Added',NULL,NULL),(16,2,112,'Added',NULL,NULL),(17,2,129,'Added',NULL,NULL),(18,2,18,'Added',NULL,NULL),(19,2,191,'Added',NULL,NULL),(20,2,60,'Added',NULL,NULL),(21,2,81,'Added',NULL,NULL),(22,2,85,'Added',NULL,NULL),(23,2,116,'Added',NULL,NULL),(24,2,177,'Added',NULL,NULL),(25,2,4,'Added',NULL,NULL),(26,2,149,'Added',NULL,NULL),(27,2,24,'Added',NULL,NULL),(28,2,82,'Added',NULL,NULL),(29,2,30,'Added',NULL,NULL),(30,2,12,'Added',NULL,NULL),(31,2,172,'Added',NULL,NULL),(32,2,114,'Added',NULL,NULL),(33,2,154,'Added',NULL,NULL),(34,2,99,'Added',NULL,NULL),(35,2,94,'Added',NULL,NULL),(36,2,58,'Added',NULL,NULL),(37,2,15,'Added',NULL,NULL),(38,2,51,'Added',NULL,NULL),(39,2,26,'Added',NULL,NULL),(40,2,174,'Added',NULL,NULL),(41,2,42,'Added',NULL,NULL),(42,2,124,'Added',NULL,NULL),(43,2,136,'Added',NULL,NULL),(44,2,75,'Added',NULL,NULL),(45,2,118,'Added',NULL,NULL),(46,2,40,'Added',NULL,NULL),(47,2,38,'Added',NULL,NULL),(48,2,59,'Added',NULL,NULL),(49,2,148,'Added',NULL,NULL),(50,2,50,'Added',NULL,NULL),(51,2,22,'Added',NULL,NULL),(52,2,192,'Added',NULL,NULL),(53,2,119,'Added',NULL,NULL),(54,2,133,'Added',NULL,NULL),(55,2,95,'Added',NULL,NULL),(56,2,164,'Added',NULL,NULL),(57,2,158,'Added',NULL,NULL),(58,2,165,'Added',NULL,NULL),(59,2,14,'Added',NULL,NULL),(60,2,77,'Added',NULL,NULL),(61,3,23,'Added',NULL,NULL),(62,3,67,'Added',NULL,NULL),(63,3,113,'Added',NULL,NULL),(64,3,89,'Added',NULL,NULL),(65,3,185,'Added',NULL,NULL),(66,3,102,'Added',NULL,NULL),(67,3,68,'Added',NULL,NULL),(68,3,123,'Added',NULL,NULL),(69,3,134,'Added',NULL,NULL),(70,3,141,'Added',NULL,NULL),(71,3,7,'Added',NULL,NULL),(72,3,96,'Added',NULL,NULL),(73,3,10,'Added',NULL,NULL),(74,3,87,'Added',NULL,NULL),(75,3,194,'Added',NULL,NULL),(76,4,16,'Added',NULL,NULL),(77,4,193,'Added',NULL,NULL),(78,4,170,'Added',NULL,NULL),(79,4,85,'Added',NULL,NULL),(80,4,30,'Added',NULL,NULL),(81,4,58,'Added',NULL,NULL),(82,4,136,'Added',NULL,NULL),(83,4,50,'Added',NULL,NULL); +INSERT INTO `civicrm_group_contact` (`id`, `group_id`, `contact_id`, `status`, `location_id`, `email_id`) VALUES (1,2,167,'Added',NULL,NULL),(2,2,144,'Added',NULL,NULL),(3,2,65,'Added',NULL,NULL),(4,2,187,'Added',NULL,NULL),(5,2,155,'Added',NULL,NULL),(6,2,174,'Added',NULL,NULL),(7,2,62,'Added',NULL,NULL),(8,2,87,'Added',NULL,NULL),(9,2,129,'Added',NULL,NULL),(10,2,112,'Added',NULL,NULL),(11,2,197,'Added',NULL,NULL),(12,2,116,'Added',NULL,NULL),(13,2,67,'Added',NULL,NULL),(14,2,152,'Added',NULL,NULL),(15,2,127,'Added',NULL,NULL),(16,2,198,'Added',NULL,NULL),(17,2,181,'Added',NULL,NULL),(18,2,76,'Added',NULL,NULL),(19,2,115,'Added',NULL,NULL),(20,2,30,'Added',NULL,NULL),(21,2,153,'Added',NULL,NULL),(22,2,79,'Added',NULL,NULL),(23,2,113,'Added',NULL,NULL),(24,2,64,'Added',NULL,NULL),(25,2,120,'Added',NULL,NULL),(26,2,6,'Added',NULL,NULL),(27,2,63,'Added',NULL,NULL),(28,2,201,'Added',NULL,NULL),(29,2,171,'Added',NULL,NULL),(30,2,136,'Added',NULL,NULL),(31,2,158,'Added',NULL,NULL),(32,2,70,'Added',NULL,NULL),(33,2,41,'Added',NULL,NULL),(34,2,147,'Added',NULL,NULL),(35,2,151,'Added',NULL,NULL),(36,2,73,'Added',NULL,NULL),(37,2,114,'Added',NULL,NULL),(38,2,34,'Added',NULL,NULL),(39,2,16,'Added',NULL,NULL),(40,2,86,'Added',NULL,NULL),(41,2,89,'Added',NULL,NULL),(42,2,19,'Added',NULL,NULL),(43,2,180,'Added',NULL,NULL),(44,2,92,'Added',NULL,NULL),(45,2,36,'Added',NULL,NULL),(46,2,2,'Added',NULL,NULL),(47,2,55,'Added',NULL,NULL),(48,2,11,'Added',NULL,NULL),(49,2,121,'Added',NULL,NULL),(50,2,123,'Added',NULL,NULL),(51,2,102,'Added',NULL,NULL),(52,2,135,'Added',NULL,NULL),(53,2,104,'Added',NULL,NULL),(54,2,45,'Added',NULL,NULL),(55,2,9,'Added',NULL,NULL),(56,2,128,'Added',NULL,NULL),(57,2,77,'Added',NULL,NULL),(58,2,103,'Added',NULL,NULL),(59,2,156,'Added',NULL,NULL),(60,2,78,'Added',NULL,NULL),(61,3,192,'Added',NULL,NULL),(62,3,97,'Added',NULL,NULL),(63,3,117,'Added',NULL,NULL),(64,3,39,'Added',NULL,NULL),(65,3,131,'Added',NULL,NULL),(66,3,111,'Added',NULL,NULL),(67,3,118,'Added',NULL,NULL),(68,3,148,'Added',NULL,NULL),(69,3,81,'Added',NULL,NULL),(70,3,119,'Added',NULL,NULL),(71,3,53,'Added',NULL,NULL),(72,3,162,'Added',NULL,NULL),(73,3,101,'Added',NULL,NULL),(74,3,139,'Added',NULL,NULL),(75,3,199,'Added',NULL,NULL),(76,4,167,'Added',NULL,NULL),(77,4,87,'Added',NULL,NULL),(78,4,127,'Added',NULL,NULL),(79,4,79,'Added',NULL,NULL),(80,4,171,'Added',NULL,NULL),(81,4,73,'Added',NULL,NULL),(82,4,180,'Added',NULL,NULL),(83,4,123,'Added',NULL,NULL); /*!40000 ALTER TABLE `civicrm_group_contact` ENABLE KEYS */; UNLOCK TABLES; @@ -637,7 +637,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',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',13,19,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(22,'civicrm_membership',15,20,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(23,'civicrm_membership',17,21,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(24,'civicrm_membership',19,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',25,25,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(28,'civicrm_membership',27,26,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL),(29,'civicrm_membership',29,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',6,30,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(33,'civicrm_membership',8,31,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL),(34,'civicrm_membership',10,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,58,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(48,'civicrm_participant',6,60,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(49,'civicrm_participant',9,77,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(50,'civicrm_participant',12,69,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(51,'civicrm_participant',15,61,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(52,'civicrm_participant',18,88,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(53,'civicrm_participant',21,87,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(54,'civicrm_participant',24,45,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(55,'civicrm_participant',25,71,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(56,'civicrm_participant',28,46,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(57,'civicrm_participant',31,80,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,51,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,89,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(62,'civicrm_participant',46,74,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(63,'civicrm_participant',49,81,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(64,'civicrm_participant',50,82,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(65,'civicrm_participant',1,78,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(66,'civicrm_participant',4,70,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,47,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(69,'civicrm_participant',13,59,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(70,'civicrm_participant',16,68,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(71,'civicrm_participant',19,73,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(72,'civicrm_participant',22,65,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(73,'civicrm_participant',26,56,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(74,'civicrm_participant',29,91,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(75,'civicrm_participant',32,64,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(76,'civicrm_participant',35,85,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(77,'civicrm_participant',38,76,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(78,'civicrm_participant',41,55,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(79,'civicrm_participant',44,94,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,79,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(82,'civicrm_participant',5,52,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(83,'civicrm_participant',8,83,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(84,'civicrm_participant',11,72,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(85,'civicrm_participant',14,49,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(86,'civicrm_participant',17,92,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(87,'civicrm_participant',20,57,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(88,'civicrm_participant',23,53,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(89,'civicrm_participant',27,75,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,62,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(92,'civicrm_participant',36,66,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(93,'civicrm_participant',39,86,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(94,'civicrm_participant',42,93,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(95,'civicrm_participant',45,63,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(96,'civicrm_participant',48,90,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,69,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(48,'civicrm_participant',6,91,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(49,'civicrm_participant',9,63,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(50,'civicrm_participant',12,80,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(51,'civicrm_participant',15,70,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(52,'civicrm_participant',18,73,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(53,'civicrm_participant',21,55,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(54,'civicrm_participant',24,88,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(55,'civicrm_participant',25,46,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(56,'civicrm_participant',28,94,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(57,'civicrm_participant',31,64,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(58,'civicrm_participant',34,62,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,89,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(61,'civicrm_participant',43,60,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(62,'civicrm_participant',46,47,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(63,'civicrm_participant',49,82,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(64,'civicrm_participant',50,65,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL),(65,'civicrm_participant',1,90,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(66,'civicrm_participant',4,79,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(67,'civicrm_participant',7,52,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(68,'civicrm_participant',10,75,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(69,'civicrm_participant',13,86,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(70,'civicrm_participant',16,68,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(71,'civicrm_participant',19,50,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(72,'civicrm_participant',22,81,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(73,'civicrm_participant',26,53,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(74,'civicrm_participant',29,74,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(75,'civicrm_participant',32,45,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(76,'civicrm_participant',35,58,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(77,'civicrm_participant',38,49,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(78,'civicrm_participant',41,51,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(79,'civicrm_participant',44,54,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(80,'civicrm_participant',47,59,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL),(81,'civicrm_participant',2,56,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(82,'civicrm_participant',5,85,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(83,'civicrm_participant',8,76,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(84,'civicrm_participant',11,71,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(85,'civicrm_participant',14,92,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(86,'civicrm_participant',17,67,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(87,'civicrm_participant',20,66,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(88,'civicrm_participant',23,72,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(89,'civicrm_participant',27,83,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(90,'civicrm_participant',30,87,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(91,'civicrm_participant',33,48,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(92,'civicrm_participant',36,57,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(93,'civicrm_participant',39,84,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(94,'civicrm_participant',42,93,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(95,'civicrm_participant',45,78,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL),(96,'civicrm_participant',48,77,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL); /*!40000 ALTER TABLE `civicrm_line_item` ENABLE KEYS */; UNLOCK TABLES; @@ -647,7 +647,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,175,186,170,NULL,NULL,NULL,NULL,NULL),(2,176,187,171,NULL,NULL,NULL,NULL,NULL),(3,177,188,172,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,179,201,168,NULL,NULL,NULL,NULL,NULL),(2,180,202,169,NULL,NULL,NULL,NULL,NULL),(3,181,203,170,NULL,NULL,NULL,NULL,NULL); /*!40000 ALTER TABLE `civicrm_loc_block` ENABLE KEYS */; UNLOCK TABLES; @@ -896,7 +896,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,177,1,'2019-08-15','2019-08-15','2021-08-14','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(2,148,2,'2019-08-14','2019-08-14','2020-08-13','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(3,60,1,'2019-08-13','2019-08-13','2021-08-12','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(4,124,2,'2019-08-12','2019-08-12','2020-08-11','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(5,170,1,'2017-07-14','2017-07-14','2019-07-13','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(6,7,2,'2019-08-10','2019-08-10','2020-08-09','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(7,90,1,'2019-08-09','2019-08-09','2021-08-08','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(8,95,2,'2019-08-08','2019-08-08','2020-08-07','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(9,149,1,'2019-08-07','2019-08-07','2021-08-06','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(10,16,2,'2018-08-06','2018-08-06','2019-08-05','Donation',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(11,159,3,'2019-08-05','2019-08-05',NULL,'Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(12,46,2,'2019-08-04','2019-08-04','2020-08-03','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(13,52,1,'2019-08-03','2019-08-03','2021-08-02','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(14,116,2,'2019-08-02','2019-08-02','2020-08-01','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(15,132,1,'2017-04-25','2017-04-25','2019-04-24','Donation',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(16,8,2,'2019-07-31','2019-07-31','2020-07-30','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(17,115,1,'2019-07-30','2019-07-30','2021-07-29','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(18,42,2,'2019-07-29','2019-07-29','2020-07-28','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(19,105,1,'2019-07-28','2019-07-28','2021-07-27','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(20,118,2,'2018-07-27','2018-07-27','2019-07-26','Payment',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(21,18,1,'2019-07-26','2019-07-26','2021-07-25','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(22,78,3,'2019-07-25','2019-07-25',NULL,'Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(23,12,1,'2019-07-24','2019-07-24','2021-07-23','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(24,36,2,'2019-07-23','2019-07-23','2020-07-22','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(25,113,1,'2017-02-04','2017-02-04','2019-02-03','Payment',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(26,57,2,'2019-07-21','2019-07-21','2020-07-20','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(27,26,1,'2019-07-20','2019-07-20','2021-07-19','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(28,182,2,'2019-07-19','2019-07-19','2020-07-18','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(29,134,1,'2019-07-18','2019-07-18','2021-07-17','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(30,183,2,'2018-07-17','2018-07-17','2019-07-16','Donation',4,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,130,1,'2019-09-20','2019-09-20','2021-09-19','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(2,91,2,'2019-09-19','2019-09-19','2020-09-18','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(3,145,1,'2019-09-18','2019-09-18','2021-09-17','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(4,125,2,'2019-09-17','2019-09-17','2020-09-16','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(5,53,1,'2017-08-19','2017-08-19','2019-08-18','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(6,35,2,'2019-09-15','2019-09-15','2020-09-14','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(7,57,1,'2019-09-14','2019-09-14','2021-09-13','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(8,190,2,'2019-09-13','2019-09-13','2020-09-12','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(9,178,1,'2019-09-12','2019-09-12','2021-09-11','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(10,46,1,'2017-07-10','2017-07-10','2019-07-09','Payment',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(11,153,3,'2019-09-10','2019-09-10',NULL,'Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(12,151,2,'2019-09-09','2019-09-09','2020-09-08','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(13,123,1,'2019-09-08','2019-09-08','2021-09-07','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(14,192,2,'2019-09-07','2019-09-07','2020-09-06','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(15,39,1,'2017-05-31','2017-05-31','2019-05-30','Donation',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(16,16,2,'2019-09-05','2019-09-05','2020-09-04','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(17,19,1,'2019-09-04','2019-09-04','2021-09-03','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(18,36,2,'2019-09-03','2019-09-03','2020-09-02','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(19,104,1,'2019-09-02','2019-09-02','2021-09-01','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(20,92,2,'2018-09-01','2018-09-01','2019-08-31','Payment',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(21,10,1,'2019-08-31','2019-08-31','2021-08-30','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(22,173,3,'2019-08-30','2019-08-30',NULL,'Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(23,62,1,'2019-08-29','2019-08-29','2021-08-28','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(24,121,2,'2019-08-28','2019-08-28','2020-08-27','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(25,113,1,'2017-03-12','2017-03-12','2019-03-11','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(26,89,2,'2019-08-26','2019-08-26','2020-08-25','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(27,101,1,'2019-08-25','2019-08-25','2021-08-24','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(28,134,2,'2019-08-24','2019-08-24','2020-08-23','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(29,197,1,'2019-08-23','2019-08-23','2021-08-22','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(30,69,2,'2018-08-22','2018-08-22','2019-08-21','Payment',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL); /*!40000 ALTER TABLE `civicrm_membership` ENABLE KEYS */; UNLOCK TABLES; @@ -916,7 +916,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,6,1,'2019-08-10','2020-08-09',7,'2019-08-15',2,NULL),(2,16,1,'2019-07-31','2020-07-30',8,'2019-08-15',2,NULL),(3,23,1,'2019-07-24','2021-07-23',12,'2019-08-15',1,NULL),(4,10,4,'2018-08-06','2019-08-05',16,'2019-08-15',2,NULL),(5,21,1,'2019-07-26','2021-07-25',18,'2019-08-15',1,NULL),(6,27,1,'2019-07-20','2021-07-19',26,'2019-08-15',1,NULL),(7,24,1,'2019-07-23','2020-07-22',36,'2019-08-15',2,NULL),(8,18,1,'2019-07-29','2020-07-28',42,'2019-08-15',2,NULL),(9,12,1,'2019-08-04','2020-08-03',46,'2019-08-15',2,NULL),(10,13,1,'2019-08-03','2021-08-02',52,'2019-08-15',1,NULL),(11,26,1,'2019-07-21','2020-07-20',57,'2019-08-15',2,NULL),(12,3,1,'2019-08-13','2021-08-12',60,'2019-08-15',1,NULL),(13,22,1,'2019-07-25',NULL,78,'2019-08-15',3,NULL),(14,7,1,'2019-08-09','2021-08-08',90,'2019-08-15',1,NULL),(15,8,1,'2019-08-08','2020-08-07',95,'2019-08-15',2,NULL),(16,19,1,'2019-07-28','2021-07-27',105,'2019-08-15',1,NULL),(17,25,3,'2017-02-04','2019-02-03',113,'2019-08-15',1,NULL),(18,17,1,'2019-07-30','2021-07-29',115,'2019-08-15',1,NULL),(19,14,1,'2019-08-02','2020-08-01',116,'2019-08-15',2,NULL),(20,20,4,'2018-07-27','2019-07-26',118,'2019-08-15',2,NULL),(21,4,1,'2019-08-12','2020-08-11',124,'2019-08-15',2,NULL),(22,15,3,'2017-04-25','2019-04-24',132,'2019-08-15',1,NULL),(23,29,1,'2019-07-18','2021-07-17',134,'2019-08-15',1,NULL),(24,2,1,'2019-08-14','2020-08-13',148,'2019-08-15',2,NULL),(25,9,1,'2019-08-07','2021-08-06',149,'2019-08-15',1,NULL),(26,11,1,'2019-08-05',NULL,159,'2019-08-15',3,NULL),(27,5,3,'2017-07-14','2019-07-13',170,'2019-08-15',1,NULL),(28,1,1,'2019-08-15','2021-08-14',177,'2019-08-15',1,NULL),(29,28,1,'2019-07-19','2020-07-18',182,'2019-08-15',2,NULL),(30,30,4,'2018-07-17','2019-07-16',183,'2019-08-15',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,21,1,'2019-08-31','2021-08-30',10,'2019-09-20',1,NULL),(2,16,1,'2019-09-05','2020-09-04',16,'2019-09-20',2,NULL),(3,17,1,'2019-09-04','2021-09-03',19,'2019-09-20',1,NULL),(4,6,1,'2019-09-15','2020-09-14',35,'2019-09-20',2,NULL),(5,18,1,'2019-09-03','2020-09-02',36,'2019-09-20',2,NULL),(6,15,3,'2017-05-31','2019-05-30',39,'2019-09-20',1,NULL),(7,10,3,'2017-07-10','2019-07-09',46,'2019-09-20',1,NULL),(8,5,3,'2017-08-19','2019-08-18',53,'2019-09-20',1,NULL),(9,7,1,'2019-09-14','2021-09-13',57,'2019-09-20',1,NULL),(10,23,1,'2019-08-29','2021-08-28',62,'2019-09-20',1,NULL),(11,30,4,'2018-08-22','2019-08-21',69,'2019-09-20',2,NULL),(12,26,1,'2019-08-26','2020-08-25',89,'2019-09-20',2,NULL),(13,2,1,'2019-09-19','2020-09-18',91,'2019-09-20',2,NULL),(14,20,4,'2018-09-01','2019-08-31',92,'2019-09-20',2,NULL),(15,27,1,'2019-08-25','2021-08-24',101,'2019-09-20',1,NULL),(16,19,1,'2019-09-02','2021-09-01',104,'2019-09-20',1,NULL),(17,25,3,'2017-03-12','2019-03-11',113,'2019-09-20',1,NULL),(18,24,1,'2019-08-28','2020-08-27',121,'2019-09-20',2,NULL),(19,13,1,'2019-09-08','2021-09-07',123,'2019-09-20',1,NULL),(20,4,1,'2019-09-17','2020-09-16',125,'2019-09-20',2,NULL),(21,1,1,'2019-09-20','2021-09-19',130,'2019-09-20',1,NULL),(22,28,1,'2019-08-24','2020-08-23',134,'2019-09-20',2,NULL),(23,3,1,'2019-09-18','2021-09-17',145,'2019-09-20',1,NULL),(24,12,1,'2019-09-09','2020-09-08',151,'2019-09-20',2,NULL),(25,11,1,'2019-09-10',NULL,153,'2019-09-20',3,NULL),(26,22,1,'2019-08-30',NULL,173,'2019-09-20',3,NULL),(27,9,1,'2019-09-12','2021-09-11',178,'2019-09-20',1,NULL),(28,8,1,'2019-09-13','2020-09-12',190,'2019-09-20',2,NULL),(29,14,1,'2019-09-07','2020-09-06',192,'2019-09-20',2,NULL),(30,29,1,'2019-08-23','2021-08-22',197,'2019-09-20',1,NULL); /*!40000 ALTER TABLE `civicrm_membership_log` ENABLE KEYS */; UNLOCK TABLES; @@ -926,7 +926,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,5,16),(4,7,17),(5,9,18),(6,13,19),(7,15,20),(8,17,21),(9,19,22),(10,21,23),(11,23,24),(12,25,25),(13,27,26),(14,29,27),(15,2,28),(16,4,29),(17,6,30),(18,8,31),(19,10,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); +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; @@ -956,7 +956,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/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:{}'),(2,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:{}'),(3,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:{}'),(4,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:{}'),(5,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:{}'),(6,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:{}'),(7,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:{}'),(8,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:{}'),(9,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:{}'),(10,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:{}'),(11,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\";}'),(12,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:{}'),(13,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:{}'),(14,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/11.png\";}'),(15,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:{}'),(16,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:{}'),(17,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:{}'),(18,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&action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(19,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&action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(20,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:{}'),(21,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:{}'),(22,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:{}'),(23,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:{}'),(24,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:{}'),(25,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:{}'),(26,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:{}'),(27,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:{}'),(28,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:{}'),(29,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:{}'),(30,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:{}'),(31,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:{}'),(32,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:{}'),(33,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:{}'),(34,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:{}'),(35,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:{}'),(36,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:{}'),(37,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:{}'),(38,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:{}'),(39,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:{}'),(40,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:{}'),(41,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(42,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(43,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(44,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(45,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(46,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(47,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(48,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(49,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(50,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(51,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(52,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(53,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(54,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(55,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(56,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:{}'),(57,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:{}'),(58,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:{}'),(59,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:{}'),(60,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:{}'),(61,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:{}'),(62,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:{}'),(63,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:{}'),(64,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:{}'),(65,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:{}'),(66,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:{}'),(67,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:{}'),(68,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:{}'),(69,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:{}'),(70,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:{}'),(71,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:{}'),(72,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:{}'),(73,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:{}'),(74,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:{}'),(75,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:{}'),(76,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:3:{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\";s:4:\"icon\";s:34:\"admin/small/duplicate_matching.png\";}'),(77,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:{}'),(78,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:{}'),(79,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:{}'),(80,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\";}'),(81,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:{}'),(82,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(83,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:{}'),(84,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:{}'),(85,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:{}'),(86,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(87,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:{}'),(88,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:{}'),(89,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:{}'),(90,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:{}'),(91,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:3:{s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";}'),(92,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:{}'),(93,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(94,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:{}'),(95,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:{}'),(96,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:{}'),(97,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:{}'),(98,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:{}'),(99,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:{}'),(100,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(101,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:{}'),(102,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:{}'),(103,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:{}'),(104,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:{}'),(105,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:{}'),(106,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:{}'),(107,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:3:{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\";s:4:\"icon\";s:26:\"admin/small/custm_data.png\";}'),(108,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:{}'),(109,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:{}'),(110,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:{}'),(111,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:{}'),(112,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:{}'),(113,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:{}'),(114,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:3:{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\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),(115,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:{}'),(116,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:{}'),(117,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:{}'),(118,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:{}'),(119,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:{}'),(120,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:{}'),(121,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/05.png\";}'),(122,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:3:{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\";s:4:\"icon\";s:25:\"admin/small/rela_type.png\";}'),(123,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:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/09.png\";}'),(124,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(125,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:3:{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\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(126,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:3:{s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/10.png\";}'),(127,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(128,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\";}'),(129,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(130,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/08.png\";}'),(131,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:3:{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\";s:4:\"icon\";s:7:\"tel.gif\";}'),(132,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:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(133,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:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(134,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:{}'),(135,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:3:{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\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(136,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\";}'),(137,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:3:{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\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(138,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:3:{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\";s:4:\"icon\";s:22:\"admin/small/domain.png\";}'),(139,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:3:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(140,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:3:{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\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(141,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\";}'),(142,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:3:{s:4:\"desc\";s:19:\"Schedule Reminders.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(143,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:{}'),(144,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:3:{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\";s:4:\"icon\";s:29:\"admin/small/communication.png\";}'),(145,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:3:{s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(146,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:3:{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\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(147,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:3:{s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(148,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:3:{s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(149,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:3:{s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(150,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:3:{s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(151,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:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(152,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:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(153,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:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(154,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:3:{s:4:\"desc\";s:30:\"Options for contact languages.\";s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(155,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:3:{s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";s:4:\"icon\";s:18:\"admin/small/03.png\";}'),(156,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.\";}'),(157,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:3:{s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";s:4:\"icon\";s:26:\"admin/small/Synch_user.png\";}'),(158,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:3:{s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:9:\"check.gif\";}'),(159,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(160,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:3:{s:4:\"desc\";s:0:\"\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";}'),(161,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:{}'),(162,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(163,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:3:{s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";}'),(164,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(165,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(166,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(167,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(168,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:3:{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\";s:4:\"icon\";s:26:\"admin/small/updatepath.png\";}'),(169,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(170,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:3:{s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(171,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:3:{s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(172,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:3:{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\";s:4:\"icon\";s:33:\"admin/small/import_export_map.png\";}'),(173,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(174,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(175,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\";}'),(176,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\";}'),(177,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\";}'),(178,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\";}'),(179,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.\";}'),(180,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:3:{s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(181,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:3:{s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:10:\"adminGroup\";s:6:\"Manage\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(182,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:3:{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\";s:4:\"icon\";s:26:\"admin/small/grant_type.png\";}'),(183,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\";}'),(184,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:{}'),(185,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:{}'),(186,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:{}'),(187,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:{}'),(188,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:3:{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\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";}'),(189,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.\";}'),(190,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:{}'),(191,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:{}'),(192,1,'civicrm/admin/tplstrings/add',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\";}','s:25:\"CRM_Admin_Form_Persistent\";',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:{}'),(193,1,'civicrm/admin/tplstrings',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\";}','s:25:\"CRM_Admin_Page_Persistent\";',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:{}'),(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: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: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:3:{s:4:\"desc\";s:27:\"To configure a sms provider\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(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&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,'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:{}'),(217,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:{}'),(218,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:{}'),(219,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:{}'),(220,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\";}',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:14:\"CiviCRM API v3\";s:3:\"url\";s:20:\"/civicrm/api?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(221,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:{}'),(222,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:{}'),(223,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:{}'),(224,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:{}'),(225,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&action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(226,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:{}'),(227,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:{}'),(228,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:{}'),(229,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:{}'),(230,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:{}'),(231,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:{}'),(232,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:{}'),(233,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:{}'),(234,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:{}'),(235,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:{}'),(236,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:{}'),(237,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:{}'),(238,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:{}'),(239,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:{}'),(240,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:{}'),(241,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:{}'),(242,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:{}'),(243,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:{}'),(244,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:{}'),(245,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:{}'),(246,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:{}'),(247,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:{}'),(248,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:{}'),(249,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:{}'),(250,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:{}'),(251,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\";}'),(252,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\";}'),(253,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:{}'),(254,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:{}'),(255,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:{}'),(256,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\";}','s:24:\"CRM_Event_Page_ICalendar\";',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:{}'),(257,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:{}'),(258,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:3:{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\";s:4:\"icon\";s:28:\"admin/small/event_manage.png\";}'),(259,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:3:{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\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(260,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:3:{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\";s:4:\"icon\";s:26:\"admin/small/event_type.png\";}'),(261,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:3:{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\";s:4:\"icon\";s:28:\"admin/small/parti_status.png\";}'),(262,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:3:{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\";s:4:\"icon\";s:26:\"admin/small/parti_role.png\";}'),(263,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:3:{s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(264,1,'civicrm/admin/conference_slots','group=conference_slot','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: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,415,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),(265,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:{}'),(266,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:{}'),(267,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:{}'),(268,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:{}'),(269,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:{}'),(270,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:{}'),(271,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:{}'),(272,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:{}'),(273,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:{}'),(274,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:{}'),(275,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:{}'),(276,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:{}'),(277,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:{}'),(278,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:{}'),(279,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:{}'),(280,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:{}'),(281,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,4,1,0,NULL,'a:0:{}'),(282,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:{}'),(283,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:{}'),(284,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:{}'),(285,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:{}'),(286,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:{}'),(287,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:{}'),(288,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:{}'),(289,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:{}'),(290,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:{}'),(291,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:{}'),(292,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:{}'),(293,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:{}'),(294,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\";}'),(295,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\";}'),(296,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\";}'),(297,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:{}'),(298,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:3:{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\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";}'),(299,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:{}'),(300,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:{}'),(301,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:{}'),(302,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:{}'),(303,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:{}'),(304,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:{}'),(305,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:{}'),(306,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:{}'),(307,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:{}'),(308,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:{}'),(309,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:3:{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\";s:4:\"icon\";s:24:\"admin/small/Premiums.png\";}'),(310,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\";}'),(311,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\";}'),(312,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:3:{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\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";}'),(313,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:3:{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\";s:4:\"icon\";s:35:\"admin/small/payment_instruments.png\";}'),(314,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:3:{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\";s:4:\"icon\";s:36:\"admin/small/accepted_creditcards.png\";}'),(315,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:3:{s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:32:\"admin/small/soft_credit_type.png\";}'),(316,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(317,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(318,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&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:{}'),(319,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:{}'),(320,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:{}'),(321,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:{}'),(322,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:{}'),(323,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:{}'),(324,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:{}'),(325,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:{}'),(326,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:{}'),(327,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:{}'),(328,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:{}'),(329,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:{}'),(330,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:{}'),(331,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:{}'),(332,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:{}'),(333,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:{}'),(334,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:{}'),(335,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&action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(336,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\";}'),(337,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\";}'),(338,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\";}'),(339,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:{}'),(340,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:{}'),(341,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:{}'),(342,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:{}'),(343,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:{}'),(344,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\";}'),(345,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\";}'),(346,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:3:{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\";s:4:\"icon\";s:31:\"admin/small/membership_type.png\";}'),(347,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:3:{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\";s:4:\"icon\";s:33:\"admin/small/membership_status.png\";}'),(348,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,2,1,0,NULL,'a:0:{}'),(349,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:{}'),(350,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:{}'),(351,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:{}'),(352,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:{}'),(353,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:{}'),(354,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\";}'),(355,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:3:{s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(356,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:3:{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\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),(357,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:3:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(358,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:3:{s:4:\"desc\";s:32:\"Configure email account setting.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(359,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:{}'),(360,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:{}'),(361,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:{}'),(362,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:{}'),(363,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:{}'),(364,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:{}'),(365,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:{}'),(366,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:{}'),(367,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:{}'),(368,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:{}'),(369,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:{}'),(370,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:{}'),(371,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:{}'),(372,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:{}'),(373,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&mid=%%mid%%\";}}',NULL,NULL,4,NULL,NULL,NULL,0,695,1,0,NULL,'a:0:{}'),(374,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:{}'),(375,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:{}'),(376,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:{}'),(377,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(378,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:{}'),(379,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\";}'),(380,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:{}'),(381,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:{}'),(382,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\";}'),(383,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(384,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\";}'),(385,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:{}'),(386,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,570,1,0,NULL,'a:0:{}'),(387,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\";}'),(388,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:{}'),(389,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:{}'),(390,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\";}'),(391,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\";}'),(392,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:{}'),(393,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:{}'),(394,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:{}'),(395,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:{}'),(396,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(397,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:{}'),(398,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&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:{}'),(399,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:{}'),(400,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:{}'),(401,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:2:{s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(402,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:3:{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\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(403,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:3:{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\";s:4:\"icon\";s:30:\"admin/small/redaction_type.png\";}'),(404,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:3:{s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(405,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:3:{s:4:\"desc\";s:26:\"List of encounter mediums.\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(406,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:{}'),(407,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:{}'),(408,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:{}'),(409,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:{}'),(410,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:{}'),(411,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:{}'),(412,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\";}'),(413,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,1,NULL,0,1,1,0,NULL,'a:0:{}'),(414,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:{}'),(415,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:{}'),(416,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.\";}'),(417,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,1,NULL,0,1,1,0,NULL,'a:0:{}'),(418,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:3:{s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:31:\"admin/small/report_template.gif\";}'),(419,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:3:{s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(420,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:3:{s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:27:\"admin/small/report_list.gif\";}'),(421,1,'civicrm/report/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:17:\"access CiviReport\";}i:1;s:3:\"and\";}','a:2:{i:0;s:15:\"CRM_Report_Form\";i:1;s:16:\"uploadChartImage\";}',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/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\";}'),(423,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\";}'),(424,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\";}'),(425,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\";}'),(426,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:3:{s:4:\"icon\";s:18:\"admin/small/05.png\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(427,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:4:{s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(428,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:4:{s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(429,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:4:{s:4:\"desc\";s:18:\"Engagement levels.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(430,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\";}'),(431,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\";}'),(432,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:{}'),(433,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:{}'),(434,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:{}'),(435,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:{}'),(436,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:{}'),(437,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:{}'),(438,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:{}'),(439,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:{}'),(440,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:{}'),(441,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:{}'),(442,1,'admin',NULL,NULL,NULL,NULL,NULL,NULL,'a:15:{s:26:\"Customize Data and Screens\";a:3:{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\";s:18:\"admin/small/11.png\";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\";s:26:\"admin/small/custm_data.png\";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\";s:23:\"admin/small/Profile.png\";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\";s:18:\"admin/small/05.png\";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\";s:25:\"admin/small/rela_type.png\";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\";s:18:\"admin/small/09.png\";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\";s:18:\"admin/small/01.png\";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\";s:21:\"admin/small/title.png\";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\";s:18:\"admin/small/10.png\";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\";s:18:\"admin/small/13.png\";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\";s:18:\"admin/small/07.png\";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\";s:18:\"admin/small/08.png\";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\";s:7:\"tel.gif\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:24:\"admin/small/template.png\";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\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:10;}s:6:\"Manage\";a:3:{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\";s:34:\"admin/small/duplicate_matching.png\";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\";s:18:\"admin/small/13.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}s:14:\"CiviContribute\";a:3:{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&reset=1\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";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\";s:41:\"admin/small/online_contribution_pages.png\";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\";s:24:\"admin/small/Premiums.png\";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\";s:34:\"admin/small/contribution_types.png\";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\";s:35:\"admin/small/payment_instruments.png\";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\";s:36:\"admin/small/accepted_creditcards.png\";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\";s:32:\"admin/small/soft_credit_type.png\";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:9:\"perColumn\";d:5;}s:14:\"Communications\";a:3:{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&reset=1\";s:4:\"icon\";s:22:\"admin/small/domain.png\";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\";s:21:\"admin/small/title.png\";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\";s:24:\"admin/small/template.png\";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\";s:24:\"admin/small/template.png\";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\";s:29:\"admin/small/communication.png\";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\";s:24:\"admin/small/template.png\";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\";s:24:\"admin/small/template.png\";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\";s:18:\"admin/small/01.png\";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\";s:18:\"admin/small/01.png\";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\";s:18:\"admin/small/01.png\";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\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:6;}s:12:\"Localization\";a:3:{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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}s:21:\"Users and Permissions\";a:3:{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\";s:18:\"admin/small/03.png\";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\";s:26:\"admin/small/Synch_user.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:15:\"System Settings\";a:3:{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\";s:9:\"check.gif\";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\";s:18:\"admin/small/36.png\";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\";s:26:\"admin/small/price_sets.png\";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\";s:18:\"admin/small/07.png\";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\";s:41:\"admin/small/online_contribution_pages.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:26:\"admin/small/updatepath.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/01.png\";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\";s:18:\"admin/small/01.png\";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\";s:33:\"admin/small/import_export_map.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/13.png\";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\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:9;}s:12:\"CiviCampaign\";a:3:{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\";s:18:\"admin/small/05.png\";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\";s:18:\"admin/small/05.png\";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\";s:18:\"admin/small/05.png\";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\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:9:\"CiviEvent\";a:3:{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&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\";s:28:\"admin/small/event_manage.png\";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\";s:24:\"admin/small/template.png\";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\";s:26:\"admin/small/event_type.png\";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\";s:28:\"admin/small/parti_status.png\";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\";s:26:\"admin/small/parti_role.png\";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\";s:18:\"admin/small/01.png\";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:65:\"/civicrm/admin/conference_slots?group=conference_slot&reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}s:9:\"perColumn\";d:5;}s:8:\"CiviMail\";a:3:{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\";s:18:\"admin/small/07.png\";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\";s:23:\"admin/small/Profile.png\";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\";s:21:\"admin/small/title.png\";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\";s:18:\"admin/small/07.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:10:\"CiviMember\";a:3:{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\";s:31:\"admin/small/membership_type.png\";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\";s:33:\"admin/small/membership_status.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}s:12:\"Option Lists\";a:3:{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\";s:26:\"admin/small/grant_type.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:9:\"Customize\";a:3:{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\";s:26:\"admin/small/price_sets.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:8:\"CiviCase\";a:3:{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\";s:18:\"admin/small/36.png\";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\";s:25:\"admin/small/case_type.png\";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\";s:30:\"admin/small/redaction_type.png\";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\";s:25:\"admin/small/case_type.png\";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\";s:25:\"admin/small/case_type.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:10:\"CiviReport\";a:3:{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\";s:31:\"admin/small/report_template.gif\";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\";s:24:\"admin/small/template.png\";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\";s:27:\"admin/small/report_list.gif\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}}',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/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:{}'),(2,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(3,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:{}'),(4,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:{}'),(5,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:{}'),(6,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:{}'),(7,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:{}'),(8,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:{}'),(9,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(10,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:3:{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\";s:4:\"icon\";s:26:\"admin/small/custm_data.png\";}'),(11,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:{}'),(12,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:{}'),(13,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:{}'),(14,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:{}'),(15,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:{}'),(16,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:{}'),(17,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:3:{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\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),(18,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:{}'),(19,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:{}'),(20,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:{}'),(21,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:{}'),(22,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:{}'),(23,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:{}'),(24,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/05.png\";}'),(25,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:3:{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\";s:4:\"icon\";s:25:\"admin/small/rela_type.png\";}'),(26,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:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/09.png\";}'),(27,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(28,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:3:{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\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(29,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:3:{s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/10.png\";}'),(30,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(31,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\";}'),(32,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(33,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/08.png\";}'),(34,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:3:{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\";s:4:\"icon\";s:7:\"tel.gif\";}'),(35,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:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(36,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:2:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(37,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:{}'),(38,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:3:{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\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(39,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\";}'),(40,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:3:{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\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(41,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:3:{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\";s:4:\"icon\";s:22:\"admin/small/domain.png\";}'),(42,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:3:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(43,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:3:{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\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(44,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\";}'),(45,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:3:{s:4:\"desc\";s:19:\"Schedule Reminders.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(46,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:{}'),(47,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:3:{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\";s:4:\"icon\";s:29:\"admin/small/communication.png\";}'),(48,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:3:{s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(49,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:3:{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\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(50,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:3:{s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(51,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:3:{s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(52,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:3:{s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(53,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:3:{s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(54,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:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(55,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:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(56,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:2:{s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(57,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:3:{s:4:\"desc\";s:30:\"Options for contact languages.\";s:10:\"adminGroup\";s:12:\"Localization\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(58,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:3:{s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";s:4:\"icon\";s:18:\"admin/small/03.png\";}'),(59,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.\";}'),(60,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:3:{s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";s:4:\"icon\";s:26:\"admin/small/Synch_user.png\";}'),(61,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:3:{s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:9:\"check.gif\";}'),(62,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(63,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:3:{s:4:\"desc\";s:0:\"\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";}'),(64,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:{}'),(65,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(66,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:3:{s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";}'),(67,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(68,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(69,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(70,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(71,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:3:{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\";s:4:\"icon\";s:26:\"admin/small/updatepath.png\";}'),(72,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(73,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:3:{s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(74,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:3:{s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(75,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:3:{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\";s:4:\"icon\";s:33:\"admin/small/import_export_map.png\";}'),(76,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(77,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:2:{s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(78,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\";}'),(79,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\";}'),(80,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\";}'),(81,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\";}'),(82,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.\";}'),(83,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:3:{s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(84,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:3:{s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:10:\"adminGroup\";s:6:\"Manage\";s:4:\"icon\";s:18:\"admin/small/13.png\";}'),(85,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:3:{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\";s:4:\"icon\";s:26:\"admin/small/grant_type.png\";}'),(86,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\";}'),(87,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:{}'),(88,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:{}'),(89,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:{}'),(90,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:{}'),(91,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:3:{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\";s:4:\"icon\";s:26:\"admin/small/price_sets.png\";}'),(92,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.\";}'),(93,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:{}'),(94,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:{}'),(95,1,'civicrm/admin/tplstrings/add',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\";}','s:25:\"CRM_Admin_Form_Persistent\";',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:{}'),(96,1,'civicrm/admin/tplstrings',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\";}','s:25:\"CRM_Admin_Page_Persistent\";',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:{}'),(97,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:{}'),(98,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: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: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:{}'),(99,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:3:{s:4:\"desc\";s:27:\"To configure a sms provider\";s:10:\"adminGroup\";s:15:\"System Settings\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(100,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:{}'),(101,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:{}'),(102,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\";}'),(103,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&action=browse\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),(104,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:{}'),(105,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:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','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:{}'),(106,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:{}'),(107,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:{}'),(108,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:{}'),(109,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:{}'),(110,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:{}'),(111,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:{}'),(112,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:{}'),(113,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:{}'),(114,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:{}'),(115,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:{}'),(116,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:{}'),(117,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:{}'),(118,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:{}'),(119,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:{}'),(120,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:{}'),(121,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:{}'),(122,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:{}'),(123,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:{}'),(124,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:{}'),(125,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:{}'),(126,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:{}'),(127,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:{}'),(128,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(129,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(130,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(131,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(132,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(133,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(134,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(135,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(136,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(137,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(138,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(139,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(140,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(141,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(142,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(143,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:{}'),(144,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:{}'),(145,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:{}'),(146,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:{}'),(147,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:{}'),(148,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:{}'),(149,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:{}'),(150,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:{}'),(151,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:{}'),(152,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:{}'),(153,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:{}'),(154,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:{}'),(155,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:{}'),(156,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:{}'),(157,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:{}'),(158,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:{}'),(159,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:{}'),(160,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:{}'),(161,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:{}'),(162,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:{}'),(163,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:3:{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\";s:4:\"icon\";s:34:\"admin/small/duplicate_matching.png\";}'),(164,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:{}'),(165,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:{}'),(166,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:{}'),(167,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\";}'),(168,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:{}'),(169,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(170,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:{}'),(171,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:{}'),(172,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:{}'),(173,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&action=add&context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(174,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:{}'),(175,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:{}'),(176,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:{}'),(177,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:{}'),(178,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:{}'),(179,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:{}'),(180,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:{}'),(181,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\";}'),(182,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:{}'),(183,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:{}'),(184,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:{}'),(185,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:{}'),(186,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:{}'),(187,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:{}'),(188,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:{}'),(189,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:{}'),(190,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:{}'),(191,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:{}'),(192,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:{}'),(193,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:{}'),(194,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:{}'),(195,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:{}'),(196,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:{}'),(197,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:{}'),(198,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:{}'),(199,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:{}'),(200,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:{}'),(201,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:{}'),(202,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:{}'),(203,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:{}'),(204,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:{}'),(205,1,'civicrm/api',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:{}'),(206,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:{}'),(207,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:{}'),(208,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:{}'),(209,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\";}',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:14:\"CiviCRM API v3\";s:3:\"url\";s:20:\"/civicrm/api?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(210,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:{}'),(211,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:{}'),(212,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:{}'),(213,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:{}'),(214,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&action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),(215,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:{}'),(216,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:{}'),(217,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:{}'),(218,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:{}'),(219,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:{}'),(220,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:{}'),(221,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:{}'),(222,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:{}'),(223,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:{}'),(224,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:{}'),(225,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:{}'),(226,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:{}'),(227,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:{}'),(228,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:{}'),(229,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:{}'),(230,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:{}'),(231,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:{}'),(232,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:{}'),(233,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:{}'),(234,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:{}'),(235,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:{}'),(236,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:{}'),(237,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:{}'),(238,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:{}'),(239,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:{}'),(240,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&action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),(241,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&action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),(242,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:{}'),(243,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:{}'),(244,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:{}'),(245,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:3:{s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";}'),(246,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:{}'),(247,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:{}'),(248,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:{}'),(249,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:3:{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\";s:4:\"icon\";s:18:\"admin/small/11.png\";}'),(250,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:{}'),(251,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:{}'),(252,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:{}'),(253,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\";}'),(254,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\";}'),(255,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:{}'),(256,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:{}'),(257,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:{}'),(258,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\";}','s:24:\"CRM_Event_Page_ICalendar\";',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:3:{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\";s:4:\"icon\";s:28:\"admin/small/event_manage.png\";}'),(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:3:{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\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(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:3:{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\";s:4:\"icon\";s:26:\"admin/small/event_type.png\";}'),(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:3:{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\";s:4:\"icon\";s:28:\"admin/small/parti_status.png\";}'),(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:3:{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\";s:4:\"icon\";s:26:\"admin/small/parti_role.png\";}'),(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:3:{s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";s:4:\"icon\";s:18:\"admin/small/01.png\";}'),(266,1,'civicrm/admin/conference_slots','group=conference_slot','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: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,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&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:3:{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\";s:4:\"icon\";s:41:\"admin/small/online_contribution_pages.png\";}'),(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:3:{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\";s:4:\"icon\";s:24:\"admin/small/Premiums.png\";}'),(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:3:{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\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";}'),(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:3:{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\";s:4:\"icon\";s:35:\"admin/small/payment_instruments.png\";}'),(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:3:{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\";s:4:\"icon\";s:36:\"admin/small/accepted_creditcards.png\";}'),(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:3:{s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:10:\"adminGroup\";s:14:\"CiviContribute\";s:4:\"icon\";s:32:\"admin/small/soft_credit_type.png\";}'),(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&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&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&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&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:3:{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\";s:4:\"icon\";s:31:\"admin/small/membership_type.png\";}'),(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:3:{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\";s:4:\"icon\";s:33:\"admin/small/membership_status.png\";}'),(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&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:3:{s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(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:3:{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\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),(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:3:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:21:\"admin/small/title.png\";}'),(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:3:{s:4:\"desc\";s:32:\"Configure email account setting.\";s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:18:\"admin/small/07.png\";}'),(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&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&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/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\";}'),(382,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:{}'),(383,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:{}'),(384,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\";}'),(385,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(386,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\";}'),(387,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:{}'),(388,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,570,1,0,NULL,'a:0:{}'),(389,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\";}'),(390,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:{}'),(391,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:{}'),(392,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\";}'),(393,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\";}'),(394,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:{}'),(395,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:{}'),(396,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:{}'),(397,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:{}'),(398,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&cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),(399,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:{}'),(400,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&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:{}'),(401,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:{}'),(402,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:{}'),(403,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:2:{s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:18:\"admin/small/36.png\";}'),(404,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:3:{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\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(405,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:3:{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\";s:4:\"icon\";s:30:\"admin/small/redaction_type.png\";}'),(406,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:3:{s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(407,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:3:{s:4:\"desc\";s:26:\"List of encounter mediums.\";s:10:\"adminGroup\";s:8:\"CiviCase\";s:4:\"icon\";s:25:\"admin/small/case_type.png\";}'),(408,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:{}'),(409,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:{}'),(410,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:{}'),(411,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:{}'),(412,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:{}'),(413,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:{}'),(414,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\";}'),(415,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:{}'),(416,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:{}'),(417,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:{}'),(418,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.\";}'),(419,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:{}'),(420,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:3:{s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:31:\"admin/small/report_template.gif\";}'),(421,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:3:{s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:24:\"admin/small/template.png\";}'),(422,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:3:{s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:10:\"adminGroup\";s:10:\"CiviReport\";s:4:\"icon\";s:27:\"admin/small/report_list.gif\";}'),(423,1,'civicrm/report/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:17:\"access CiviReport\";}i:1;s:3:\"and\";}','a:2:{i:0;s:15:\"CRM_Report_Form\";i:1;s:16:\"uploadChartImage\";}',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:{}'),(424,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\";}'),(425,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\";}'),(426,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\";}'),(427,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\";}'),(428,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:3:{s:4:\"icon\";s:18:\"admin/small/05.png\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(429,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:4:{s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(430,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:4:{s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(431,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:4:{s:4:\"desc\";s:18:\"Engagement levels.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:4:\"icon\";s:18:\"admin/small/05.png\";s:9:\"component\";s:12:\"CiviCampaign\";}'),(432,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\";}'),(433,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\";}'),(434,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:{}'),(435,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:{}'),(436,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:{}'),(437,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:{}'),(438,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:{}'),(439,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:{}'),(440,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:{}'),(441,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:{}'),(442,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:{}'),(443,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:{}'),(444,1,'admin',NULL,NULL,NULL,NULL,NULL,NULL,'a:15:{s:26:\"Customize Data and Screens\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{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\";s:26:\"admin/small/custm_data.png\";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\";s:23:\"admin/small/Profile.png\";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\";s:18:\"admin/small/05.png\";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\";s:25:\"admin/small/rela_type.png\";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\";s:18:\"admin/small/09.png\";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\";s:18:\"admin/small/01.png\";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\";s:21:\"admin/small/title.png\";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\";s:18:\"admin/small/10.png\";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\";s:18:\"admin/small/13.png\";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\";s:18:\"admin/small/07.png\";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\";s:18:\"admin/small/08.png\";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\";s:7:\"tel.gif\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:24:\"admin/small/template.png\";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\";s:24:\"admin/small/template.png\";s:5:\"extra\";N;}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\";s:18:\"admin/small/11.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:10;}s:14:\"Communications\";a:3:{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&reset=1\";s:4:\"icon\";s:22:\"admin/small/domain.png\";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\";s:21:\"admin/small/title.png\";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\";s:24:\"admin/small/template.png\";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\";s:24:\"admin/small/template.png\";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\";s:29:\"admin/small/communication.png\";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\";s:24:\"admin/small/template.png\";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\";s:24:\"admin/small/template.png\";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\";s:18:\"admin/small/01.png\";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\";s:18:\"admin/small/01.png\";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\";s:18:\"admin/small/01.png\";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\";s:18:\"admin/small/01.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:6;}s:12:\"Localization\";a:3:{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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}s:21:\"Users and Permissions\";a:3:{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\";s:18:\"admin/small/03.png\";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\";s:26:\"admin/small/Synch_user.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:15:\"System Settings\";a:3:{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\";s:9:\"check.gif\";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\";s:18:\"admin/small/36.png\";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\";s:26:\"admin/small/price_sets.png\";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\";s:18:\"admin/small/07.png\";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\";s:41:\"admin/small/online_contribution_pages.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:26:\"admin/small/updatepath.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/01.png\";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\";s:18:\"admin/small/01.png\";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\";s:33:\"admin/small/import_export_map.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/36.png\";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\";s:18:\"admin/small/13.png\";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\";s:18:\"admin/small/36.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:9;}s:12:\"CiviCampaign\";a:3:{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\";s:18:\"admin/small/05.png\";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\";s:18:\"admin/small/05.png\";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\";s:18:\"admin/small/05.png\";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\";s:18:\"admin/small/05.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:9:\"CiviEvent\";a:3:{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&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\";s:28:\"admin/small/event_manage.png\";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\";s:24:\"admin/small/template.png\";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\";s:26:\"admin/small/event_type.png\";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\";s:28:\"admin/small/parti_status.png\";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\";s:26:\"admin/small/parti_role.png\";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\";s:18:\"admin/small/01.png\";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:65:\"/civicrm/admin/conference_slots?group=conference_slot&reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}s:9:\"perColumn\";d:5;}s:8:\"CiviMail\";a:3:{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\";s:18:\"admin/small/07.png\";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\";s:23:\"admin/small/Profile.png\";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\";s:21:\"admin/small/title.png\";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\";s:18:\"admin/small/07.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:10:\"CiviMember\";a:3:{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\";s:31:\"admin/small/membership_type.png\";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\";s:33:\"admin/small/membership_status.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}s:6:\"Manage\";a:3:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{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\";s:18:\"admin/small/13.png\";s:5:\"extra\";N;}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\";s:34:\"admin/small/duplicate_matching.png\";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:9:\"perColumn\";d:2;}s:12:\"Option Lists\";a:3:{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\";s:26:\"admin/small/grant_type.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:9:\"Customize\";a:3:{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\";s:26:\"admin/small/price_sets.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:1;}s:14:\"CiviContribute\";a:3:{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&reset=1\";s:4:\"icon\";s:34:\"admin/small/contribution_types.png\";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\";s:41:\"admin/small/online_contribution_pages.png\";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\";s:24:\"admin/small/Premiums.png\";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\";s:34:\"admin/small/contribution_types.png\";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\";s:35:\"admin/small/payment_instruments.png\";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\";s:36:\"admin/small/accepted_creditcards.png\";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\";s:32:\"admin/small/soft_credit_type.png\";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:9:\"perColumn\";d:5;}s:8:\"CiviCase\";a:3:{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\";s:18:\"admin/small/36.png\";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\";s:25:\"admin/small/case_type.png\";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\";s:30:\"admin/small/redaction_type.png\";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\";s:25:\"admin/small/case_type.png\";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\";s:25:\"admin/small/case_type.png\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:3;}s:10:\"CiviReport\";a:3:{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\";s:31:\"admin/small/report_template.gif\";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\";s:24:\"admin/small/template.png\";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\";s:27:\"admin/small/report_list.gif\";s:5:\"extra\";N;}}s:9:\"perColumn\";d:2;}}',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,NULL,'a:0:{}'); /*!40000 ALTER TABLE `civicrm_menu` ENABLE KEYS */; UNLOCK TABLES; @@ -976,7 +976,7 @@ UNLOCK TABLES; LOCK TABLES `civicrm_navigation` WRITE; /*!40000 ALTER TABLE `civicrm_navigation` DISABLE KEYS */; -INSERT INTO `civicrm_navigation` (`id`, `domain_id`, `label`, `name`, `url`, `icon`, `permission`, `permission_operator`, `parent_id`, `is_active`, `has_separator`, `weight`) VALUES (1,1,'Home','Home','civicrm/dashboard?reset=1',NULL,NULL,'',NULL,1,NULL,0),(2,1,'Search','Search',NULL,'crm-i fa-search',NULL,'',NULL,1,NULL,10),(3,1,'Find Contacts','Find Contacts','civicrm/contact/search?reset=1',NULL,NULL,'',2,1,NULL,1),(4,1,'Advanced Search','Advanced Search','civicrm/contact/search/advanced?reset=1',NULL,NULL,'',2,1,NULL,2),(5,1,'Full-text Search','Full-text Search','civicrm/contact/search/custom?csid=15&reset=1',NULL,NULL,'',2,1,NULL,3),(6,1,'Search Builder','Search Builder','civicrm/contact/search/builder?reset=1',NULL,NULL,'',2,1,1,4),(7,1,'Find Cases','Find Cases','civicrm/case/search?reset=1',NULL,'access my cases and activities,access all cases and activities','OR',2,1,NULL,5),(8,1,'Find Contributions','Find Contributions','civicrm/contribute/search?reset=1',NULL,'access CiviContribute','',2,1,NULL,6),(9,1,'Find Mailings','Find Mailings','civicrm/mailing?reset=1',NULL,'access CiviMail','',2,1,NULL,7),(10,1,'Find Memberships','Find Memberships','civicrm/member/search?reset=1',NULL,'access CiviMember','',2,1,NULL,8),(11,1,'Find Participants','Find Participants','civicrm/event/search?reset=1',NULL,'access CiviEvent','',2,1,NULL,9),(12,1,'Find Pledges','Find Pledges','civicrm/pledge/search?reset=1',NULL,'access CiviPledge','',2,1,NULL,10),(13,1,'Find Activities','Find Activities','civicrm/activity/search?reset=1',NULL,NULL,'',2,1,1,11),(14,1,'Custom Searches','Custom Searches','civicrm/contact/search/custom/list?reset=1',NULL,NULL,'',2,1,NULL,12),(15,1,'Contacts','Contacts',NULL,'crm-i fa-address-book-o',NULL,'',NULL,1,NULL,20),(16,1,'New Individual','New Individual','civicrm/contact/add?reset=1&ct=Individual',NULL,'add contacts','',15,1,NULL,1),(17,1,'New Household','New Household','civicrm/contact/add?reset=1&ct=Household',NULL,'add contacts','',15,1,NULL,2),(18,1,'New Organization','New Organization','civicrm/contact/add?reset=1&ct=Organization',NULL,'add contacts','',15,1,1,3),(19,1,'Contact Reports','Contact Reports','civicrm/report/list?compid=99&reset=1',NULL,'access CiviReport','',15,1,1,4),(20,1,'New Activity','New Activity','civicrm/activity?reset=1&action=add&context=standalone',NULL,NULL,'',15,1,NULL,5),(21,1,'New Email','New Email','civicrm/activity/email/add?atype=3&action=add&reset=1&context=standalone',NULL,NULL,'',15,1,1,6),(22,1,'Import Contacts','Import Contacts','civicrm/import/contact?reset=1',NULL,'import contacts','',15,1,NULL,7),(23,1,'Import Activities','Import Activities','civicrm/import/activity?reset=1',NULL,'import contacts','',15,1,1,8),(24,1,'New Group','New Group','civicrm/group/add?reset=1',NULL,'edit groups','',15,1,NULL,9),(25,1,'Manage Groups','Manage Groups','civicrm/group?reset=1',NULL,'access CiviCRM','',15,1,1,10),(26,1,'New Tag','New Tag','civicrm/tag?reset=1&action=add',NULL,'manage tags','',15,1,NULL,11),(27,1,'Manage Tags (Categories)','Manage Tags (Categories)','civicrm/tag?reset=1',NULL,'manage tags','',15,1,1,12),(28,1,'Find and Merge Duplicate Contacts','Find and Merge Duplicate Contacts','civicrm/contact/deduperules?reset=1',NULL,'administer dedupe rules,merge duplicate contacts','OR',15,1,NULL,13),(29,1,'Contributions','Contributions',NULL,'crm-i fa-credit-card','access CiviContribute','',NULL,1,NULL,30),(30,1,'Dashboard','Dashboard','civicrm/contribute?reset=1',NULL,'access CiviContribute','',29,1,NULL,1),(31,1,'New Contribution','New Contribution','civicrm/contribute/add?reset=1&action=add&context=standalone',NULL,'access CiviContribute,edit contributions','AND',29,1,NULL,2),(32,1,'Find Contributions','Find Contributions','civicrm/contribute/search?reset=1',NULL,'access CiviContribute','',29,1,NULL,3),(33,1,'Contribution Reports','Contribution Reports','civicrm/report/list?compid=2&reset=1',NULL,'access CiviContribute','',29,1,1,4),(34,1,'Import Contributions','Import Contributions','civicrm/contribute/import?reset=1',NULL,'access CiviContribute,edit contributions','AND',29,1,1,5),(35,1,'Batch Data Entry','Batch Data Entry','civicrm/batch?reset=1',NULL,'access CiviContribute','',29,1,NULL,7),(36,1,'Pledges','Pledges',NULL,NULL,'access CiviPledge','',29,1,1,6),(37,1,'Accounting Batches','Accounting Batches',NULL,NULL,'view own manual batches,view all manual batches','OR',29,1,1,8),(38,1,'Dashboard','Dashboard','civicrm/pledge?reset=1',NULL,'access CiviPledge','',36,1,NULL,1),(39,1,'New Pledge','New Pledge','civicrm/pledge/add?reset=1&action=add&context=standalone',NULL,'access CiviPledge,edit pledges','AND',36,1,NULL,2),(40,1,'Find Pledges','Find Pledges','civicrm/pledge/search?reset=1',NULL,'access CiviPledge','',36,1,NULL,3),(41,1,'Pledge Reports','Pledge Reports','civicrm/report/list?compid=6&reset=1',NULL,'access CiviPledge','',36,1,0,4),(42,1,'New Contribution Page','New Contribution Page','civicrm/admin/contribute/add?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,NULL,9),(43,1,'Manage Contribution Pages','Manage Contribution Pages','civicrm/admin/contribute?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,1,10),(44,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=contribute',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,NULL,11),(45,1,'Premiums (Thank-you Gifts)','Premiums','civicrm/admin/contribute/managePremiums?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,1,12),(46,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,NULL,13),(47,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,1,14),(48,1,'New Batch','New Batch','civicrm/financial/batch?reset=1&action=add',NULL,'create manual batch','AND',37,1,NULL,1),(49,1,'Open Batches','Open Batches','civicrm/financial/financialbatches?reset=1&batchStatus=1',NULL,'view own manual batches,view all manual batches','OR',37,1,NULL,2),(50,1,'Closed Batches','Closed Batches','civicrm/financial/financialbatches?reset=1&batchStatus=2',NULL,'view own manual batches,view all manual batches','OR',37,1,NULL,3),(51,1,'Exported Batches','Exported Batches','civicrm/financial/financialbatches?reset=1&batchStatus=5',NULL,'view own manual batches,view all manual batches','OR',37,1,NULL,4),(52,1,'Events','Events',NULL,'crm-i fa-calendar','access CiviEvent','',NULL,1,NULL,40),(53,1,'Dashboard','CiviEvent Dashboard','civicrm/event?reset=1',NULL,'access CiviEvent','',52,1,NULL,1),(54,1,'Register Event Participant','Register Event Participant','civicrm/participant/add?reset=1&action=add&context=standalone',NULL,'access CiviEvent,edit event participants','AND',52,1,NULL,2),(55,1,'Find Participants','Find Participants','civicrm/event/search?reset=1',NULL,'access CiviEvent','',52,1,NULL,3),(56,1,'Event Reports','Event Reports','civicrm/report/list?compid=1&reset=1',NULL,'access CiviEvent','',52,1,1,4),(57,1,'Import Participants','Import Participants','civicrm/event/import?reset=1',NULL,'access CiviEvent,edit event participants','AND',52,1,1,5),(58,1,'New Event','New Event','civicrm/event/add?reset=1&action=add',NULL,'access CiviEvent,edit all events','AND',52,1,NULL,6),(59,1,'Manage Events','Manage Events','civicrm/event/manage?reset=1',NULL,'access CiviEvent,edit all events','AND',52,1,1,7),(60,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=event',NULL,'access CiviEvent,administer CiviCRM','AND',52,1,1,8),(61,1,'Event Templates','Event Templates','civicrm/admin/eventTemplate?reset=1',NULL,'access CiviEvent,edit all events','AND',52,1,1,9),(62,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviEvent,edit all events','AND',52,1,NULL,10),(63,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviEvent,edit all events','AND',52,1,NULL,11),(64,1,'Mailings','Mailings',NULL,'crm-i fa-envelope-o','access CiviMail,create mailings,approve mailings,schedule mailings,send SMS','OR',NULL,1,NULL,50),(65,1,'New Mailing','New Mailing','civicrm/mailing/send?reset=1',NULL,'access CiviMail,create mailings','OR',64,1,NULL,1),(66,1,'Draft and Unscheduled Mailings','Draft and Unscheduled Mailings','civicrm/mailing/browse/unscheduled?reset=1&scheduled=false',NULL,'access CiviMail,create mailings,schedule mailings','OR',64,1,NULL,2),(67,1,'Scheduled and Sent Mailings','Scheduled and Sent Mailings','civicrm/mailing/browse/scheduled?reset=1&scheduled=true',NULL,'access CiviMail,approve mailings,create mailings,schedule mailings','OR',64,1,NULL,3),(68,1,'Archived Mailings','Archived Mailings','civicrm/mailing/browse/archived?reset=1',NULL,'access CiviMail,create mailings','OR',64,1,NULL,4),(69,1,'Mailing Reports','Mailing Reports','civicrm/report/list?compid=4&reset=1',NULL,'access CiviMail','',64,1,1,5),(70,1,'Headers, Footers, and Automated Messages','Headers, Footers, and Automated Messages','civicrm/admin/component?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',64,1,NULL,6),(71,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'edit message templates','',64,1,NULL,7),(72,1,'From Email Addresses','From Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',64,1,1,8),(73,1,'New SMS','New SMS','civicrm/sms/send?reset=1',NULL,'send SMS',NULL,64,1,NULL,9),(74,1,'Find Mass SMS','Find Mass SMS','civicrm/mailing/browse?reset=1&sms=1',NULL,'send SMS',NULL,64,1,1,10),(75,1,'New A/B Test','New A/B Test','civicrm/a/#/abtest/new',NULL,'access CiviMail','',64,1,NULL,15),(76,1,'Manage A/B Tests','Manage A/B Tests','civicrm/a/#/abtest',NULL,'access CiviMail','',64,1,1,16),(77,1,'Memberships','Memberships',NULL,'crm-i fa-id-badge','access CiviMember','',NULL,1,NULL,60),(78,1,'Dashboard','Dashboard','civicrm/member?reset=1',NULL,'access CiviMember','',77,1,NULL,1),(79,1,'New Membership','New Membership','civicrm/member/add?reset=1&action=add&context=standalone',NULL,'access CiviMember,edit memberships','AND',77,1,NULL,2),(80,1,'Find Memberships','Find Memberships','civicrm/member/search?reset=1',NULL,'access CiviMember','',77,1,NULL,3),(81,1,'Membership Reports','Membership Reports','civicrm/report/list?compid=3&reset=1',NULL,'access CiviMember','',77,1,1,4),(82,1,'Batch Data Entry','Batch Data Entry','civicrm/batch?reset=1',NULL,'access CiviContribute','',77,1,NULL,5),(83,1,'Import Memberships','Import Members','civicrm/member/import?reset=1',NULL,'access CiviMember,edit memberships','AND',77,1,1,6),(84,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviMember,administer CiviCRM','AND',77,1,NULL,7),(85,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',77,1,NULL,8),(86,1,'Campaigns','Campaigns',NULL,'crm-i fa-bullhorn','interview campaign contacts,release campaign contacts,reserve campaign contacts,manage campaign,administer CiviCampaign,gotv campaign contacts','OR',NULL,1,NULL,70),(87,1,'Dashboard','Dashboard','civicrm/campaign?reset=1',NULL,'manage campaign,administer CiviCampaign','OR',86,1,NULL,1),(88,1,'Surveys','Survey Dashboard','civicrm/campaign?reset=1&subPage=survey',NULL,'manage campaign,administer CiviCampaign','OR',87,1,NULL,1),(89,1,'Petitions','Petition Dashboard','civicrm/campaign?reset=1&subPage=petition',NULL,'manage campaign,administer CiviCampaign','OR',87,1,NULL,2),(90,1,'Campaigns','Campaign Dashboard','civicrm/campaign?reset=1&subPage=campaign',NULL,'manage campaign,administer CiviCampaign','OR',87,1,NULL,3),(91,1,'New Campaign','New Campaign','civicrm/campaign/add?reset=1',NULL,'manage campaign,administer CiviCampaign','OR',86,1,NULL,2),(92,1,'New Survey','New Survey','civicrm/survey/add?reset=1',NULL,'manage campaign,administer CiviCampaign','OR',86,1,NULL,3),(93,1,'New Petition','New Petition','civicrm/petition/add?reset=1',NULL,'manage campaign,administer CiviCampaign','OR',86,1,NULL,4),(94,1,'Reserve Respondents','Reserve Respondents','civicrm/survey/search?reset=1&op=reserve',NULL,'administer CiviCampaign,manage campaign,reserve campaign contacts','OR',86,1,NULL,5),(95,1,'Interview Respondents','Interview Respondents','civicrm/survey/search?reset=1&op=interview',NULL,'administer CiviCampaign,manage campaign,interview campaign contacts','OR',86,1,NULL,6),(96,1,'Release Respondents','Release Respondents','civicrm/survey/search?reset=1&op=release',NULL,'administer CiviCampaign,manage campaign,release campaign contacts','OR',86,1,NULL,7),(97,1,'Campaign Reports','Campaign Reports','civicrm/report/list?compid=9&reset=1',NULL,'interview campaign contacts,release campaign contacts,reserve campaign contacts,manage campaign,administer CiviCampaign,gotv campaign contacts','OR',86,1,1,8),(98,1,'Conduct Survey','Conduct Survey','civicrm/campaign/vote?reset=1',NULL,'administer CiviCampaign,manage campaign,reserve campaign contacts,interview campaign contacts','OR',86,1,NULL,9),(99,1,'GOTV (Voter Tracking)','Voter Listing','civicrm/campaign/gotv?reset=1',NULL,'administer CiviCampaign,manage campaign,release campaign contacts,gotv campaign contacts','OR',86,1,NULL,10),(100,1,'Cases','Cases',NULL,'crm-i fa-folder-open-o','access my cases and activities,access all cases and activities','OR',NULL,1,NULL,80),(101,1,'Dashboard','Dashboard','civicrm/case?reset=1',NULL,'access my cases and activities,access all cases and activities','OR',100,1,NULL,1),(102,1,'New Case','New Case','civicrm/case/add?reset=1&action=add&atype=13&context=standalone',NULL,'add cases,access all cases and activities','OR',100,1,NULL,2),(103,1,'Find Cases','Find Cases','civicrm/case/search?reset=1',NULL,'access my cases and activities,access all cases and activities','OR',100,1,1,3),(104,1,'Case Reports','Case Reports','civicrm/report/list?compid=7&reset=1',NULL,'access my cases and activities,access all cases and activities,administer CiviCase','OR',100,1,0,4),(105,1,'Grants','Grants',NULL,'crm-i fa-money','access CiviGrant','',NULL,1,NULL,90),(106,1,'Dashboard','Dashboard','civicrm/grant?reset=1',NULL,'access CiviGrant','',105,1,NULL,1),(107,1,'New Grant','New Grant','civicrm/grant/add?reset=1&action=add&context=standalone',NULL,'access CiviGrant,edit grants','AND',105,1,NULL,2),(108,1,'Find Grants','Find Grants','civicrm/grant/search?reset=1',NULL,'access CiviGrant','',105,1,1,3),(109,1,'Grant Reports','Grant Reports','civicrm/report/list?compid=5&reset=1',NULL,'access CiviGrant','',105,1,0,4),(110,1,'Administer','Administer',NULL,'crm-i fa-gears','administer CiviCRM','',NULL,1,NULL,100),(111,1,'Administration Console','Administration Console','civicrm/admin?reset=1',NULL,'administer CiviCRM','',110,1,NULL,1),(112,1,'System Status','System Status','civicrm/a/#/status',NULL,'administer CiviCRM','',111,1,NULL,0),(113,1,'Configuration Checklist','Configuration Checklist','civicrm/admin/configtask?reset=1',NULL,'administer CiviCRM','',111,1,NULL,1),(114,1,'Customize Data and Screens','Customize Data and Screens',NULL,NULL,'administer CiviCRM','',110,1,NULL,3),(115,1,'Custom Fields','Custom Fields','civicrm/admin/custom/group?reset=1',NULL,'administer CiviCRM','',114,1,NULL,1),(116,1,'Profiles','Profiles','civicrm/admin/uf/group?reset=1',NULL,'administer CiviCRM','',114,1,NULL,2),(117,1,'Tags (Categories)','Tags (Categories)','civicrm/tag?reset=1',NULL,'administer CiviCRM','',114,1,NULL,3),(118,1,'Activity Types','Activity Types','civicrm/admin/options/activity_type?reset=1',NULL,'administer CiviCRM','',114,1,NULL,4),(119,1,'Relationship Types','Relationship Types','civicrm/admin/reltype?reset=1',NULL,'administer CiviCRM','',114,1,NULL,5),(120,1,'Contact Types','Contact Types','civicrm/admin/options/subtype?reset=1',NULL,'administer CiviCRM','',114,1,NULL,6),(121,1,'Display Preferences','Display Preferences','civicrm/admin/setting/preferences/display?reset=1',NULL,'administer CiviCRM','',114,1,NULL,9),(122,1,'Search Preferences','Search Preferences','civicrm/admin/setting/search?reset=1',NULL,'administer CiviCRM','',114,1,NULL,10),(123,1,'Date Preferences','Date Preferences','civicrm/admin/setting/preferences/date?reset=1',NULL,'administer CiviCRM','',114,1,NULL,11),(124,1,'Navigation Menu','Navigation Menu','civicrm/admin/menu?reset=1',NULL,'administer CiviCRM','',114,1,NULL,12),(125,1,'Word Replacements','Word Replacements','civicrm/admin/options/wordreplacements?reset=1',NULL,'administer CiviCRM','',114,1,NULL,13),(126,1,'Manage Custom Searches','Manage Custom Searches','civicrm/admin/options/custom_search?reset=1',NULL,'administer CiviCRM','',114,1,NULL,14),(127,1,'Dropdown Options','Dropdown Options','civicrm/admin/options?action=browse&reset=1',NULL,'administer CiviCRM','',114,1,NULL,8),(128,1,'Gender Options','Gender Options','civicrm/admin/options/gender?reset=1',NULL,'administer CiviCRM','',127,1,NULL,1),(129,1,'Individual Prefixes (Ms, Mr...)','Individual Prefixes (Ms, Mr...)','civicrm/admin/options/individual_prefix?reset=1',NULL,'administer CiviCRM','',127,1,NULL,2),(130,1,'Individual Suffixes (Jr, Sr...)','Individual Suffixes (Jr, Sr...)','civicrm/admin/options/individual_suffix?reset=1',NULL,'administer CiviCRM','',127,1,NULL,3),(131,1,'Instant Messenger Services','Instant Messenger Services','civicrm/admin/options/instant_messenger_service?reset=1',NULL,'administer CiviCRM','',127,1,NULL,4),(132,1,'Location Types (Home, Work...)','Location Types (Home, Work...)','civicrm/admin/locationType?reset=1',NULL,'administer CiviCRM','',127,1,NULL,5),(133,1,'Mobile Phone Providers','Mobile Phone Providers','civicrm/admin/options/mobile_provider?reset=1',NULL,'administer CiviCRM','',127,1,NULL,6),(134,1,'Phone Types','Phone Types','civicrm/admin/options/phone_type?reset=1',NULL,'administer CiviCRM','',127,1,NULL,7),(135,1,'Website Types','Website Types','civicrm/admin/options/website_type?reset=1',NULL,'administer CiviCRM','',127,1,NULL,8),(136,1,'Communications','Communications',NULL,NULL,'administer CiviCRM','',110,1,NULL,4),(137,1,'Organization Address and Contact Info','Organization Address and Contact Info','civicrm/admin/domain?action=update&reset=1',NULL,'administer CiviCRM','',136,1,NULL,1),(138,1,'FROM Email Addresses','FROM Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',136,1,NULL,2),(139,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',136,1,NULL,3),(140,1,'Schedule Reminders','Schedule Reminders','civicrm/admin/scheduleReminders?reset=1',NULL,'administer CiviCRM','',136,1,NULL,4),(141,1,'Preferred Communication Methods','Preferred Communication Methods','civicrm/admin/options/preferred_communication_method?reset=1',NULL,'administer CiviCRM','',136,1,NULL,5),(142,1,'Label Formats','Label Formats','civicrm/admin/labelFormats?reset=1',NULL,'administer CiviCRM','',136,1,NULL,6),(143,1,'Print Page (PDF) Formats','Print Page (PDF) Formats','civicrm/admin/pdfFormats?reset=1',NULL,'administer CiviCRM','',136,1,NULL,7),(144,1,'Communication Style Options','Communication Style Options','civicrm/admin/options/communication_style?reset=1',NULL,'administer CiviCRM','',136,1,NULL,8),(145,1,'Email Greeting Formats','Email Greeting Formats','civicrm/admin/options/email_greeting?reset=1',NULL,'administer CiviCRM','',136,1,NULL,9),(146,1,'Postal Greeting Formats','Postal Greeting Formats','civicrm/admin/options/postal_greeting?reset=1',NULL,'administer CiviCRM','',136,1,NULL,10),(147,1,'Addressee Formats','Addressee Formats','civicrm/admin/options/addressee?reset=1',NULL,'administer CiviCRM','',136,1,NULL,11),(148,1,'Localization','Localization',NULL,NULL,'administer CiviCRM','',110,1,NULL,6),(149,1,'Languages, Currency, Locations','Languages, Currency, Locations','civicrm/admin/setting/localization?reset=1',NULL,'administer CiviCRM','',148,1,NULL,1),(150,1,'Address Settings','Address Settings','civicrm/admin/setting/preferences/address?reset=1',NULL,'administer CiviCRM','',148,1,NULL,2),(151,1,'Date Formats','Date Formats','civicrm/admin/setting/date?reset=1',NULL,'administer CiviCRM','',148,1,NULL,3),(152,1,'Preferred Language Options','Preferred Language Options','civicrm/admin/options/languages?reset=1',NULL,'administer CiviCRM','',148,1,NULL,4),(153,1,'Users and Permissions','Users and Permissions',NULL,NULL,'administer CiviCRM','',110,1,NULL,7),(154,1,'Permissions (Access Control)','Permissions (Access Control)','civicrm/admin/access?reset=1',NULL,'administer CiviCRM','',153,1,NULL,1),(155,1,'Synchronize Users to Contacts','Synchronize Users to Contacts','civicrm/admin/synchUser?reset=1',NULL,'administer CiviCRM','',153,1,NULL,2),(156,1,'System Settings','System Settings',NULL,NULL,'administer CiviCRM','',110,1,NULL,8),(157,1,'Components','Enable Components','civicrm/admin/setting/component?reset=1',NULL,'administer CiviCRM','',156,1,NULL,1),(158,1,'Connections','Connections','civicrm/a/#/cxn',NULL,'administer CiviCRM','',156,1,NULL,2),(159,1,'Extensions','Manage Extensions','civicrm/admin/extensions?reset=1',NULL,'administer CiviCRM','',156,1,1,3),(160,1,'Cleanup Caches and Update Paths','Cleanup Caches and Update Paths','civicrm/admin/setting/updateConfigBackend?reset=1',NULL,'administer CiviCRM','',156,1,NULL,4),(161,1,'CMS Database Integration','CMS Integration','civicrm/admin/setting/uf?reset=1',NULL,'administer CiviCRM','',156,1,NULL,5),(162,1,'Debugging and Error Handling','Debugging and Error Handling','civicrm/admin/setting/debug?reset=1',NULL,'administer CiviCRM','',156,1,NULL,6),(163,1,'Directories','Directories','civicrm/admin/setting/path?reset=1',NULL,'administer CiviCRM','',156,1,NULL,7),(164,1,'Import/Export Mappings','Import/Export Mappings','civicrm/admin/mapping?reset=1',NULL,'administer CiviCRM','',156,1,NULL,8),(165,1,'Mapping and Geocoding','Mapping and Geocoding','civicrm/admin/setting/mapping?reset=1',NULL,'administer CiviCRM','',156,1,NULL,9),(166,1,'Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)','Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)','civicrm/admin/setting/misc?reset=1',NULL,'administer CiviCRM','',156,1,NULL,10),(167,1,'Multi Site Settings','Multi Site Settings','civicrm/admin/setting/preferences/multisite?reset=1',NULL,'administer CiviCRM','',156,1,NULL,11),(168,1,'Option Groups','Option Groups','civicrm/admin/options?reset=1',NULL,'administer CiviCRM','',156,1,NULL,12),(169,1,'Outbound Email (SMTP/Sendmail)','Outbound Email','civicrm/admin/setting/smtp?reset=1',NULL,'administer CiviCRM','',156,1,NULL,13),(170,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',156,1,NULL,14),(171,1,'Resource URLs','Resource URLs','civicrm/admin/setting/url?reset=1',NULL,'administer CiviCRM','',156,1,NULL,15),(172,1,'Safe File Extensions','Safe File Extensions','civicrm/admin/options/safe_file_extension?reset=1',NULL,'administer CiviCRM','',156,1,NULL,16),(173,1,'Scheduled Jobs','Scheduled Jobs','civicrm/admin/job?reset=1',NULL,'administer CiviCRM','',156,1,NULL,17),(174,1,'SMS Providers','SMS Providers','civicrm/admin/sms/provider?reset=1',NULL,'administer CiviCRM','',156,1,NULL,18),(175,1,'CiviCampaign','CiviCampaign',NULL,NULL,'administer CiviCampaign,administer CiviCRM','AND',110,1,NULL,9),(176,1,'Survey Types','Survey Types','civicrm/admin/campaign/surveyType?reset=1',NULL,'administer CiviCampaign','',175,1,NULL,1),(177,1,'Campaign Types','Campaign Types','civicrm/admin/options/campaign_type?reset=1',NULL,'administer CiviCampaign','',175,1,NULL,2),(178,1,'Campaign Status','Campaign Status','civicrm/admin/options/campaign_status?reset=1',NULL,'administer CiviCampaign','',175,1,NULL,3),(179,1,'Engagement Index','Engagement Index','civicrm/admin/options/engagement_index?reset=1',NULL,'administer CiviCampaign','',175,1,NULL,4),(180,1,'CiviCampaign Component Settings','CiviCampaign Component Settings','civicrm/admin/setting/preferences/campaign?reset=1',NULL,'administer CiviCampaign','',175,1,NULL,5),(181,1,'CiviCase','CiviCase',NULL,NULL,'administer CiviCase',NULL,110,1,NULL,10),(182,1,'CiviCase Settings','CiviCase Settings','civicrm/admin/setting/case?reset=1',NULL,'administer CiviCase',NULL,181,1,NULL,1),(183,1,'Case Types','Case Types','civicrm/a/#/caseType',NULL,'administer CiviCase',NULL,181,1,NULL,2),(184,1,'Redaction Rules','Redaction Rules','civicrm/admin/options/redaction_rule?reset=1',NULL,'administer CiviCase',NULL,181,1,NULL,3),(185,1,'Case Statuses','Case Statuses','civicrm/admin/options/case_status?reset=1',NULL,'administer CiviCase',NULL,181,1,NULL,4),(186,1,'Encounter Medium','Encounter Medium','civicrm/admin/options/encounter_medium?reset=1',NULL,'administer CiviCase',NULL,181,1,NULL,5),(187,1,'CiviContribute','CiviContribute',NULL,NULL,'access CiviContribute,administer CiviCRM','AND',110,1,NULL,11),(188,1,'New Contribution Page','New Contribution Page','civicrm/admin/contribute?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,6),(189,1,'Manage Contribution Pages','Manage Contribution Pages','civicrm/admin/contribute?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,1,7),(190,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=contribute',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,8),(191,1,'Premiums (Thank-you Gifts)','Premiums','civicrm/admin/contribute/managePremiums?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,1,9),(192,1,'Financial Types','Financial Types','civicrm/admin/financial/financialType?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,10),(193,1,'Financial Accounts','Financial Accounts','civicrm/admin/financial/financialAccount?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,11),(194,1,'Payment Methods','Payment Instruments','civicrm/admin/options/payment_instrument?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,12),(195,1,'Accepted Credit Cards','Accepted Credit Cards','civicrm/admin/options/accept_creditcard?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,13),(196,1,'Soft Credit Types','Soft Credit Types','civicrm/admin/options/soft_credit_type?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,1,14),(197,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,15),(198,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,16),(199,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',187,1,NULL,17),(200,1,'CiviContribute Component Settings','CiviContribute Component Settings','civicrm/admin/setting/preferences/contribute?reset=1',NULL,'administer CiviCRM','',187,1,NULL,18),(201,1,'CiviEvent','CiviEvent',NULL,NULL,'access CiviEvent,administer CiviCRM','AND',110,1,NULL,12),(202,1,'New Event','New Event','civicrm/event/add?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,1),(203,1,'Manage Events','Manage Events','civicrm/event/manage?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,1,2),(204,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=event',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,1,3),(205,1,'Event Templates','Event Templates','civicrm/admin/eventTemplate?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,1,4),(206,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,5),(207,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,1,6),(208,1,'Event Types','Event Types','civicrm/admin/options/event_type?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,7),(209,1,'Participant Statuses','Participant Statuses','civicrm/admin/participant_status?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,8),(210,1,'Participant Roles','Participant Roles','civicrm/admin/options/participant_role?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,9),(211,1,'Participant Listing Options','Participant Listing Options','civicrm/admin/options/participant_listing?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,10),(212,1,'Event Name Badge Layouts','Event Name Badge Layouts','civicrm/admin/badgelayout?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,11),(213,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',201,1,NULL,12),(214,1,'CiviEvent Component Settings','CiviEvent Component Settings','civicrm/admin/setting/preferences/event?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,13),(215,1,'CiviGrant','CiviGrant',NULL,NULL,'access CiviGrant,administer CiviCRM','AND',110,1,NULL,13),(216,1,'Grant Types','Grant Types','civicrm/admin/options/grant_type?reset=1',NULL,'access CiviGrant,administer CiviCRM','AND',215,1,NULL,1),(217,1,'Grant Status','Grant Status','civicrm/admin/options/grant_status?reset=1',NULL,'access CiviGrant,administer CiviCRM','AND',215,1,NULL,2),(218,1,'CiviMail','CiviMail',NULL,NULL,'access CiviMail,administer CiviCRM','AND',110,1,NULL,14),(219,1,'Headers, Footers, and Automated Messages','Headers, Footers, and Automated Messages','civicrm/admin/component?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',218,1,NULL,1),(220,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',218,1,NULL,2),(221,1,'From Email Addresses','From Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',218,1,NULL,3),(222,1,'Mail Accounts','Mail Accounts','civicrm/admin/mailSettings?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',218,1,NULL,4),(223,1,'Mailer Settings','Mailer Settings','civicrm/admin/mail?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',218,1,NULL,5),(224,1,'CiviMail Component Settings','CiviMail Component Settings','civicrm/admin/setting/preferences/mailing?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',218,1,NULL,6),(225,1,'CiviMember','CiviMember',NULL,NULL,'access CiviMember,administer CiviCRM','AND',110,1,NULL,15),(226,1,'Membership Types','Membership Types','civicrm/admin/member/membershipType?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',225,1,NULL,1),(227,1,'Membership Status Rules','Membership Status Rules','civicrm/admin/member/membershipStatus?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',225,1,1,2),(228,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviMember,administer CiviCRM','AND',225,1,NULL,3),(229,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',225,1,NULL,4),(230,1,'CiviMember Component Settings','CiviMember Component Settings','civicrm/admin/setting/preferences/member?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',225,1,NULL,5),(231,1,'CiviReport','CiviReport',NULL,NULL,'access CiviReport,administer CiviCRM','AND',110,1,NULL,16),(232,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',231,1,NULL,1),(233,1,'Create New Report from Template','Create New Report from Template','civicrm/admin/report/template/list?reset=1',NULL,'administer Reports','',231,1,NULL,2),(234,1,'Manage Templates','Manage Templates','civicrm/admin/report/options/report_template?reset=1',NULL,'administer Reports','',231,1,NULL,3),(235,1,'Register Report','Register Report','civicrm/admin/report/register?reset=1',NULL,'administer Reports','',231,1,NULL,4),(236,1,'Support','Support',NULL,'crm-i fa-life-ring',NULL,'',NULL,1,NULL,110),(237,1,'Get started','Get started','https://civicrm.org/get-started?src=iam',NULL,NULL,'AND',236,1,NULL,1),(238,1,'Documentation','Documentation','https://civicrm.org/documentation?src=iam',NULL,NULL,'AND',236,1,NULL,2),(239,1,'Ask a question','Ask a question','https://civicrm.org/ask-a-question?src=iam',NULL,NULL,'AND',236,1,NULL,3),(240,1,'Get expert help','Get expert help','https://civicrm.org/experts?src=iam',NULL,NULL,'AND',236,1,NULL,4),(241,1,'About CiviCRM','About CiviCRM','https://civicrm.org/about?src=iam',NULL,NULL,'AND',236,1,1,5),(242,1,'Register your site','Register your site','https://civicrm.org/register-your-site?src=iam&sid={sid}',NULL,NULL,'AND',236,1,NULL,6),(243,1,'Join CiviCRM','Join CiviCRM','https://civicrm.org/become-a-member?src=iam&sid={sid}',NULL,NULL,'AND',236,1,NULL,7),(244,1,'Developer','Developer',NULL,NULL,'administer CiviCRM','',236,1,1,8),(245,1,'API Explorer','API Explorer','civicrm/api',NULL,'administer CiviCRM','',244,1,NULL,1),(246,1,'Developer Docs','Developer Docs','https://civicrm.org/developer-documentation?src=iam',NULL,'administer CiviCRM','',244,1,NULL,3),(247,1,'Reports','Reports',NULL,'crm-i fa-bar-chart','access CiviReport','',NULL,1,NULL,95),(248,1,'Contact Reports','Contact Reports','civicrm/report/list?compid=99&reset=1',NULL,'administer CiviCRM','',247,1,0,1),(249,1,'Contribution Reports','Contribution Reports','civicrm/report/list?compid=2&reset=1',NULL,'access CiviContribute','',247,1,0,2),(250,1,'Pledge Reports','Pledge Reports','civicrm/report/list?compid=6&reset=1',NULL,'access CiviPledge','',247,1,0,3),(251,1,'Event Reports','Event Reports','civicrm/report/list?compid=1&reset=1',NULL,'access CiviEvent','',247,1,0,4),(252,1,'Mailing Reports','Mailing Reports','civicrm/report/list?compid=4&reset=1',NULL,'access CiviMail','',247,1,0,5),(253,1,'Membership Reports','Membership Reports','civicrm/report/list?compid=3&reset=1',NULL,'access CiviMember','',247,1,0,6),(254,1,'Campaign Reports','Campaign Reports','civicrm/report/list?compid=9&reset=1',NULL,'interview campaign contacts,release campaign contacts,reserve campaign contacts,manage campaign,administer CiviCampaign,gotv campaign contacts','OR',247,1,0,7),(255,1,'Case Reports','Case Reports','civicrm/report/list?compid=7&reset=1',NULL,'access my cases and activities,access all cases and activities,administer CiviCase','OR',247,1,0,8),(256,1,'Grant Reports','Grant Reports','civicrm/report/list?compid=5&reset=1',NULL,'access CiviGrant','',247,1,0,9),(257,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',247,1,1,10),(258,1,'My Reports','My Reports','civicrm/report/list?myreports=1&reset=1',NULL,'access CiviReport','',247,1,1,11),(259,1,'New Student','New Student','civicrm/contact/add?ct=Individual&cst=Student&reset=1',NULL,'add contacts','',16,1,NULL,1),(260,1,'New Parent','New Parent','civicrm/contact/add?ct=Individual&cst=Parent&reset=1',NULL,'add contacts','',16,1,NULL,2),(261,1,'New Staff','New Staff','civicrm/contact/add?ct=Individual&cst=Staff&reset=1',NULL,'add contacts','',16,1,NULL,3),(262,1,'New Team','New Team','civicrm/contact/add?ct=Organization&cst=Team&reset=1',NULL,'add contacts','',18,1,NULL,1),(263,1,'New Sponsor','New Sponsor','civicrm/contact/add?ct=Organization&cst=Sponsor&reset=1',NULL,'add contacts','',18,1,NULL,2); +INSERT INTO `civicrm_navigation` (`id`, `domain_id`, `label`, `name`, `url`, `icon`, `permission`, `permission_operator`, `parent_id`, `is_active`, `has_separator`, `weight`) VALUES (1,1,'Home','Home','civicrm/dashboard?reset=1',NULL,NULL,'',NULL,1,NULL,0),(2,1,'Search','Search',NULL,'crm-i fa-search',NULL,'',NULL,1,NULL,10),(3,1,'Find Contacts','Find Contacts','civicrm/contact/search?reset=1',NULL,NULL,'',2,1,NULL,1),(4,1,'Advanced Search','Advanced Search','civicrm/contact/search/advanced?reset=1',NULL,NULL,'',2,1,NULL,2),(5,1,'Full-text Search','Full-text Search','civicrm/contact/search/custom?csid=15&reset=1',NULL,NULL,'',2,1,NULL,3),(6,1,'Search Builder','Search Builder','civicrm/contact/search/builder?reset=1',NULL,NULL,'',2,1,1,4),(7,1,'Find Cases','Find Cases','civicrm/case/search?reset=1',NULL,'access my cases and activities,access all cases and activities','OR',2,1,NULL,5),(8,1,'Find Contributions','Find Contributions','civicrm/contribute/search?reset=1',NULL,'access CiviContribute','',2,1,NULL,6),(9,1,'Find Mailings','Find Mailings','civicrm/mailing?reset=1',NULL,'access CiviMail','',2,1,NULL,7),(10,1,'Find Memberships','Find Memberships','civicrm/member/search?reset=1',NULL,'access CiviMember','',2,1,NULL,8),(11,1,'Find Participants','Find Participants','civicrm/event/search?reset=1',NULL,'access CiviEvent','',2,1,NULL,9),(12,1,'Find Pledges','Find Pledges','civicrm/pledge/search?reset=1',NULL,'access CiviPledge','',2,1,NULL,10),(13,1,'Find Activities','Find Activities','civicrm/activity/search?reset=1',NULL,NULL,'',2,1,1,11),(14,1,'Custom Searches','Custom Searches','civicrm/contact/search/custom/list?reset=1',NULL,NULL,'',2,1,NULL,12),(15,1,'Contacts','Contacts',NULL,'crm-i fa-address-book-o',NULL,'',NULL,1,NULL,20),(16,1,'New Individual','New Individual','civicrm/contact/add?reset=1&ct=Individual',NULL,'add contacts','',15,1,NULL,1),(17,1,'New Household','New Household','civicrm/contact/add?reset=1&ct=Household',NULL,'add contacts','',15,1,NULL,2),(18,1,'New Organization','New Organization','civicrm/contact/add?reset=1&ct=Organization',NULL,'add contacts','',15,1,1,3),(19,1,'Contact Reports','Contact Reports','civicrm/report/list?compid=99&reset=1',NULL,'access CiviReport','',15,1,1,4),(20,1,'New Activity','New Activity','civicrm/activity?reset=1&action=add&context=standalone',NULL,NULL,'',15,1,NULL,5),(21,1,'New Email','New Email','civicrm/activity/email/add?atype=3&action=add&reset=1&context=standalone',NULL,NULL,'',15,1,1,6),(22,1,'Import Contacts','Import Contacts','civicrm/import/contact?reset=1',NULL,'import contacts','',15,1,NULL,7),(23,1,'Import Activities','Import Activities','civicrm/import/activity?reset=1',NULL,'import contacts','',15,1,1,8),(24,1,'New Group','New Group','civicrm/group/add?reset=1',NULL,'edit groups','',15,1,NULL,9),(25,1,'Manage Groups','Manage Groups','civicrm/group?reset=1',NULL,'access CiviCRM','',15,1,1,10),(26,1,'New Tag','New Tag','civicrm/tag?reset=1&action=add',NULL,'manage tags','',15,1,NULL,11),(27,1,'Manage Tags (Categories)','Manage Tags (Categories)','civicrm/tag?reset=1',NULL,'manage tags','',15,1,1,12),(28,1,'Find and Merge Duplicate Contacts','Find and Merge Duplicate Contacts','civicrm/contact/deduperules?reset=1',NULL,'administer dedupe rules,merge duplicate contacts','OR',15,1,NULL,13),(29,1,'Contributions','Contributions',NULL,'crm-i fa-credit-card','access CiviContribute','',NULL,1,NULL,30),(30,1,'Dashboard','Dashboard','civicrm/contribute?reset=1',NULL,'access CiviContribute','',29,1,NULL,1),(31,1,'New Contribution','New Contribution','civicrm/contribute/add?reset=1&action=add&context=standalone',NULL,'access CiviContribute,edit contributions','AND',29,1,NULL,2),(32,1,'Find Contributions','Find Contributions','civicrm/contribute/search?reset=1',NULL,'access CiviContribute','',29,1,NULL,3),(33,1,'Contribution Reports','Contribution Reports','civicrm/report/list?compid=2&reset=1',NULL,'access CiviContribute','',29,1,1,4),(34,1,'Import Contributions','Import Contributions','civicrm/contribute/import?reset=1',NULL,'access CiviContribute,edit contributions','AND',29,1,1,5),(35,1,'Batch Data Entry','Batch Data Entry','civicrm/batch?reset=1',NULL,'access CiviContribute','',29,1,NULL,7),(36,1,'Pledges','Pledges',NULL,NULL,'access CiviPledge','',29,1,1,6),(37,1,'Accounting Batches','Accounting Batches',NULL,NULL,'view own manual batches,view all manual batches','OR',29,1,1,8),(38,1,'Dashboard','Dashboard','civicrm/pledge?reset=1',NULL,'access CiviPledge','',36,1,NULL,1),(39,1,'New Pledge','New Pledge','civicrm/pledge/add?reset=1&action=add&context=standalone',NULL,'access CiviPledge,edit pledges','AND',36,1,NULL,2),(40,1,'Find Pledges','Find Pledges','civicrm/pledge/search?reset=1',NULL,'access CiviPledge','',36,1,NULL,3),(41,1,'Pledge Reports','Pledge Reports','civicrm/report/list?compid=6&reset=1',NULL,'access CiviPledge','',36,1,0,4),(42,1,'New Contribution Page','New Contribution Page','civicrm/admin/contribute/add?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,NULL,9),(43,1,'Manage Contribution Pages','Manage Contribution Pages','civicrm/admin/contribute?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,1,10),(44,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=contribute',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,NULL,11),(45,1,'Premiums (Thank-you Gifts)','Premiums','civicrm/admin/contribute/managePremiums?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,1,12),(46,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,NULL,13),(47,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',29,1,1,14),(48,1,'New Batch','New Batch','civicrm/financial/batch?reset=1&action=add',NULL,'create manual batch','AND',37,1,NULL,1),(49,1,'Open Batches','Open Batches','civicrm/financial/financialbatches?reset=1&batchStatus=1',NULL,'view own manual batches,view all manual batches','OR',37,1,NULL,2),(50,1,'Closed Batches','Closed Batches','civicrm/financial/financialbatches?reset=1&batchStatus=2',NULL,'view own manual batches,view all manual batches','OR',37,1,NULL,3),(51,1,'Exported Batches','Exported Batches','civicrm/financial/financialbatches?reset=1&batchStatus=5',NULL,'view own manual batches,view all manual batches','OR',37,1,NULL,4),(52,1,'Events','Events',NULL,'crm-i fa-calendar','access CiviEvent','',NULL,1,NULL,40),(53,1,'Dashboard','CiviEvent Dashboard','civicrm/event?reset=1',NULL,'access CiviEvent','',52,1,NULL,1),(54,1,'Register Event Participant','Register Event Participant','civicrm/participant/add?reset=1&action=add&context=standalone',NULL,'access CiviEvent,edit event participants','AND',52,1,NULL,2),(55,1,'Find Participants','Find Participants','civicrm/event/search?reset=1',NULL,'access CiviEvent','',52,1,NULL,3),(56,1,'Event Reports','Event Reports','civicrm/report/list?compid=1&reset=1',NULL,'access CiviEvent','',52,1,1,4),(57,1,'Import Participants','Import Participants','civicrm/event/import?reset=1',NULL,'access CiviEvent,edit event participants','AND',52,1,1,5),(58,1,'New Event','New Event','civicrm/event/add?reset=1&action=add',NULL,'access CiviEvent,edit all events','AND',52,1,NULL,6),(59,1,'Manage Events','Manage Events','civicrm/event/manage?reset=1',NULL,'access CiviEvent,edit all events','AND',52,1,1,7),(60,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=event',NULL,'access CiviEvent,administer CiviCRM','AND',52,1,1,8),(61,1,'Event Templates','Event Templates','civicrm/admin/eventTemplate?reset=1',NULL,'access CiviEvent,edit all events','AND',52,1,1,9),(62,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviEvent,edit all events','AND',52,1,NULL,10),(63,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviEvent,edit all events','AND',52,1,NULL,11),(64,1,'Mailings','Mailings',NULL,'crm-i fa-envelope-o','access CiviMail,create mailings,approve mailings,schedule mailings,send SMS','OR',NULL,1,NULL,50),(65,1,'New Mailing','New Mailing','civicrm/mailing/send?reset=1',NULL,'access CiviMail,create mailings','OR',64,1,NULL,1),(66,1,'Draft and Unscheduled Mailings','Draft and Unscheduled Mailings','civicrm/mailing/browse/unscheduled?reset=1&scheduled=false',NULL,'access CiviMail,create mailings,schedule mailings','OR',64,1,NULL,2),(67,1,'Scheduled and Sent Mailings','Scheduled and Sent Mailings','civicrm/mailing/browse/scheduled?reset=1&scheduled=true',NULL,'access CiviMail,approve mailings,create mailings,schedule mailings','OR',64,1,NULL,3),(68,1,'Archived Mailings','Archived Mailings','civicrm/mailing/browse/archived?reset=1',NULL,'access CiviMail,create mailings','OR',64,1,NULL,4),(69,1,'Mailing Reports','Mailing Reports','civicrm/report/list?compid=4&reset=1',NULL,'access CiviMail','',64,1,1,5),(70,1,'Headers, Footers, and Automated Messages','Headers, Footers, and Automated Messages','civicrm/admin/component?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',64,1,NULL,6),(71,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'edit message templates','',64,1,NULL,7),(72,1,'From Email Addresses','From Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',64,1,1,8),(73,1,'New SMS','New SMS','civicrm/sms/send?reset=1',NULL,'send SMS',NULL,64,1,NULL,9),(74,1,'Find Mass SMS','Find Mass SMS','civicrm/mailing/browse?reset=1&sms=1',NULL,'send SMS',NULL,64,1,1,10),(75,1,'New A/B Test','New A/B Test','civicrm/a/#/abtest/new',NULL,'access CiviMail','',64,1,NULL,15),(76,1,'Manage A/B Tests','Manage A/B Tests','civicrm/a/#/abtest',NULL,'access CiviMail','',64,1,1,16),(77,1,'Memberships','Memberships',NULL,'crm-i fa-id-badge','access CiviMember','',NULL,1,NULL,60),(78,1,'Dashboard','Dashboard','civicrm/member?reset=1',NULL,'access CiviMember','',77,1,NULL,1),(79,1,'New Membership','New Membership','civicrm/member/add?reset=1&action=add&context=standalone',NULL,'access CiviMember,edit memberships','AND',77,1,NULL,2),(80,1,'Find Memberships','Find Memberships','civicrm/member/search?reset=1',NULL,'access CiviMember','',77,1,NULL,3),(81,1,'Membership Reports','Membership Reports','civicrm/report/list?compid=3&reset=1',NULL,'access CiviMember','',77,1,1,4),(82,1,'Batch Data Entry','Batch Data Entry','civicrm/batch?reset=1',NULL,'access CiviContribute','',77,1,NULL,5),(83,1,'Import Memberships','Import Members','civicrm/member/import?reset=1',NULL,'access CiviMember,edit memberships','AND',77,1,1,6),(84,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviMember,administer CiviCRM','AND',77,1,NULL,7),(85,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',77,1,NULL,8),(86,1,'Campaigns','Campaigns',NULL,'crm-i fa-bullhorn','interview campaign contacts,release campaign contacts,reserve campaign contacts,manage campaign,administer CiviCampaign,gotv campaign contacts','OR',NULL,1,NULL,70),(87,1,'Dashboard','Dashboard','civicrm/campaign?reset=1',NULL,'manage campaign,administer CiviCampaign','OR',86,1,NULL,1),(88,1,'Surveys','Survey Dashboard','civicrm/campaign?reset=1&subPage=survey',NULL,'manage campaign,administer CiviCampaign','OR',87,1,NULL,1),(89,1,'Petitions','Petition Dashboard','civicrm/campaign?reset=1&subPage=petition',NULL,'manage campaign,administer CiviCampaign','OR',87,1,NULL,2),(90,1,'Campaigns','Campaign Dashboard','civicrm/campaign?reset=1&subPage=campaign',NULL,'manage campaign,administer CiviCampaign','OR',87,1,NULL,3),(91,1,'New Campaign','New Campaign','civicrm/campaign/add?reset=1',NULL,'manage campaign,administer CiviCampaign','OR',86,1,NULL,2),(92,1,'New Survey','New Survey','civicrm/survey/add?reset=1',NULL,'manage campaign,administer CiviCampaign','OR',86,1,NULL,3),(93,1,'New Petition','New Petition','civicrm/petition/add?reset=1',NULL,'manage campaign,administer CiviCampaign','OR',86,1,NULL,4),(94,1,'Reserve Respondents','Reserve Respondents','civicrm/survey/search?reset=1&op=reserve',NULL,'administer CiviCampaign,manage campaign,reserve campaign contacts','OR',86,1,NULL,5),(95,1,'Interview Respondents','Interview Respondents','civicrm/survey/search?reset=1&op=interview',NULL,'administer CiviCampaign,manage campaign,interview campaign contacts','OR',86,1,NULL,6),(96,1,'Release Respondents','Release Respondents','civicrm/survey/search?reset=1&op=release',NULL,'administer CiviCampaign,manage campaign,release campaign contacts','OR',86,1,NULL,7),(97,1,'Campaign Reports','Campaign Reports','civicrm/report/list?compid=9&reset=1',NULL,'interview campaign contacts,release campaign contacts,reserve campaign contacts,manage campaign,administer CiviCampaign,gotv campaign contacts','OR',86,1,1,8),(98,1,'Conduct Survey','Conduct Survey','civicrm/campaign/vote?reset=1',NULL,'administer CiviCampaign,manage campaign,reserve campaign contacts,interview campaign contacts','OR',86,1,NULL,9),(99,1,'GOTV (Voter Tracking)','Voter Listing','civicrm/campaign/gotv?reset=1',NULL,'administer CiviCampaign,manage campaign,release campaign contacts,gotv campaign contacts','OR',86,1,NULL,10),(100,1,'Cases','Cases',NULL,'crm-i fa-folder-open-o','access my cases and activities,access all cases and activities','OR',NULL,1,NULL,80),(101,1,'Dashboard','Dashboard','civicrm/case?reset=1',NULL,'access my cases and activities,access all cases and activities','OR',100,1,NULL,1),(102,1,'New Case','New Case','civicrm/case/add?reset=1&action=add&atype=13&context=standalone',NULL,'add cases,access all cases and activities','OR',100,1,NULL,2),(103,1,'Find Cases','Find Cases','civicrm/case/search?reset=1',NULL,'access my cases and activities,access all cases and activities','OR',100,1,1,3),(104,1,'Case Reports','Case Reports','civicrm/report/list?compid=7&reset=1',NULL,'access my cases and activities,access all cases and activities,administer CiviCase','OR',100,1,0,4),(105,1,'Grants','Grants',NULL,'crm-i fa-money','access CiviGrant','',NULL,1,NULL,90),(106,1,'Dashboard','Dashboard','civicrm/grant?reset=1',NULL,'access CiviGrant','',105,1,NULL,1),(107,1,'New Grant','New Grant','civicrm/grant/add?reset=1&action=add&context=standalone',NULL,'access CiviGrant,edit grants','AND',105,1,NULL,2),(108,1,'Find Grants','Find Grants','civicrm/grant/search?reset=1',NULL,'access CiviGrant','',105,1,1,3),(109,1,'Grant Reports','Grant Reports','civicrm/report/list?compid=5&reset=1',NULL,'access CiviGrant','',105,1,0,4),(110,1,'Administer','Administer',NULL,'crm-i fa-gears','administer CiviCRM','',NULL,1,NULL,100),(111,1,'Administration Console','Administration Console','civicrm/admin?reset=1',NULL,'administer CiviCRM','',110,1,NULL,1),(112,1,'System Status','System Status','civicrm/a/#/status',NULL,'administer CiviCRM','',111,1,NULL,0),(113,1,'Configuration Checklist','Configuration Checklist','civicrm/admin/configtask?reset=1',NULL,'administer CiviCRM','',111,1,NULL,1),(114,1,'Customize Data and Screens','Customize Data and Screens',NULL,NULL,'administer CiviCRM','',110,1,NULL,3),(115,1,'Custom Fields','Custom Fields','civicrm/admin/custom/group?reset=1',NULL,'administer CiviCRM','',114,1,NULL,1),(116,1,'Profiles','Profiles','civicrm/admin/uf/group?reset=1',NULL,'administer CiviCRM','',114,1,NULL,2),(117,1,'Tags (Categories)','Tags (Categories)','civicrm/tag?reset=1',NULL,'administer CiviCRM','',114,1,NULL,3),(118,1,'Activity Types','Activity Types','civicrm/admin/options/activity_type?reset=1',NULL,'administer CiviCRM','',114,1,NULL,4),(119,1,'Relationship Types','Relationship Types','civicrm/admin/reltype?reset=1',NULL,'administer CiviCRM','',114,1,NULL,5),(120,1,'Contact Types','Contact Types','civicrm/admin/options/subtype?reset=1',NULL,'administer CiviCRM','',114,1,NULL,6),(121,1,'Display Preferences','Display Preferences','civicrm/admin/setting/preferences/display?reset=1',NULL,'administer CiviCRM','',114,1,NULL,9),(122,1,'Search Preferences','Search Preferences','civicrm/admin/setting/search?reset=1',NULL,'administer CiviCRM','',114,1,NULL,10),(123,1,'Date Preferences','Date Preferences','civicrm/admin/setting/preferences/date?reset=1',NULL,'administer CiviCRM','',114,1,NULL,11),(124,1,'Navigation Menu','Navigation Menu','civicrm/admin/menu?reset=1',NULL,'administer CiviCRM','',114,1,NULL,12),(125,1,'Word Replacements','Word Replacements','civicrm/admin/options/wordreplacements?reset=1',NULL,'administer CiviCRM','',114,1,NULL,13),(126,1,'Manage Custom Searches','Manage Custom Searches','civicrm/admin/options/custom_search?reset=1',NULL,'administer CiviCRM','',114,1,NULL,14),(127,1,'Dropdown Options','Dropdown Options','civicrm/admin/options?action=browse&reset=1',NULL,'administer CiviCRM','',114,1,NULL,8),(128,1,'Gender Options','Gender Options','civicrm/admin/options/gender?reset=1',NULL,'administer CiviCRM','',127,1,NULL,1),(129,1,'Individual Prefixes (Ms, Mr...)','Individual Prefixes (Ms, Mr...)','civicrm/admin/options/individual_prefix?reset=1',NULL,'administer CiviCRM','',127,1,NULL,2),(130,1,'Individual Suffixes (Jr, Sr...)','Individual Suffixes (Jr, Sr...)','civicrm/admin/options/individual_suffix?reset=1',NULL,'administer CiviCRM','',127,1,NULL,3),(131,1,'Instant Messenger Services','Instant Messenger Services','civicrm/admin/options/instant_messenger_service?reset=1',NULL,'administer CiviCRM','',127,1,NULL,4),(132,1,'Location Types (Home, Work...)','Location Types (Home, Work...)','civicrm/admin/locationType?reset=1',NULL,'administer CiviCRM','',127,1,NULL,5),(133,1,'Mobile Phone Providers','Mobile Phone Providers','civicrm/admin/options/mobile_provider?reset=1',NULL,'administer CiviCRM','',127,1,NULL,6),(134,1,'Phone Types','Phone Types','civicrm/admin/options/phone_type?reset=1',NULL,'administer CiviCRM','',127,1,NULL,7),(135,1,'Website Types','Website Types','civicrm/admin/options/website_type?reset=1',NULL,'administer CiviCRM','',127,1,NULL,8),(136,1,'Communications','Communications',NULL,NULL,'administer CiviCRM','',110,1,NULL,4),(137,1,'Organization Address and Contact Info','Organization Address and Contact Info','civicrm/admin/domain?action=update&reset=1',NULL,'administer CiviCRM','',136,1,NULL,1),(138,1,'FROM Email Addresses','FROM Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',136,1,NULL,2),(139,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',136,1,NULL,3),(140,1,'Schedule Reminders','Schedule Reminders','civicrm/admin/scheduleReminders?reset=1',NULL,'administer CiviCRM','',136,1,NULL,4),(141,1,'Preferred Communication Methods','Preferred Communication Methods','civicrm/admin/options/preferred_communication_method?reset=1',NULL,'administer CiviCRM','',136,1,NULL,5),(142,1,'Label Formats','Label Formats','civicrm/admin/labelFormats?reset=1',NULL,'administer CiviCRM','',136,1,NULL,6),(143,1,'Print Page (PDF) Formats','Print Page (PDF) Formats','civicrm/admin/pdfFormats?reset=1',NULL,'administer CiviCRM','',136,1,NULL,7),(144,1,'Communication Style Options','Communication Style Options','civicrm/admin/options/communication_style?reset=1',NULL,'administer CiviCRM','',136,1,NULL,8),(145,1,'Email Greeting Formats','Email Greeting Formats','civicrm/admin/options/email_greeting?reset=1',NULL,'administer CiviCRM','',136,1,NULL,9),(146,1,'Postal Greeting Formats','Postal Greeting Formats','civicrm/admin/options/postal_greeting?reset=1',NULL,'administer CiviCRM','',136,1,NULL,10),(147,1,'Addressee Formats','Addressee Formats','civicrm/admin/options/addressee?reset=1',NULL,'administer CiviCRM','',136,1,NULL,11),(148,1,'Localization','Localization',NULL,NULL,'administer CiviCRM','',110,1,NULL,6),(149,1,'Languages, Currency, Locations','Languages, Currency, Locations','civicrm/admin/setting/localization?reset=1',NULL,'administer CiviCRM','',148,1,NULL,1),(150,1,'Address Settings','Address Settings','civicrm/admin/setting/preferences/address?reset=1',NULL,'administer CiviCRM','',148,1,NULL,2),(151,1,'Date Formats','Date Formats','civicrm/admin/setting/date?reset=1',NULL,'administer CiviCRM','',148,1,NULL,3),(152,1,'Preferred Language Options','Preferred Language Options','civicrm/admin/options/languages?reset=1',NULL,'administer CiviCRM','',148,1,NULL,4),(153,1,'Users and Permissions','Users and Permissions',NULL,NULL,'administer CiviCRM','',110,1,NULL,7),(154,1,'Permissions (Access Control)','Permissions (Access Control)','civicrm/admin/access?reset=1',NULL,'administer CiviCRM','',153,1,NULL,1),(155,1,'Synchronize Users to Contacts','Synchronize Users to Contacts','civicrm/admin/synchUser?reset=1',NULL,'administer CiviCRM','',153,1,NULL,2),(156,1,'System Settings','System Settings',NULL,NULL,'administer CiviCRM','',110,1,NULL,8),(157,1,'Components','Enable Components','civicrm/admin/setting/component?reset=1',NULL,'administer CiviCRM','',156,1,NULL,1),(158,1,'Connections','Connections','civicrm/a/#/cxn',NULL,'administer CiviCRM','',156,1,NULL,2),(159,1,'Extensions','Manage Extensions','civicrm/admin/extensions?reset=1',NULL,'administer CiviCRM','',156,1,1,3),(160,1,'Cleanup Caches and Update Paths','Cleanup Caches and Update Paths','civicrm/admin/setting/updateConfigBackend?reset=1',NULL,'administer CiviCRM','',156,1,NULL,4),(161,1,'CMS Database Integration','CMS Integration','civicrm/admin/setting/uf?reset=1',NULL,'administer CiviCRM','',156,1,NULL,5),(162,1,'Debugging and Error Handling','Debugging and Error Handling','civicrm/admin/setting/debug?reset=1',NULL,'administer CiviCRM','',156,1,NULL,6),(163,1,'Directories','Directories','civicrm/admin/setting/path?reset=1',NULL,'administer CiviCRM','',156,1,NULL,7),(164,1,'Import/Export Mappings','Import/Export Mappings','civicrm/admin/mapping?reset=1',NULL,'administer CiviCRM','',156,1,NULL,8),(165,1,'Mapping and Geocoding','Mapping and Geocoding','civicrm/admin/setting/mapping?reset=1',NULL,'administer CiviCRM','',156,1,NULL,9),(166,1,'Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)','Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)','civicrm/admin/setting/misc?reset=1',NULL,'administer CiviCRM','',156,1,NULL,10),(167,1,'Multi Site Settings','Multi Site Settings','civicrm/admin/setting/preferences/multisite?reset=1',NULL,'administer CiviCRM','',156,1,NULL,11),(168,1,'Option Groups','Option Groups','civicrm/admin/options?reset=1',NULL,'administer CiviCRM','',156,1,NULL,12),(169,1,'Outbound Email (SMTP/Sendmail)','Outbound Email','civicrm/admin/setting/smtp?reset=1',NULL,'administer CiviCRM','',156,1,NULL,13),(170,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',156,1,NULL,14),(171,1,'Resource URLs','Resource URLs','civicrm/admin/setting/url?reset=1',NULL,'administer CiviCRM','',156,1,NULL,15),(172,1,'Safe File Extensions','Safe File Extensions','civicrm/admin/options/safe_file_extension?reset=1',NULL,'administer CiviCRM','',156,1,NULL,16),(173,1,'Scheduled Jobs','Scheduled Jobs','civicrm/admin/job?reset=1',NULL,'administer CiviCRM','',156,1,NULL,17),(174,1,'SMS Providers','SMS Providers','civicrm/admin/sms/provider?reset=1',NULL,'administer CiviCRM','',156,1,NULL,18),(175,1,'CiviCampaign','CiviCampaign',NULL,NULL,'administer CiviCampaign,administer CiviCRM','AND',110,1,NULL,9),(176,1,'Survey Types','Survey Types','civicrm/admin/campaign/surveyType?reset=1',NULL,'administer CiviCampaign','',175,1,NULL,1),(177,1,'Campaign Types','Campaign Types','civicrm/admin/options/campaign_type?reset=1',NULL,'administer CiviCampaign','',175,1,NULL,2),(178,1,'Campaign Status','Campaign Status','civicrm/admin/options/campaign_status?reset=1',NULL,'administer CiviCampaign','',175,1,NULL,3),(179,1,'Engagement Index','Engagement Index','civicrm/admin/options/engagement_index?reset=1',NULL,'administer CiviCampaign','',175,1,NULL,4),(180,1,'CiviCampaign Component Settings','CiviCampaign Component Settings','civicrm/admin/setting/preferences/campaign?reset=1',NULL,'administer CiviCampaign','',175,1,NULL,5),(181,1,'CiviCase','CiviCase',NULL,NULL,'administer CiviCase',NULL,110,1,NULL,10),(182,1,'CiviCase Settings','CiviCase Settings','civicrm/admin/setting/case?reset=1',NULL,'administer CiviCase',NULL,181,1,NULL,1),(183,1,'Case Types','Case Types','civicrm/a/#/caseType',NULL,'administer CiviCase',NULL,181,1,NULL,2),(184,1,'Redaction Rules','Redaction Rules','civicrm/admin/options/redaction_rule?reset=1',NULL,'administer CiviCase',NULL,181,1,NULL,3),(185,1,'Case Statuses','Case Statuses','civicrm/admin/options/case_status?reset=1',NULL,'administer CiviCase',NULL,181,1,NULL,4),(186,1,'Encounter Medium','Encounter Medium','civicrm/admin/options/encounter_medium?reset=1',NULL,'administer CiviCase',NULL,181,1,NULL,5),(187,1,'CiviContribute','CiviContribute',NULL,NULL,'access CiviContribute,administer CiviCRM','AND',110,1,NULL,11),(188,1,'New Contribution Page','New Contribution Page','civicrm/admin/contribute?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,6),(189,1,'Manage Contribution Pages','Manage Contribution Pages','civicrm/admin/contribute?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,1,7),(190,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=contribute',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,8),(191,1,'Premiums (Thank-you Gifts)','Premiums','civicrm/admin/contribute/managePremiums?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,1,9),(192,1,'Financial Types','Financial Types','civicrm/admin/financial/financialType?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,10),(193,1,'Financial Accounts','Financial Accounts','civicrm/admin/financial/financialAccount?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,11),(194,1,'Payment Methods','Payment Instruments','civicrm/admin/options/payment_instrument?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,12),(195,1,'Accepted Credit Cards','Accepted Credit Cards','civicrm/admin/options/accept_creditcard?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,13),(196,1,'Soft Credit Types','Soft Credit Types','civicrm/admin/options/soft_credit_type?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,1,14),(197,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,15),(198,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',187,1,NULL,16),(199,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',187,1,NULL,17),(200,1,'CiviContribute Component Settings','CiviContribute Component Settings','civicrm/admin/setting/preferences/contribute?reset=1',NULL,'administer CiviCRM','',187,1,NULL,18),(201,1,'CiviEvent','CiviEvent',NULL,NULL,'access CiviEvent,administer CiviCRM','AND',110,1,NULL,12),(202,1,'New Event','New Event','civicrm/event/add?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,1),(203,1,'Manage Events','Manage Events','civicrm/event/manage?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,1,2),(204,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=event',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,1,3),(205,1,'Event Templates','Event Templates','civicrm/admin/eventTemplate?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,1,4),(206,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,5),(207,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,1,6),(208,1,'Event Types','Event Types','civicrm/admin/options/event_type?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,7),(209,1,'Participant Statuses','Participant Statuses','civicrm/admin/participant_status?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,8),(210,1,'Participant Roles','Participant Roles','civicrm/admin/options/participant_role?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,9),(211,1,'Participant Listing Options','Participant Listing Options','civicrm/admin/options/participant_listing?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,10),(212,1,'Event Name Badge Layouts','Event Name Badge Layouts','civicrm/admin/badgelayout?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,11),(213,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',201,1,NULL,12),(214,1,'CiviEvent Component Settings','CiviEvent Component Settings','civicrm/admin/setting/preferences/event?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',201,1,NULL,13),(215,1,'CiviGrant','CiviGrant',NULL,NULL,'access CiviGrant,administer CiviCRM','AND',110,1,NULL,13),(216,1,'Grant Types','Grant Types','civicrm/admin/options/grant_type?reset=1',NULL,'access CiviGrant,administer CiviCRM','AND',215,1,NULL,1),(217,1,'Grant Status','Grant Status','civicrm/admin/options/grant_status?reset=1',NULL,'access CiviGrant,administer CiviCRM','AND',215,1,NULL,2),(218,1,'CiviMail','CiviMail',NULL,NULL,'access CiviMail,administer CiviCRM','AND',110,1,NULL,14),(219,1,'Headers, Footers, and Automated Messages','Headers, Footers, and Automated Messages','civicrm/admin/component?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',218,1,NULL,1),(220,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',218,1,NULL,2),(221,1,'From Email Addresses','From Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',218,1,NULL,3),(222,1,'Mail Accounts','Mail Accounts','civicrm/admin/mailSettings?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',218,1,NULL,4),(223,1,'Mailer Settings','Mailer Settings','civicrm/admin/mail?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',218,1,NULL,5),(224,1,'CiviMail Component Settings','CiviMail Component Settings','civicrm/admin/setting/preferences/mailing?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',218,1,NULL,6),(225,1,'CiviMember','CiviMember',NULL,NULL,'access CiviMember,administer CiviCRM','AND',110,1,NULL,15),(226,1,'Membership Types','Membership Types','civicrm/admin/member/membershipType?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',225,1,NULL,1),(227,1,'Membership Status Rules','Membership Status Rules','civicrm/admin/member/membershipStatus?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',225,1,1,2),(228,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviMember,administer CiviCRM','AND',225,1,NULL,3),(229,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',225,1,NULL,4),(230,1,'CiviMember Component Settings','CiviMember Component Settings','civicrm/admin/setting/preferences/member?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',225,1,NULL,5),(231,1,'CiviReport','CiviReport',NULL,NULL,'access CiviReport,administer CiviCRM','AND',110,1,NULL,16),(232,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',231,1,NULL,1),(233,1,'Create New Report from Template','Create New Report from Template','civicrm/admin/report/template/list?reset=1',NULL,'administer Reports','',231,1,NULL,2),(234,1,'Manage Templates','Manage Templates','civicrm/admin/report/options/report_template?reset=1',NULL,'administer Reports','',231,1,NULL,3),(235,1,'Register Report','Register Report','civicrm/admin/report/register?reset=1',NULL,'administer Reports','',231,1,NULL,4),(236,1,'Support','Support',NULL,'crm-i fa-life-ring',NULL,'',NULL,1,NULL,110),(237,1,'Get started','Get started','https://civicrm.org/get-started?src=iam',NULL,NULL,'AND',236,1,NULL,1),(238,1,'Documentation','Documentation','https://civicrm.org/documentation?src=iam',NULL,NULL,'AND',236,1,NULL,2),(239,1,'Ask a question','Ask a question','https://civicrm.org/ask-a-question?src=iam',NULL,NULL,'AND',236,1,NULL,3),(240,1,'Get expert help','Get expert help','https://civicrm.org/experts?src=iam',NULL,NULL,'AND',236,1,NULL,4),(241,1,'About CiviCRM','About CiviCRM','https://civicrm.org/about?src=iam',NULL,NULL,'AND',236,1,1,5),(242,1,'Register your site','Register your site','https://civicrm.org/register-your-site?src=iam&sid={sid}',NULL,NULL,'AND',236,1,NULL,6),(243,1,'Join CiviCRM','Join CiviCRM','https://civicrm.org/become-a-member?src=iam&sid={sid}',NULL,NULL,'AND',236,1,NULL,7),(244,1,'Developer','Developer',NULL,NULL,'administer CiviCRM','',236,1,1,8),(245,1,'Api Explorer v3','API Explorer','civicrm/api',NULL,'administer CiviCRM','',244,1,NULL,1),(246,1,'Api Explorer v4','Api Explorer v4','civicrm/api4#/explorer',NULL,'administer CiviCRM','',244,1,NULL,2),(247,1,'Developer Docs','Developer Docs','https://civicrm.org/developer-documentation?src=iam',NULL,'administer CiviCRM','',244,1,NULL,3),(248,1,'Reports','Reports',NULL,'crm-i fa-bar-chart','access CiviReport','',NULL,1,NULL,95),(249,1,'Contact Reports','Contact Reports','civicrm/report/list?compid=99&reset=1',NULL,'administer CiviCRM','',248,1,0,1),(250,1,'Contribution Reports','Contribution Reports','civicrm/report/list?compid=2&reset=1',NULL,'access CiviContribute','',248,1,0,2),(251,1,'Pledge Reports','Pledge Reports','civicrm/report/list?compid=6&reset=1',NULL,'access CiviPledge','',248,1,0,3),(252,1,'Event Reports','Event Reports','civicrm/report/list?compid=1&reset=1',NULL,'access CiviEvent','',248,1,0,4),(253,1,'Mailing Reports','Mailing Reports','civicrm/report/list?compid=4&reset=1',NULL,'access CiviMail','',248,1,0,5),(254,1,'Membership Reports','Membership Reports','civicrm/report/list?compid=3&reset=1',NULL,'access CiviMember','',248,1,0,6),(255,1,'Campaign Reports','Campaign Reports','civicrm/report/list?compid=9&reset=1',NULL,'interview campaign contacts,release campaign contacts,reserve campaign contacts,manage campaign,administer CiviCampaign,gotv campaign contacts','OR',248,1,0,7),(256,1,'Case Reports','Case Reports','civicrm/report/list?compid=7&reset=1',NULL,'access my cases and activities,access all cases and activities,administer CiviCase','OR',248,1,0,8),(257,1,'Grant Reports','Grant Reports','civicrm/report/list?compid=5&reset=1',NULL,'access CiviGrant','',248,1,0,9),(258,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',248,1,1,10),(259,1,'My Reports','My Reports','civicrm/report/list?myreports=1&reset=1',NULL,'access CiviReport','',248,1,1,11),(260,1,'New Student','New Student','civicrm/contact/add?ct=Individual&cst=Student&reset=1',NULL,'add contacts','',16,1,NULL,1),(261,1,'New Parent','New Parent','civicrm/contact/add?ct=Individual&cst=Parent&reset=1',NULL,'add contacts','',16,1,NULL,2),(262,1,'New Staff','New Staff','civicrm/contact/add?ct=Individual&cst=Staff&reset=1',NULL,'add contacts','',16,1,NULL,3),(263,1,'New Team','New Team','civicrm/contact/add?ct=Organization&cst=Team&reset=1',NULL,'add contacts','',18,1,NULL,1),(264,1,'New Sponsor','New Sponsor','civicrm/contact/add?ct=Organization&cst=Sponsor&reset=1',NULL,'add contacts','',18,1,NULL,2); /*!40000 ALTER TABLE `civicrm_navigation` ENABLE KEYS */; UNLOCK TABLES; @@ -986,7 +986,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',172,'Connect for presentation',1,'2018-09-11',NULL,'0'),(2,'civicrm_contact',106,'Send reminder for annual dinner',1,'2019-04-18',NULL,'0'),(3,'civicrm_contact',4,'Send reminder for annual dinner',1,'2018-10-16',NULL,'0'),(4,'civicrm_contact',160,'Organize the Terry Fox run',1,'2018-10-10',NULL,'0'),(5,'civicrm_contact',78,'Get the registration done for NGO status',1,'2018-09-25',NULL,'0'),(6,'civicrm_contact',65,'Connect for presentation',1,'2019-03-05',NULL,'0'),(7,'civicrm_contact',157,'Invite members for the Steve Prefontaine 10k dream run',1,'2019-01-01',NULL,'0'),(8,'civicrm_contact',183,'Organize the Terry Fox run',1,'2019-07-13',NULL,'0'),(9,'civicrm_contact',80,'Connect for presentation',1,'2018-09-06',NULL,'0'),(10,'civicrm_contact',143,'Arrange for cricket match with Sunil Gavaskar',1,'2018-11-17',NULL,'0'),(11,'civicrm_contact',42,'Arrange collection of funds from members',1,'2019-03-13',NULL,'0'),(12,'civicrm_contact',2,'Send reminder for annual dinner',1,'2019-03-26',NULL,'0'),(13,'civicrm_contact',74,'Send newsletter for April 2005',1,'2018-10-17',NULL,'0'),(14,'civicrm_contact',78,'Reminder screening of \"Black\" on next Friday',1,'2019-07-10',NULL,'0'),(15,'civicrm_contact',21,'Connect for presentation',1,'2019-02-17',NULL,'0'),(16,'civicrm_contact',53,'Contact the Commissioner of Charities',1,'2019-01-22',NULL,'0'),(17,'civicrm_contact',119,'Send reminder for annual dinner',1,'2018-12-29',NULL,'0'),(18,'civicrm_contact',102,'Contact the Commissioner of Charities',1,'2018-11-19',NULL,'0'),(19,'civicrm_contact',15,'Contact the Commissioner of Charities',1,'2019-02-27',NULL,'0'),(20,'civicrm_contact',180,'Organize the Terry Fox run',1,'2019-01-05',NULL,'0'); +INSERT INTO `civicrm_note` (`id`, `entity_table`, `entity_id`, `note`, `contact_id`, `modified_date`, `subject`, `privacy`) VALUES (1,'civicrm_contact',170,'Arrange collection of funds from members',1,'2018-12-26',NULL,'0'),(2,'civicrm_contact',104,'Arrange for cricket match with Sunil Gavaskar',1,'2019-06-23',NULL,'0'),(3,'civicrm_contact',91,'Arrange collection of funds from members',1,'2018-10-08',NULL,'0'),(4,'civicrm_contact',198,'Organize the Terry Fox run',1,'2018-12-15',NULL,'0'),(5,'civicrm_contact',34,'Connect for presentation',1,'2018-09-25',NULL,'0'),(6,'civicrm_contact',105,'Reminder screening of \"Black\" on next Friday',1,'2019-03-16',NULL,'0'),(7,'civicrm_contact',197,'Send reminder for annual dinner',1,'2019-01-10',NULL,'0'),(8,'civicrm_contact',132,'Contact the Commissioner of Charities',1,'2019-05-07',NULL,'0'),(9,'civicrm_contact',97,'Reminder screening of \"Black\" on next Friday',1,'2019-08-03',NULL,'0'),(10,'civicrm_contact',122,'Arrange collection of funds from members',1,'2018-09-27',NULL,'0'),(11,'civicrm_contact',120,'Get the registration done for NGO status',1,'2019-08-06',NULL,'0'),(12,'civicrm_contact',62,'Get the registration done for NGO status',1,'2018-10-16',NULL,'0'),(13,'civicrm_contact',6,'Send newsletter for April 2005',1,'2018-11-17',NULL,'0'),(14,'civicrm_contact',90,'Contact the Commissioner of Charities',1,'2019-06-25',NULL,'0'),(15,'civicrm_contact',132,'Get the registration done for NGO status',1,'2018-09-30',NULL,'0'),(16,'civicrm_contact',113,'Send reminder for annual dinner',1,'2019-02-07',NULL,'0'),(17,'civicrm_contact',167,'Reminder screening of \"Black\" on next Friday',1,'2019-02-12',NULL,'0'),(18,'civicrm_contact',104,'Arrange collection of funds from members',1,'2019-08-10',NULL,'0'),(19,'civicrm_contact',143,'Reminder screening of \"Black\" on next Friday',1,'2018-11-29',NULL,'0'),(20,'civicrm_contact',38,'Arrange collection of funds from members',1,'2019-03-15',NULL,'0'); /*!40000 ALTER TABLE `civicrm_note` ENABLE KEYS */; UNLOCK TABLES; @@ -1025,7 +1025,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,150,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(2,156,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,34,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,108,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,20,2,1,'1','2008-01-10 00:00:00','Check','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(6,42,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,8,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,172,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,141,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,7,1,2,'2','2008-02-01 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(11,119,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,107,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,41,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,10,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,48,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,99,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,191,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,184,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,128,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,32,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,183,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,79,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,23,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,2,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,111,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,31,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(27,133,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,188,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,26,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,160,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,50,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,13,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,181,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,82,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,18,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,137,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,182,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,173,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,30,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,196,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,185,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,199,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,62,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,132,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,90,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,186,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,163,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,167,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,186,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(2,55,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,99,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,143,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,170,2,1,'1','2008-01-10 00:00:00','Check','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(6,187,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,37,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,127,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,83,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,108,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,145,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,178,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,189,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,105,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,93,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,92,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,30,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,91,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,49,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,153,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,114,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,183,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,5,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,41,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),(27,159,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,193,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,120,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,179,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,86,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,1,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,75,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,58,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,57,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,72,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,21,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,163,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,184,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,34,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,190,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,69,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,45,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,139,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,8,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,67,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,135,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,157,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,89,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; @@ -1035,7 +1035,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,24,45),(2,28,46),(3,10,47),(4,7,48),(5,14,49),(6,34,50),(7,37,51),(8,5,52),(9,23,53),(10,30,54),(11,41,55),(12,26,56),(13,20,57),(14,3,58),(15,13,59),(16,6,60),(17,15,61),(18,33,62),(19,45,63),(20,32,64),(21,22,65),(22,36,66),(23,47,67),(24,16,68),(25,12,69),(26,4,70),(27,25,71),(28,11,72),(29,19,73),(30,46,74),(31,27,75),(32,38,76),(33,9,77),(34,1,78),(35,2,79),(36,31,80),(37,49,81),(38,50,82),(39,8,83),(40,40,84),(41,35,85),(42,39,86),(43,21,87),(44,18,88),(45,43,89),(46,48,90),(47,29,91),(48,17,92),(49,42,93),(50,44,94); +INSERT INTO `civicrm_participant_payment` (`id`, `participant_id`, `contribution_id`) VALUES (1,32,45),(2,25,46),(3,46,47),(4,33,48),(5,38,49),(6,19,50),(7,41,51),(8,7,52),(9,26,53),(10,44,54),(11,21,55),(12,2,56),(13,36,57),(14,35,58),(15,47,59),(16,43,60),(17,37,61),(18,34,62),(19,9,63),(20,31,64),(21,50,65),(22,20,66),(23,17,67),(24,16,68),(25,3,69),(26,15,70),(27,11,71),(28,23,72),(29,18,73),(30,29,74),(31,10,75),(32,8,76),(33,48,77),(34,45,78),(35,4,79),(36,12,80),(37,22,81),(38,49,82),(39,27,83),(40,39,84),(41,5,85),(42,13,86),(43,30,87),(44,24,88),(45,40,89),(46,1,90),(47,6,91),(48,14,92),(49,42,93),(50,28,94); /*!40000 ALTER TABLE `civicrm_participant_payment` ENABLE KEYS */; UNLOCK TABLES; @@ -1083,7 +1083,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,57,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.','

    Friends and family - please help build much needed infrastructure for the civic sector by supporting my personal campaign!

    \r\n

    You can learn more about CiviCRM here.

    \r\n

    Then click the Contribute Now button to go to our easy-to-use online contribution form.

    ','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,187,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.','

    Friends and family - please help build much needed infrastructure for the civic sector by supporting my personal campaign!

    \r\n

    You can learn more about CiviCRM here.

    \r\n

    Then click the Contribute Now button to go to our easy-to-use online contribution form.

    ','Contribute Now',1,'contribute',1,1,1,5000.00,'USD',1,1); /*!40000 ALTER TABLE `civicrm_pcp` ENABLE KEYS */; UNLOCK TABLES; @@ -1112,7 +1112,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,45,1,1,0,NULL,'(416) 458-4524',NULL,'4164584524',1),(2,45,1,0,0,NULL,'(295) 652-8430',NULL,'2956528430',2),(3,31,1,1,0,NULL,'(419) 204-4699',NULL,'4192044699',1),(4,193,1,1,0,NULL,'674-5460',NULL,'6745460',2),(5,33,1,1,0,NULL,'(373) 521-1062',NULL,'3735211062',2),(6,33,1,0,0,NULL,'848-2125',NULL,'8482125',2),(7,128,1,1,0,NULL,'542-6257',NULL,'5426257',1),(8,66,1,1,0,NULL,'897-3336',NULL,'8973336',2),(9,66,1,0,0,NULL,'438-3118',NULL,'4383118',2),(10,5,1,1,0,NULL,'733-9004',NULL,'7339004',2),(11,170,1,1,0,NULL,'318-5333',NULL,'3185333',1),(12,112,1,1,0,NULL,'264-8273',NULL,'2648273',2),(13,129,1,1,0,NULL,'744-9423',NULL,'7449423',1),(14,129,1,0,0,NULL,'(770) 663-2139',NULL,'7706632139',2),(15,18,1,1,0,NULL,'804-6992',NULL,'8046992',1),(16,18,1,0,0,NULL,'783-4099',NULL,'7834099',2),(17,191,1,1,0,NULL,'(356) 399-4255',NULL,'3563994255',1),(18,60,1,1,0,NULL,'(739) 519-4437',NULL,'7395194437',1),(19,81,1,1,0,NULL,'(648) 556-6905',NULL,'6485566905',2),(20,85,1,1,0,NULL,'(734) 406-5485',NULL,'7344065485',1),(21,177,1,1,0,NULL,'(341) 331-3763',NULL,'3413313763',1),(22,4,1,1,0,NULL,'733-3487',NULL,'7333487',1),(23,149,1,1,0,NULL,'(895) 661-1279',NULL,'8956611279',2),(24,149,1,0,0,NULL,'(791) 316-7116',NULL,'7913167116',1),(25,24,1,1,0,NULL,'(727) 354-3154',NULL,'7273543154',1),(26,172,1,1,0,NULL,'(599) 328-5682',NULL,'5993285682',2),(27,154,1,1,0,NULL,'756-3002',NULL,'7563002',1),(28,99,1,1,0,NULL,'(750) 521-7032',NULL,'7505217032',1),(29,99,1,0,0,NULL,'640-4437',NULL,'6404437',2),(30,94,1,1,0,NULL,'(420) 693-9626',NULL,'4206939626',1),(31,94,1,0,0,NULL,'(645) 882-6226',NULL,'6458826226',1),(32,58,1,1,0,NULL,'(450) 623-9253',NULL,'4506239253',1),(33,51,1,1,0,NULL,'395-9335',NULL,'3959335',2),(34,174,1,1,0,NULL,'(688) 686-7390',NULL,'6886867390',2),(35,42,1,1,0,NULL,'(548) 298-4778',NULL,'5482984778',1),(36,42,1,0,0,NULL,'702-1306',NULL,'7021306',2),(37,124,1,1,0,NULL,'(541) 334-2923',NULL,'5413342923',1),(38,136,1,1,0,NULL,'617-9402',NULL,'6179402',1),(39,75,1,1,0,NULL,'(401) 696-6635',NULL,'4016966635',2),(40,75,1,0,0,NULL,'(825) 544-4788',NULL,'8255444788',2),(41,118,1,1,0,NULL,'489-4575',NULL,'4894575',2),(42,40,1,1,0,NULL,'794-3539',NULL,'7943539',2),(43,40,1,0,0,NULL,'671-8696',NULL,'6718696',2),(44,38,1,1,0,NULL,'(861) 221-4170',NULL,'8612214170',2),(45,38,1,0,0,NULL,'577-6474',NULL,'5776474',2),(46,59,1,1,0,NULL,'(809) 676-6354',NULL,'8096766354',1),(47,59,1,0,0,NULL,'(427) 841-5956',NULL,'4278415956',2),(48,50,1,1,0,NULL,'(371) 476-1771',NULL,'3714761771',1),(49,22,1,1,0,NULL,'(273) 449-6092',NULL,'2734496092',1),(50,22,1,0,0,NULL,'387-8856',NULL,'3878856',1),(51,192,1,1,0,NULL,'812-4900',NULL,'8124900',2),(52,119,1,1,0,NULL,'388-1362',NULL,'3881362',1),(53,133,1,1,0,NULL,'889-1704',NULL,'8891704',2),(54,95,1,1,0,NULL,'225-7130',NULL,'2257130',2),(55,95,1,0,0,NULL,'(515) 620-2366',NULL,'5156202366',1),(56,164,1,1,0,NULL,'(210) 336-6282',NULL,'2103366282',2),(57,164,1,0,0,NULL,'(292) 828-6415',NULL,'2928286415',1),(58,158,1,1,0,NULL,'772-7499',NULL,'7727499',2),(59,165,1,1,0,NULL,'841-4051',NULL,'8414051',1),(60,67,1,1,0,NULL,'(675) 234-2284',NULL,'6752342284',1),(61,67,1,0,0,NULL,'849-7757',NULL,'8497757',2),(62,89,1,1,0,NULL,'(497) 448-8112',NULL,'4974488112',1),(63,185,1,1,0,NULL,'(707) 857-2635',NULL,'7078572635',2),(64,185,1,0,0,NULL,'(523) 472-6136',NULL,'5234726136',1),(65,102,1,1,0,NULL,'(817) 466-3066',NULL,'8174663066',2),(66,102,1,0,0,NULL,'(777) 612-1461',NULL,'7776121461',2),(67,68,1,1,0,NULL,'392-4040',NULL,'3924040',2),(68,134,1,1,0,NULL,'(743) 645-8541',NULL,'7436458541',1),(69,134,1,0,0,NULL,'663-4268',NULL,'6634268',1),(70,141,1,1,0,NULL,'(553) 379-3520',NULL,'5533793520',1),(71,141,1,0,0,NULL,'(657) 768-9560',NULL,'6577689560',1),(72,96,1,1,0,NULL,'(436) 219-5243',NULL,'4362195243',2),(73,73,1,1,0,NULL,'712-4363',NULL,'7124363',1),(74,73,1,0,0,NULL,'(886) 709-8183',NULL,'8867098183',1),(75,122,1,1,0,NULL,'567-4676',NULL,'5674676',1),(76,175,1,1,0,NULL,'(587) 398-7347',NULL,'5873987347',1),(77,86,1,1,0,NULL,'272-2002',NULL,'2722002',1),(78,86,1,0,0,NULL,'(886) 459-1626',NULL,'8864591626',1),(79,183,1,1,0,NULL,'627-4706',NULL,'6274706',2),(80,183,1,0,0,NULL,'461-4553',NULL,'4614553',2),(81,198,1,1,0,NULL,'356-2173',NULL,'3562173',2),(82,105,1,1,0,NULL,'357-3877',NULL,'3573877',1),(83,105,1,0,0,NULL,'434-9349',NULL,'4349349',2),(84,181,1,1,0,NULL,'(483) 888-8909',NULL,'4838888909',1),(85,181,1,0,0,NULL,'783-6583',NULL,'7836583',1),(86,64,1,1,0,NULL,'618-8111',NULL,'6188111',2),(87,35,1,1,0,NULL,'(651) 370-7408',NULL,'6513707408',2),(88,35,1,0,0,NULL,'662-7175',NULL,'6627175',2),(89,127,1,1,0,NULL,'737-7278',NULL,'7377278',2),(90,127,1,0,0,NULL,'823-9444',NULL,'8239444',2),(91,70,1,1,0,NULL,'284-6984',NULL,'2846984',2),(92,47,1,1,0,NULL,'(372) 888-2702',NULL,'3728882702',1),(93,47,1,0,0,NULL,'(337) 536-7412',NULL,'3375367412',1),(94,153,1,1,0,NULL,'710-3803',NULL,'7103803',2),(95,144,1,1,0,NULL,'(867) 541-9144',NULL,'8675419144',2),(96,28,1,1,0,NULL,'(836) 356-5887',NULL,'8363565887',1),(97,28,1,0,0,NULL,'(277) 487-6392',NULL,'2774876392',2),(98,146,1,1,0,NULL,'(475) 839-4900',NULL,'4758394900',2),(99,146,1,0,0,NULL,'784-9517',NULL,'7849517',2),(100,173,1,1,0,NULL,'(830) 823-1988',NULL,'8308231988',1),(101,173,1,0,0,NULL,'616-4995',NULL,'6164995',1),(102,13,1,1,0,NULL,'778-6169',NULL,'7786169',2),(103,13,1,0,0,NULL,'(825) 680-7843',NULL,'8256807843',2),(104,176,1,1,0,NULL,'534-3600',NULL,'5343600',1),(105,176,1,0,0,NULL,'(836) 519-3018',NULL,'8365193018',2),(106,147,1,1,0,NULL,'783-2227',NULL,'7832227',1),(107,147,1,0,0,NULL,'(894) 619-1351',NULL,'8946191351',1),(108,178,1,1,0,NULL,'(838) 548-2582',NULL,'8385482582',1),(109,178,1,0,0,NULL,'(327) 754-2942',NULL,'3277542942',1),(110,135,1,1,0,NULL,'(573) 233-6973',NULL,'5732336973',2),(111,104,1,1,0,NULL,'(288) 768-7518',NULL,'2887687518',1),(112,104,1,0,0,NULL,'557-7897',NULL,'5577897',2),(113,8,1,1,0,NULL,'381-2209',NULL,'3812209',2),(114,8,1,0,0,NULL,'471-7776',NULL,'4717776',2),(115,168,1,1,0,NULL,'730-6305',NULL,'7306305',1),(116,168,1,0,0,NULL,'346-9833',NULL,'3469833',2),(117,182,1,1,0,NULL,'407-2291',NULL,'4072291',1),(118,182,1,0,0,NULL,'591-4439',NULL,'5914439',2),(119,56,1,1,0,NULL,'(404) 254-8579',NULL,'4042548579',1),(120,56,1,0,0,NULL,'(223) 553-7223',NULL,'2235537223',1),(121,88,1,1,0,NULL,'(830) 535-1051',NULL,'8305351051',1),(122,88,1,0,0,NULL,'815-3141',NULL,'8153141',1),(123,197,1,1,0,NULL,'676-8507',NULL,'6768507',2),(124,132,1,1,0,NULL,'417-4534',NULL,'4174534',2),(125,126,1,1,0,NULL,'(859) 486-2188',NULL,'8594862188',1),(126,55,1,1,0,NULL,'(324) 555-8041',NULL,'3245558041',2),(127,161,1,1,0,NULL,'816-2277',NULL,'8162277',1),(128,84,1,1,0,NULL,'(735) 582-8298',NULL,'7355828298',1),(129,2,1,1,0,NULL,'892-7532',NULL,'8927532',1),(130,29,1,1,0,NULL,'775-7191',NULL,'7757191',1),(131,34,1,1,0,NULL,'631-5680',NULL,'6315680',1),(132,34,1,0,0,NULL,'809-9396',NULL,'8099396',2),(133,44,1,1,0,NULL,'(646) 462-5870',NULL,'6464625870',1),(134,163,1,1,0,NULL,'312-8928',NULL,'3128928',2),(135,163,1,0,0,NULL,'600-1011',NULL,'6001011',2),(136,76,1,1,0,NULL,'(805) 745-9664',NULL,'8057459664',1),(137,39,1,1,0,NULL,'(255) 372-5131',NULL,'2553725131',2),(138,166,1,1,0,NULL,'658-9730',NULL,'6589730',1),(139,166,1,0,0,NULL,'671-9118',NULL,'6719118',1),(140,159,1,1,0,NULL,'(866) 764-5582',NULL,'8667645582',2),(141,115,1,1,0,NULL,'851-8085',NULL,'8518085',1),(142,115,1,0,0,NULL,'(789) 257-4464',NULL,'7892574464',2),(143,100,1,1,0,NULL,'(577) 395-5328',NULL,'5773955328',1),(144,160,1,1,0,NULL,'683-2437',NULL,'6832437',1),(145,120,1,1,0,NULL,'253-4199',NULL,'2534199',2),(146,120,1,0,0,NULL,'(897) 303-4275',NULL,'8973034275',2),(147,186,1,1,0,NULL,'(454) 355-9889',NULL,'4543559889',1),(148,186,1,0,0,NULL,'621-5335',NULL,'6215335',2),(149,49,1,1,0,NULL,'(323) 663-9672',NULL,'3236639672',1),(150,49,1,0,0,NULL,'410-3282',NULL,'4103282',2),(151,131,1,1,0,NULL,'446-8005',NULL,'4468005',2),(152,131,1,0,0,NULL,'534-4791',NULL,'5344791',2),(153,21,1,1,0,NULL,'(434) 421-8386',NULL,'4344218386',1),(154,21,1,0,0,NULL,'313-6026',NULL,'3136026',2),(155,125,1,1,0,NULL,'784-6763',NULL,'7846763',2),(156,125,1,0,0,NULL,'(707) 700-3027',NULL,'7077003027',2),(157,171,1,1,0,NULL,'(728) 843-9634',NULL,'7288439634',2),(158,111,1,1,0,NULL,'229-6648',NULL,'2296648',2),(159,6,1,1,0,NULL,'497-5710',NULL,'4975710',1),(160,6,1,0,0,NULL,'(360) 226-2889',NULL,'3602262889',2),(161,11,1,1,0,NULL,'460-9438',NULL,'4609438',2),(162,11,1,0,0,NULL,'519-4639',NULL,'5194639',2),(163,151,1,1,0,NULL,'(657) 472-4231',NULL,'6574724231',2),(164,101,1,1,0,NULL,'323-9902',NULL,'3239902',2),(165,101,1,0,0,NULL,'284-7875',NULL,'2847875',2),(166,180,1,1,0,NULL,'(391) 872-6177',NULL,'3918726177',2),(167,180,1,0,0,NULL,'441-3077',NULL,'4413077',2),(168,32,1,1,0,NULL,'(644) 656-3124',NULL,'6446563124',1),(169,32,1,0,0,NULL,'(642) 409-3746',NULL,'6424093746',2),(170,NULL,1,0,0,NULL,'204 222-1000',NULL,'2042221000',1),(171,NULL,1,0,0,NULL,'204 223-1000',NULL,'2042231000',1),(172,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,174,1,1,0,NULL,'751-5701',NULL,'7515701',2),(2,174,1,0,0,NULL,'812-3004',NULL,'8123004',1),(3,87,1,1,0,NULL,'654-8297',NULL,'6548297',1),(4,87,1,0,0,NULL,'656-6175',NULL,'6566175',2),(5,129,1,1,0,NULL,'(272) 799-5063',NULL,'2727995063',1),(6,112,1,1,0,NULL,'(882) 507-5823',NULL,'8825075823',2),(7,197,1,1,0,NULL,'394-7024',NULL,'3947024',2),(8,197,1,0,0,NULL,'(469) 898-4577',NULL,'4698984577',1),(9,116,1,1,0,NULL,'664-9419',NULL,'6649419',1),(10,67,1,1,0,NULL,'(399) 547-4076',NULL,'3995474076',2),(11,67,1,0,0,NULL,'(431) 354-6503',NULL,'4313546503',1),(12,127,1,1,0,NULL,'(471) 634-2023',NULL,'4716342023',1),(13,181,1,1,0,NULL,'(617) 340-6794',NULL,'6173406794',1),(14,76,1,1,0,NULL,'(384) 572-2086',NULL,'3845722086',2),(15,76,1,0,0,NULL,'627-4118',NULL,'6274118',2),(16,115,1,1,0,NULL,'(802) 467-3957',NULL,'8024673957',2),(17,30,1,1,0,NULL,'(830) 842-7777',NULL,'8308427777',1),(18,153,1,1,0,NULL,'292-6957',NULL,'2926957',1),(19,79,1,1,0,NULL,'(571) 395-5731',NULL,'5713955731',2),(20,113,1,1,0,NULL,'(717) 716-4012',NULL,'7177164012',2),(21,113,1,0,0,NULL,'771-6923',NULL,'7716923',2),(22,64,1,1,0,NULL,'(792) 303-4561',NULL,'7923034561',2),(23,64,1,0,0,NULL,'(315) 739-7993',NULL,'3157397993',2),(24,6,1,1,0,NULL,'684-6198',NULL,'6846198',1),(25,63,1,1,0,NULL,'(883) 537-1889',NULL,'8835371889',1),(26,63,1,0,0,NULL,'270-3051',NULL,'2703051',2),(27,201,1,1,0,NULL,'(669) 532-8422',NULL,'6695328422',1),(28,201,1,0,0,NULL,'(848) 488-5210',NULL,'8484885210',1),(29,136,1,1,0,NULL,'(652) 300-9685',NULL,'6523009685',2),(30,136,1,0,0,NULL,'(800) 331-6187',NULL,'8003316187',1),(31,158,1,1,0,NULL,'684-4306',NULL,'6844306',1),(32,158,1,0,0,NULL,'359-1468',NULL,'3591468',1),(33,70,1,1,0,NULL,'(359) 689-7496',NULL,'3596897496',1),(34,41,1,1,0,NULL,'(459) 811-4100',NULL,'4598114100',2),(35,41,1,0,0,NULL,'(693) 239-2206',NULL,'6932392206',2),(36,147,1,1,0,NULL,'292-2079',NULL,'2922079',2),(37,147,1,0,0,NULL,'(635) 437-8156',NULL,'6354378156',2),(38,151,1,1,0,NULL,'521-4687',NULL,'5214687',1),(39,151,1,0,0,NULL,'(456) 504-9821',NULL,'4565049821',2),(40,114,1,1,0,NULL,'417-4424',NULL,'4174424',2),(41,114,1,0,0,NULL,'529-9213',NULL,'5299213',1),(42,34,1,1,0,NULL,'324-7341',NULL,'3247341',1),(43,34,1,0,0,NULL,'887-9290',NULL,'8879290',2),(44,16,1,1,0,NULL,'426-3665',NULL,'4263665',1),(45,16,1,0,0,NULL,'(423) 469-1518',NULL,'4234691518',2),(46,86,1,1,0,NULL,'671-2758',NULL,'6712758',1),(47,86,1,0,0,NULL,'(255) 369-8520',NULL,'2553698520',2),(48,89,1,1,0,NULL,'(388) 635-6125',NULL,'3886356125',1),(49,92,1,1,0,NULL,'(611) 685-1812',NULL,'6116851812',1),(50,92,1,0,0,NULL,'(407) 551-1355',NULL,'4075511355',1),(51,36,1,1,0,NULL,'(634) 547-6996',NULL,'6345476996',2),(52,2,1,1,0,NULL,'791-8706',NULL,'7918706',2),(53,2,1,0,0,NULL,'(807) 803-5671',NULL,'8078035671',1),(54,121,1,1,0,NULL,'474-8398',NULL,'4748398',1),(55,121,1,0,0,NULL,'(417) 791-3919',NULL,'4177913919',1),(56,135,1,1,0,NULL,'(713) 339-5477',NULL,'7133395477',1),(57,104,1,1,0,NULL,'(811) 229-4511',NULL,'8112294511',1),(58,104,1,0,0,NULL,'(826) 480-4067',NULL,'8264804067',2),(59,45,1,1,0,NULL,'706-6605',NULL,'7066605',2),(60,45,1,0,0,NULL,'409-3524',NULL,'4093524',2),(61,128,1,1,0,NULL,'(542) 325-8537',NULL,'5423258537',2),(62,77,1,1,0,NULL,'(803) 724-5796',NULL,'8037245796',1),(63,77,1,0,0,NULL,'(899) 536-3957',NULL,'8995363957',1),(64,103,1,1,0,NULL,'244-4375',NULL,'2444375',2),(65,131,1,1,0,NULL,'465-6815',NULL,'4656815',1),(66,111,1,1,0,NULL,'(593) 609-1541',NULL,'5936091541',1),(67,111,1,0,0,NULL,'589-3012',NULL,'5893012',1),(68,148,1,1,0,NULL,'827-7443',NULL,'8277443',1),(69,81,1,1,0,NULL,'(237) 586-1255',NULL,'2375861255',1),(70,81,1,0,0,NULL,'(806) 897-8332',NULL,'8068978332',1),(71,119,1,1,0,NULL,'(691) 320-2229',NULL,'6913202229',1),(72,119,1,0,0,NULL,'(566) 552-3386',NULL,'5665523386',2),(73,139,1,1,0,NULL,'(323) 710-2708',NULL,'3237102708',1),(74,139,1,0,0,NULL,'363-4443',NULL,'3634443',2),(75,159,1,1,0,NULL,'345-3082',NULL,'3453082',1),(76,159,1,0,0,NULL,'295-7784',NULL,'2957784',1),(77,140,1,1,0,NULL,'(859) 642-3820',NULL,'8596423820',2),(78,80,1,1,0,NULL,'(694) 544-3870',NULL,'6945443870',1),(79,80,1,0,0,NULL,'314-5921',NULL,'3145921',1),(80,122,1,1,0,NULL,'716-5709',NULL,'7165709',2),(81,149,1,1,0,NULL,'(465) 303-9535',NULL,'4653039535',1),(82,149,1,0,0,NULL,'818-8686',NULL,'8188686',1),(83,179,1,1,0,NULL,'395-5509',NULL,'3955509',2),(84,37,1,1,0,NULL,'766-4555',NULL,'7664555',2),(85,99,1,1,0,NULL,'223-5013',NULL,'2235013',1),(86,150,1,1,0,NULL,'509-6841',NULL,'5096841',2),(87,150,1,0,0,NULL,'453-5645',NULL,'4535645',2),(88,146,1,1,0,NULL,'475-1876',NULL,'4751876',2),(89,72,1,1,0,NULL,'(530) 230-3336',NULL,'5302303336',1),(90,69,1,1,0,NULL,'204-3297',NULL,'2043297',1),(91,69,1,0,0,NULL,'335-1525',NULL,'3351525',1),(92,82,1,1,0,NULL,'(405) 806-5346',NULL,'4058065346',2),(93,82,1,0,0,NULL,'(253) 228-4867',NULL,'2532284867',2),(94,5,1,1,0,NULL,'(857) 267-3958',NULL,'8572673958',2),(95,109,1,1,0,NULL,'495-9011',NULL,'4959011',2),(96,109,1,0,0,NULL,'(761) 670-1828',NULL,'7616701828',1),(97,59,1,1,0,NULL,'(407) 673-4489',NULL,'4076734489',1),(98,48,1,1,0,NULL,'(860) 705-5236',NULL,'8607055236',1),(99,124,1,1,0,NULL,'(776) 675-7081',NULL,'7766757081',2),(100,124,1,0,0,NULL,'301-6500',NULL,'3016500',2),(101,170,1,1,0,NULL,'(440) 492-1480',NULL,'4404921480',2),(102,25,1,1,0,NULL,'605-9665',NULL,'6059665',1),(103,145,1,1,0,NULL,'379-3246',NULL,'3793246',2),(104,145,1,0,0,NULL,'693-8940',NULL,'6938940',1),(105,12,1,1,0,NULL,'(867) 709-1919',NULL,'8677091919',2),(106,12,1,0,0,NULL,'(402) 834-9553',NULL,'4028349553',2),(107,43,1,1,0,NULL,'674-2476',NULL,'6742476',2),(108,43,1,0,0,NULL,'583-5894',NULL,'5835894',1),(109,91,1,1,0,NULL,'299-7241',NULL,'2997241',2),(110,91,1,0,0,NULL,'631-5850',NULL,'6315850',2),(111,57,1,1,0,NULL,'285-1495',NULL,'2851495',2),(112,185,1,1,0,NULL,'553-2519',NULL,'5532519',1),(113,185,1,0,0,NULL,'(493) 754-3887',NULL,'4937543887',1),(114,169,1,1,0,NULL,'(528) 839-5815',NULL,'5288395815',2),(115,194,1,1,0,NULL,'(781) 316-9375',NULL,'7813169375',1),(116,7,1,1,0,NULL,'(867) 809-5412',NULL,'8678095412',1),(117,7,1,0,0,NULL,'(344) 746-5820',NULL,'3447465820',2),(118,68,1,1,0,NULL,'322-9331',NULL,'3229331',2),(119,68,1,0,0,NULL,'543-7145',NULL,'5437145',2),(120,188,1,1,0,NULL,'(464) 297-8181',NULL,'4642978181',1),(121,188,1,0,0,NULL,'(804) 390-2990',NULL,'8043902990',1),(122,105,1,1,0,NULL,'833-1724',NULL,'8331724',1),(123,105,1,0,0,NULL,'(746) 540-2794',NULL,'7465402794',1),(124,178,1,1,0,NULL,'(549) 602-9615',NULL,'5496029615',2),(125,178,1,0,0,NULL,'765-9769',NULL,'7659769',1),(126,88,1,1,0,NULL,'259-1228',NULL,'2591228',2),(127,161,1,1,0,NULL,'593-7888',NULL,'5937888',2),(128,176,1,1,0,NULL,'(656) 667-4374',NULL,'6566674374',2),(129,176,1,0,0,NULL,'(879) 306-3948',NULL,'8793063948',1),(130,84,1,1,0,NULL,'(725) 803-3451',NULL,'7258033451',2),(131,108,1,1,0,NULL,'(635) 419-9639',NULL,'6354199639',1),(132,108,1,0,0,NULL,'248-6502',NULL,'2486502',1),(133,38,1,1,0,NULL,'388-7780',NULL,'3887780',1),(134,38,1,0,0,NULL,'561-2013',NULL,'5612013',1),(135,184,1,1,0,NULL,'(255) 208-7010',NULL,'2552087010',1),(136,184,1,0,0,NULL,'668-9878',NULL,'6689878',2),(137,85,1,1,0,NULL,'(691) 223-3297',NULL,'6912233297',2),(138,85,1,0,0,NULL,'460-4972',NULL,'4604972',1),(139,13,1,1,0,NULL,'480-3738',NULL,'4803738',2),(140,13,1,0,0,NULL,'366-7161',NULL,'3667161',2),(141,18,1,1,0,NULL,'(308) 869-1545',NULL,'3088691545',2),(142,177,1,1,0,NULL,'302-2419',NULL,'3022419',1),(143,24,1,1,0,NULL,'672-3341',NULL,'6723341',2),(144,24,1,0,0,NULL,'(728) 704-9923',NULL,'7287049923',1),(145,125,1,1,0,NULL,'820-2391',NULL,'8202391',2),(146,125,1,0,0,NULL,'660-1590',NULL,'6601590',1),(147,8,1,1,0,NULL,'(514) 478-8263',NULL,'5144788263',1),(148,173,1,1,0,NULL,'338-3790',NULL,'3383790',2),(149,130,1,1,0,NULL,'(675) 482-9334',NULL,'6754829334',1),(150,22,1,1,0,NULL,'(881) 853-6739',NULL,'8818536739',1),(151,22,1,0,0,NULL,'(300) 639-4832',NULL,'3006394832',2),(152,163,1,1,0,NULL,'(643) 888-5952',NULL,'6438885952',2),(153,163,1,0,0,NULL,'(389) 864-6969',NULL,'3898646969',1),(154,183,1,1,0,NULL,'(283) 519-2860',NULL,'2835192860',1),(155,183,1,0,0,NULL,'(523) 471-1701',NULL,'5234711701',1),(156,189,1,1,0,NULL,'473-2601',NULL,'4732601',2),(157,189,1,0,0,NULL,'709-2825',NULL,'7092825',2),(158,26,1,1,0,NULL,'(521) 788-5975',NULL,'5217885975',2),(159,134,1,1,0,NULL,'(666) 488-8680',NULL,'6664888680',1),(160,134,1,0,0,NULL,'(656) 780-4061',NULL,'6567804061',2),(161,17,1,1,0,NULL,'491-9378',NULL,'4919378',1),(162,17,1,0,0,NULL,'(402) 330-3622',NULL,'4023303622',2),(163,90,1,1,0,NULL,'(524) 601-6195',NULL,'5246016195',1),(164,90,1,0,0,NULL,'657-6834',NULL,'6576834',1),(165,46,1,1,0,NULL,'(533) 601-7273',NULL,'5336017273',2),(166,95,1,1,0,NULL,'466-5611',NULL,'4665611',2),(167,95,1,0,0,NULL,'714-4441',NULL,'7144441',1),(168,NULL,1,0,0,NULL,'204 222-1000',NULL,'2042221000',1),(169,NULL,1,0,0,NULL,'204 223-1000',NULL,'2042231000',1),(170,NULL,1,0,0,NULL,'303 323-1000',NULL,'3033231000',1); /*!40000 ALTER TABLE `civicrm_phone` ENABLE KEYS */; UNLOCK TABLES; @@ -1269,7 +1269,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,198,157,1,NULL,NULL,1,NULL,0,0,NULL),(2,105,157,1,NULL,NULL,1,NULL,0,0,NULL),(3,198,183,1,NULL,NULL,1,NULL,0,0,NULL),(4,105,183,1,NULL,NULL,1,NULL,0,0,NULL),(5,105,198,4,NULL,NULL,1,NULL,0,0,NULL),(6,183,3,8,NULL,NULL,1,NULL,0,0,NULL),(7,198,3,8,NULL,NULL,1,NULL,0,0,NULL),(8,105,3,8,NULL,NULL,1,NULL,0,0,NULL),(9,157,3,7,NULL,NULL,1,NULL,0,0,NULL),(10,183,157,2,NULL,NULL,1,NULL,0,0,NULL),(11,35,181,1,NULL,NULL,1,NULL,0,0,NULL),(12,127,181,1,NULL,NULL,1,NULL,0,0,NULL),(13,35,64,1,NULL,NULL,1,NULL,0,0,NULL),(14,127,64,1,NULL,NULL,1,NULL,0,0,NULL),(15,127,35,4,NULL,NULL,1,NULL,0,0,NULL),(16,64,190,8,NULL,NULL,1,NULL,0,0,NULL),(17,35,190,8,NULL,NULL,1,NULL,0,0,NULL),(18,127,190,8,NULL,NULL,1,NULL,0,0,NULL),(19,181,190,7,NULL,NULL,1,NULL,0,0,NULL),(20,64,181,2,NULL,NULL,1,NULL,0,0,NULL),(21,36,167,1,NULL,NULL,1,NULL,0,0,NULL),(22,52,167,1,NULL,NULL,1,NULL,0,0,NULL),(23,36,70,1,NULL,NULL,1,NULL,0,0,NULL),(24,52,70,1,NULL,NULL,1,NULL,0,0,NULL),(25,52,36,4,NULL,NULL,1,NULL,0,0,NULL),(26,70,108,8,NULL,NULL,1,NULL,0,0,NULL),(27,36,108,8,NULL,NULL,1,NULL,0,0,NULL),(28,52,108,8,NULL,NULL,1,NULL,0,0,NULL),(29,167,108,7,NULL,NULL,0,NULL,0,0,NULL),(30,70,167,2,NULL,NULL,0,NULL,0,0,NULL),(31,153,43,1,NULL,NULL,1,NULL,0,0,NULL),(32,144,43,1,NULL,NULL,1,NULL,0,0,NULL),(33,153,47,1,NULL,NULL,1,NULL,0,0,NULL),(34,144,47,1,NULL,NULL,1,NULL,0,0,NULL),(35,144,153,4,NULL,NULL,1,NULL,0,0,NULL),(36,47,80,8,NULL,NULL,1,NULL,0,0,NULL),(37,153,80,8,NULL,NULL,1,NULL,0,0,NULL),(38,144,80,8,NULL,NULL,1,NULL,0,0,NULL),(39,43,80,7,NULL,NULL,0,NULL,0,0,NULL),(40,47,43,2,NULL,NULL,0,NULL,0,0,NULL),(41,146,28,1,NULL,NULL,1,NULL,0,0,NULL),(42,150,28,1,NULL,NULL,1,NULL,0,0,NULL),(43,146,140,1,NULL,NULL,1,NULL,0,0,NULL),(44,150,140,1,NULL,NULL,1,NULL,0,0,NULL),(45,150,146,4,NULL,NULL,1,NULL,0,0,NULL),(46,140,152,8,NULL,NULL,1,NULL,0,0,NULL),(47,146,152,8,NULL,NULL,1,NULL,0,0,NULL),(48,150,152,8,NULL,NULL,1,NULL,0,0,NULL),(49,28,152,7,NULL,NULL,0,NULL,0,0,NULL),(50,140,28,2,NULL,NULL,0,NULL,0,0,NULL),(51,98,173,1,NULL,NULL,1,NULL,0,0,NULL),(52,176,173,1,NULL,NULL,1,NULL,0,0,NULL),(53,98,13,1,NULL,NULL,1,NULL,0,0,NULL),(54,176,13,1,NULL,NULL,1,NULL,0,0,NULL),(55,176,98,4,NULL,NULL,1,NULL,0,0,NULL),(56,13,61,8,NULL,NULL,1,NULL,0,0,NULL),(57,98,61,8,NULL,NULL,1,NULL,0,0,NULL),(58,176,61,8,NULL,NULL,1,NULL,0,0,NULL),(59,173,61,7,NULL,NULL,0,NULL,0,0,NULL),(60,13,173,2,NULL,NULL,0,NULL,0,0,NULL),(61,178,79,1,NULL,NULL,1,NULL,0,0,NULL),(62,135,79,1,NULL,NULL,1,NULL,0,0,NULL),(63,178,147,1,NULL,NULL,1,NULL,0,0,NULL),(64,135,147,1,NULL,NULL,1,NULL,0,0,NULL),(65,135,178,4,NULL,NULL,1,NULL,0,0,NULL),(66,147,130,8,NULL,NULL,1,NULL,0,0,NULL),(67,178,130,8,NULL,NULL,1,NULL,0,0,NULL),(68,135,130,8,NULL,NULL,1,NULL,0,0,NULL),(69,79,130,7,NULL,NULL,1,NULL,0,0,NULL),(70,147,79,2,NULL,NULL,1,NULL,0,0,NULL),(71,104,109,1,NULL,NULL,1,NULL,0,0,NULL),(72,8,109,1,NULL,NULL,1,NULL,0,0,NULL),(73,104,90,1,NULL,NULL,1,NULL,0,0,NULL),(74,8,90,1,NULL,NULL,1,NULL,0,0,NULL),(75,8,104,4,NULL,NULL,1,NULL,0,0,NULL),(76,90,106,8,NULL,NULL,1,NULL,0,0,NULL),(77,104,106,8,NULL,NULL,1,NULL,0,0,NULL),(78,8,106,8,NULL,NULL,1,NULL,0,0,NULL),(79,109,106,7,NULL,NULL,1,NULL,0,0,NULL),(80,90,109,2,NULL,NULL,1,NULL,0,0,NULL),(81,41,168,1,NULL,NULL,1,NULL,0,0,NULL),(82,56,168,1,NULL,NULL,1,NULL,0,0,NULL),(83,41,182,1,NULL,NULL,1,NULL,0,0,NULL),(84,56,182,1,NULL,NULL,1,NULL,0,0,NULL),(85,56,41,4,NULL,NULL,1,NULL,0,0,NULL),(86,182,9,8,NULL,NULL,1,NULL,0,0,NULL),(87,41,9,8,NULL,NULL,1,NULL,0,0,NULL),(88,56,9,8,NULL,NULL,1,NULL,0,0,NULL),(89,168,9,7,NULL,NULL,0,NULL,0,0,NULL),(90,182,168,2,NULL,NULL,0,NULL,0,0,NULL),(91,138,88,1,NULL,NULL,1,NULL,0,0,NULL),(92,197,88,1,NULL,NULL,1,NULL,0,0,NULL),(93,138,201,1,NULL,NULL,1,NULL,0,0,NULL),(94,197,201,1,NULL,NULL,1,NULL,0,0,NULL),(95,197,138,4,NULL,NULL,1,NULL,0,0,NULL),(96,201,107,8,NULL,NULL,1,NULL,0,0,NULL),(97,138,107,8,NULL,NULL,1,NULL,0,0,NULL),(98,197,107,8,NULL,NULL,1,NULL,0,0,NULL),(99,88,107,7,NULL,NULL,1,NULL,0,0,NULL),(100,201,88,2,NULL,NULL,1,NULL,0,0,NULL),(101,55,132,1,NULL,NULL,1,NULL,0,0,NULL),(102,161,132,1,NULL,NULL,1,NULL,0,0,NULL),(103,55,126,1,NULL,NULL,1,NULL,0,0,NULL),(104,161,126,1,NULL,NULL,1,NULL,0,0,NULL),(105,161,55,4,NULL,NULL,1,NULL,0,0,NULL),(106,126,188,8,NULL,NULL,1,NULL,0,0,NULL),(107,55,188,8,NULL,NULL,1,NULL,0,0,NULL),(108,161,188,8,NULL,NULL,1,NULL,0,0,NULL),(109,132,188,7,NULL,NULL,1,NULL,0,0,NULL),(110,126,132,2,NULL,NULL,1,NULL,0,0,NULL),(111,29,84,1,NULL,NULL,1,NULL,0,0,NULL),(112,34,84,1,NULL,NULL,1,NULL,0,0,NULL),(113,29,2,1,NULL,NULL,1,NULL,0,0,NULL),(114,34,2,1,NULL,NULL,1,NULL,0,0,NULL),(115,34,29,4,NULL,NULL,1,NULL,0,0,NULL),(116,2,62,8,NULL,NULL,1,NULL,0,0,NULL),(117,29,62,8,NULL,NULL,1,NULL,0,0,NULL),(118,34,62,8,NULL,NULL,1,NULL,0,0,NULL),(119,84,62,7,NULL,NULL,1,NULL,0,0,NULL),(120,2,84,2,NULL,NULL,1,NULL,0,0,NULL),(121,163,44,1,NULL,NULL,1,NULL,0,0,NULL),(122,76,44,1,NULL,NULL,1,NULL,0,0,NULL),(123,163,78,1,NULL,NULL,1,NULL,0,0,NULL),(124,76,78,1,NULL,NULL,1,NULL,0,0,NULL),(125,76,163,4,NULL,NULL,1,NULL,0,0,NULL),(126,78,83,8,NULL,NULL,1,NULL,0,0,NULL),(127,163,83,8,NULL,NULL,1,NULL,0,0,NULL),(128,76,83,8,NULL,NULL,1,NULL,0,0,NULL),(129,44,83,7,NULL,NULL,0,NULL,0,0,NULL),(130,78,44,2,NULL,NULL,0,NULL,0,0,NULL),(131,166,39,1,NULL,NULL,1,NULL,0,0,NULL),(132,200,39,1,NULL,NULL,1,NULL,0,0,NULL),(133,166,117,1,NULL,NULL,1,NULL,0,0,NULL),(134,200,117,1,NULL,NULL,1,NULL,0,0,NULL),(135,200,166,4,NULL,NULL,1,NULL,0,0,NULL),(136,117,17,8,NULL,NULL,1,NULL,0,0,NULL),(137,166,17,8,NULL,NULL,1,NULL,0,0,NULL),(138,200,17,8,NULL,NULL,1,NULL,0,0,NULL),(139,39,17,7,NULL,NULL,1,NULL,0,0,NULL),(140,117,39,2,NULL,NULL,1,NULL,0,0,NULL),(141,53,159,1,NULL,NULL,1,NULL,0,0,NULL),(142,100,159,1,NULL,NULL,1,NULL,0,0,NULL),(143,53,115,1,NULL,NULL,1,NULL,0,0,NULL),(144,100,115,1,NULL,NULL,1,NULL,0,0,NULL),(145,100,53,4,NULL,NULL,1,NULL,0,0,NULL),(146,115,187,8,NULL,NULL,1,NULL,0,0,NULL),(147,53,187,8,NULL,NULL,1,NULL,0,0,NULL),(148,100,187,8,NULL,NULL,1,NULL,0,0,NULL),(149,159,187,7,NULL,NULL,1,NULL,0,0,NULL),(150,115,159,2,NULL,NULL,1,NULL,0,0,NULL),(151,120,189,1,NULL,NULL,1,NULL,0,0,NULL),(152,186,189,1,NULL,NULL,1,NULL,0,0,NULL),(153,120,160,1,NULL,NULL,1,NULL,0,0,NULL),(154,186,160,1,NULL,NULL,1,NULL,0,0,NULL),(155,186,120,4,NULL,NULL,1,NULL,0,0,NULL),(156,160,93,8,NULL,NULL,1,NULL,0,0,NULL),(157,120,93,8,NULL,NULL,1,NULL,0,0,NULL),(158,186,93,8,NULL,NULL,1,NULL,0,0,NULL),(159,189,93,7,NULL,NULL,0,NULL,0,0,NULL),(160,160,189,2,NULL,NULL,0,NULL,0,0,NULL),(161,46,49,1,NULL,NULL,1,NULL,0,0,NULL),(162,21,49,1,NULL,NULL,1,NULL,0,0,NULL),(163,46,131,1,NULL,NULL,1,NULL,0,0,NULL),(164,21,131,1,NULL,NULL,1,NULL,0,0,NULL),(165,21,46,4,NULL,NULL,1,NULL,0,0,NULL),(166,131,74,8,NULL,NULL,1,NULL,0,0,NULL),(167,46,74,8,NULL,NULL,1,NULL,0,0,NULL),(168,21,74,8,NULL,NULL,1,NULL,0,0,NULL),(169,49,74,7,NULL,NULL,0,NULL,0,0,NULL),(170,131,49,2,NULL,NULL,0,NULL,0,0,NULL),(171,25,125,1,NULL,NULL,1,NULL,0,0,NULL),(172,111,125,1,NULL,NULL,1,NULL,0,0,NULL),(173,25,171,1,NULL,NULL,1,NULL,0,0,NULL),(174,111,171,1,NULL,NULL,1,NULL,0,0,NULL),(175,111,25,4,NULL,NULL,1,NULL,0,0,NULL),(176,171,71,8,NULL,NULL,1,NULL,0,0,NULL),(177,25,71,8,NULL,NULL,1,NULL,0,0,NULL),(178,111,71,8,NULL,NULL,1,NULL,0,0,NULL),(179,125,71,7,NULL,NULL,1,NULL,0,0,NULL),(180,171,125,2,NULL,NULL,1,NULL,0,0,NULL),(181,20,6,1,NULL,NULL,1,NULL,0,0,NULL),(182,11,6,1,NULL,NULL,1,NULL,0,0,NULL),(183,20,63,1,NULL,NULL,1,NULL,0,0,NULL),(184,11,63,1,NULL,NULL,1,NULL,0,0,NULL),(185,11,20,4,NULL,NULL,1,NULL,0,0,NULL),(186,63,179,8,NULL,NULL,1,NULL,0,0,NULL),(187,20,179,8,NULL,NULL,1,NULL,0,0,NULL),(188,11,179,8,NULL,NULL,1,NULL,0,0,NULL),(189,6,179,7,NULL,NULL,0,NULL,0,0,NULL),(190,63,6,2,NULL,NULL,0,NULL,0,0,NULL),(191,180,151,1,NULL,NULL,1,NULL,0,0,NULL),(192,32,151,1,NULL,NULL,1,NULL,0,0,NULL),(193,180,101,1,NULL,NULL,1,NULL,0,0,NULL),(194,32,101,1,NULL,NULL,1,NULL,0,0,NULL),(195,32,180,4,NULL,NULL,1,NULL,0,0,NULL),(196,101,199,8,NULL,NULL,1,NULL,0,0,NULL),(197,180,199,8,NULL,NULL,1,NULL,0,0,NULL),(198,32,199,8,NULL,NULL,1,NULL,0,0,NULL),(199,151,199,7,NULL,NULL,1,NULL,0,0,NULL),(200,101,151,2,NULL,NULL,1,NULL,0,0,NULL),(201,180,19,5,NULL,NULL,1,NULL,0,0,NULL),(202,136,54,5,NULL,NULL,1,NULL,0,0,NULL),(203,200,65,5,NULL,NULL,1,NULL,0,0,NULL),(204,153,72,5,NULL,NULL,1,NULL,0,0,NULL),(205,105,91,5,NULL,NULL,1,NULL,0,0,NULL),(206,99,97,5,NULL,NULL,1,NULL,0,0,NULL),(207,158,110,5,NULL,NULL,1,NULL,0,0,NULL),(208,16,121,5,NULL,NULL,1,NULL,0,0,NULL),(209,43,139,5,NULL,NULL,1,NULL,0,0,NULL),(210,40,142,5,NULL,NULL,1,NULL,0,0,NULL),(211,118,143,5,NULL,NULL,1,NULL,0,0,NULL),(212,147,145,5,NULL,NULL,1,NULL,0,0,NULL),(213,90,155,5,NULL,NULL,1,NULL,0,0,NULL),(214,150,156,5,NULL,NULL,1,NULL,0,0,NULL),(215,159,162,5,NULL,NULL,1,NULL,0,0,NULL),(216,173,184,5,NULL,NULL,1,NULL,0,0,NULL),(217,146,195,5,NULL,NULL,1,NULL,0,0,NULL),(218,4,196,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,94,122,1,NULL,NULL,1,NULL,0,0,NULL),(2,179,122,1,NULL,NULL,1,NULL,0,0,NULL),(3,94,149,1,NULL,NULL,1,NULL,0,0,NULL),(4,179,149,1,NULL,NULL,1,NULL,0,0,NULL),(5,179,94,4,NULL,NULL,1,NULL,0,0,NULL),(6,149,157,8,NULL,NULL,1,NULL,0,0,NULL),(7,94,157,8,NULL,NULL,1,NULL,0,0,NULL),(8,179,157,8,NULL,NULL,1,NULL,0,0,NULL),(9,122,157,7,NULL,NULL,0,NULL,0,0,NULL),(10,149,122,2,NULL,NULL,0,NULL,0,0,NULL),(11,99,3,1,NULL,NULL,1,NULL,0,0,NULL),(12,150,3,1,NULL,NULL,1,NULL,0,0,NULL),(13,99,37,1,NULL,NULL,1,NULL,0,0,NULL),(14,150,37,1,NULL,NULL,1,NULL,0,0,NULL),(15,150,99,4,NULL,NULL,1,NULL,0,0,NULL),(16,37,107,8,NULL,NULL,1,NULL,0,0,NULL),(17,99,107,8,NULL,NULL,1,NULL,0,0,NULL),(18,150,107,8,NULL,NULL,1,NULL,0,0,NULL),(19,3,107,7,NULL,NULL,1,NULL,0,0,NULL),(20,37,3,2,NULL,NULL,1,NULL,0,0,NULL),(21,193,35,1,NULL,NULL,1,NULL,0,0,NULL),(22,72,35,1,NULL,NULL,1,NULL,0,0,NULL),(23,193,146,1,NULL,NULL,1,NULL,0,0,NULL),(24,72,146,1,NULL,NULL,1,NULL,0,0,NULL),(25,72,193,4,NULL,NULL,1,NULL,0,0,NULL),(26,146,27,8,NULL,NULL,1,NULL,0,0,NULL),(27,193,27,8,NULL,NULL,1,NULL,0,0,NULL),(28,72,27,8,NULL,NULL,1,NULL,0,0,NULL),(29,35,27,7,NULL,NULL,1,NULL,0,0,NULL),(30,146,35,2,NULL,NULL,1,NULL,0,0,NULL),(31,51,69,1,NULL,NULL,1,NULL,0,0,NULL),(32,5,69,1,NULL,NULL,1,NULL,0,0,NULL),(33,51,82,1,NULL,NULL,1,NULL,0,0,NULL),(34,5,82,1,NULL,NULL,1,NULL,0,0,NULL),(35,5,51,4,NULL,NULL,1,NULL,0,0,NULL),(36,82,14,8,NULL,NULL,1,NULL,0,0,NULL),(37,51,14,8,NULL,NULL,1,NULL,0,0,NULL),(38,5,14,8,NULL,NULL,1,NULL,0,0,NULL),(39,69,14,7,NULL,NULL,0,NULL,0,0,NULL),(40,82,69,2,NULL,NULL,0,NULL,0,0,NULL),(41,59,109,1,NULL,NULL,1,NULL,0,0,NULL),(42,48,109,1,NULL,NULL,1,NULL,0,0,NULL),(43,59,165,1,NULL,NULL,1,NULL,0,0,NULL),(44,48,165,1,NULL,NULL,1,NULL,0,0,NULL),(45,48,59,4,NULL,NULL,1,NULL,0,0,NULL),(46,165,74,8,NULL,NULL,1,NULL,0,0,NULL),(47,59,74,8,NULL,NULL,1,NULL,0,0,NULL),(48,48,74,8,NULL,NULL,1,NULL,0,0,NULL),(49,109,74,7,NULL,NULL,1,NULL,0,0,NULL),(50,165,109,2,NULL,NULL,1,NULL,0,0,NULL),(51,170,124,1,NULL,NULL,1,NULL,0,0,NULL),(52,142,124,1,NULL,NULL,1,NULL,0,0,NULL),(53,170,44,1,NULL,NULL,1,NULL,0,0,NULL),(54,142,44,1,NULL,NULL,1,NULL,0,0,NULL),(55,142,170,4,NULL,NULL,1,NULL,0,0,NULL),(56,44,154,8,NULL,NULL,1,NULL,0,0,NULL),(57,170,154,8,NULL,NULL,1,NULL,0,0,NULL),(58,142,154,8,NULL,NULL,1,NULL,0,0,NULL),(59,124,154,7,NULL,NULL,1,NULL,0,0,NULL),(60,44,124,2,NULL,NULL,1,NULL,0,0,NULL),(61,106,25,1,NULL,NULL,1,NULL,0,0,NULL),(62,12,25,1,NULL,NULL,1,NULL,0,0,NULL),(63,106,145,1,NULL,NULL,1,NULL,0,0,NULL),(64,12,145,1,NULL,NULL,1,NULL,0,0,NULL),(65,12,106,4,NULL,NULL,1,NULL,0,0,NULL),(66,145,196,8,NULL,NULL,1,NULL,0,0,NULL),(67,106,196,8,NULL,NULL,1,NULL,0,0,NULL),(68,12,196,8,NULL,NULL,1,NULL,0,0,NULL),(69,25,196,7,NULL,NULL,1,NULL,0,0,NULL),(70,145,25,2,NULL,NULL,1,NULL,0,0,NULL),(71,20,43,1,NULL,NULL,1,NULL,0,0,NULL),(72,57,43,1,NULL,NULL,1,NULL,0,0,NULL),(73,20,91,1,NULL,NULL,1,NULL,0,0,NULL),(74,57,91,1,NULL,NULL,1,NULL,0,0,NULL),(75,57,20,4,NULL,NULL,1,NULL,0,0,NULL),(76,91,52,8,NULL,NULL,1,NULL,0,0,NULL),(77,20,52,8,NULL,NULL,1,NULL,0,0,NULL),(78,57,52,8,NULL,NULL,1,NULL,0,0,NULL),(79,43,52,7,NULL,NULL,1,NULL,0,0,NULL),(80,91,43,2,NULL,NULL,1,NULL,0,0,NULL),(81,169,185,1,NULL,NULL,1,NULL,0,0,NULL),(82,194,185,1,NULL,NULL,1,NULL,0,0,NULL),(83,169,195,1,NULL,NULL,1,NULL,0,0,NULL),(84,194,195,1,NULL,NULL,1,NULL,0,0,NULL),(85,194,169,4,NULL,NULL,1,NULL,0,0,NULL),(86,195,21,8,NULL,NULL,1,NULL,0,0,NULL),(87,169,21,8,NULL,NULL,1,NULL,0,0,NULL),(88,194,21,8,NULL,NULL,1,NULL,0,0,NULL),(89,185,21,7,NULL,NULL,1,NULL,0,0,NULL),(90,195,185,2,NULL,NULL,1,NULL,0,0,NULL),(91,188,7,1,NULL,NULL,1,NULL,0,0,NULL),(92,166,7,1,NULL,NULL,1,NULL,0,0,NULL),(93,188,68,1,NULL,NULL,1,NULL,0,0,NULL),(94,166,68,1,NULL,NULL,1,NULL,0,0,NULL),(95,166,188,4,NULL,NULL,1,NULL,0,0,NULL),(96,68,31,8,NULL,NULL,1,NULL,0,0,NULL),(97,188,31,8,NULL,NULL,1,NULL,0,0,NULL),(98,166,31,8,NULL,NULL,1,NULL,0,0,NULL),(99,7,31,7,NULL,NULL,0,NULL,0,0,NULL),(100,68,7,2,NULL,NULL,0,NULL,0,0,NULL),(101,178,105,1,NULL,NULL,1,NULL,0,0,NULL),(102,88,105,1,NULL,NULL,1,NULL,0,0,NULL),(103,178,75,1,NULL,NULL,1,NULL,0,0,NULL),(104,88,75,1,NULL,NULL,1,NULL,0,0,NULL),(105,88,178,4,NULL,NULL,1,NULL,0,0,NULL),(106,75,143,8,NULL,NULL,1,NULL,0,0,NULL),(107,178,143,8,NULL,NULL,1,NULL,0,0,NULL),(108,88,143,8,NULL,NULL,1,NULL,0,0,NULL),(109,105,143,7,NULL,NULL,0,NULL,0,0,NULL),(110,75,105,2,NULL,NULL,0,NULL,0,0,NULL),(111,58,161,1,NULL,NULL,1,NULL,0,0,NULL),(112,84,161,1,NULL,NULL,1,NULL,0,0,NULL),(113,58,176,1,NULL,NULL,1,NULL,0,0,NULL),(114,84,176,1,NULL,NULL,1,NULL,0,0,NULL),(115,84,58,4,NULL,NULL,1,NULL,0,0,NULL),(116,176,110,8,NULL,NULL,1,NULL,0,0,NULL),(117,58,110,8,NULL,NULL,1,NULL,0,0,NULL),(118,84,110,8,NULL,NULL,1,NULL,0,0,NULL),(119,161,110,7,NULL,NULL,1,NULL,0,0,NULL),(120,176,161,2,NULL,NULL,1,NULL,0,0,NULL),(121,38,108,1,NULL,NULL,1,NULL,0,0,NULL),(122,184,108,1,NULL,NULL,1,NULL,0,0,NULL),(123,38,23,1,NULL,NULL,1,NULL,0,0,NULL),(124,184,23,1,NULL,NULL,1,NULL,0,0,NULL),(125,184,38,4,NULL,NULL,1,NULL,0,0,NULL),(126,23,71,8,NULL,NULL,1,NULL,0,0,NULL),(127,38,71,8,NULL,NULL,1,NULL,0,0,NULL),(128,184,71,8,NULL,NULL,1,NULL,0,0,NULL),(129,108,71,7,NULL,NULL,1,NULL,0,0,NULL),(130,23,108,2,NULL,NULL,1,NULL,0,0,NULL),(131,13,28,1,NULL,NULL,1,NULL,0,0,NULL),(132,18,28,1,NULL,NULL,1,NULL,0,0,NULL),(133,13,85,1,NULL,NULL,1,NULL,0,0,NULL),(134,18,85,1,NULL,NULL,1,NULL,0,0,NULL),(135,18,13,4,NULL,NULL,1,NULL,0,0,NULL),(136,85,33,8,NULL,NULL,1,NULL,0,0,NULL),(137,13,33,8,NULL,NULL,1,NULL,0,0,NULL),(138,18,33,8,NULL,NULL,1,NULL,0,0,NULL),(139,28,33,7,NULL,NULL,1,NULL,0,0,NULL),(140,85,28,2,NULL,NULL,1,NULL,0,0,NULL),(141,132,177,1,NULL,NULL,1,NULL,0,0,NULL),(142,125,177,1,NULL,NULL,1,NULL,0,0,NULL),(143,132,24,1,NULL,NULL,1,NULL,0,0,NULL),(144,125,24,1,NULL,NULL,1,NULL,0,0,NULL),(145,125,132,4,NULL,NULL,1,NULL,0,0,NULL),(146,24,50,8,NULL,NULL,1,NULL,0,0,NULL),(147,132,50,8,NULL,NULL,1,NULL,0,0,NULL),(148,125,50,8,NULL,NULL,1,NULL,0,0,NULL),(149,177,50,7,NULL,NULL,1,NULL,0,0,NULL),(150,24,177,2,NULL,NULL,1,NULL,0,0,NULL),(151,10,8,1,NULL,NULL,1,NULL,0,0,NULL),(152,190,8,1,NULL,NULL,1,NULL,0,0,NULL),(153,10,173,1,NULL,NULL,1,NULL,0,0,NULL),(154,190,173,1,NULL,NULL,1,NULL,0,0,NULL),(155,190,10,4,NULL,NULL,1,NULL,0,0,NULL),(156,173,164,8,NULL,NULL,1,NULL,0,0,NULL),(157,10,164,8,NULL,NULL,1,NULL,0,0,NULL),(158,190,164,8,NULL,NULL,1,NULL,0,0,NULL),(159,8,164,7,NULL,NULL,1,NULL,0,0,NULL),(160,173,8,2,NULL,NULL,1,NULL,0,0,NULL),(161,22,54,1,NULL,NULL,1,NULL,0,0,NULL),(162,66,54,1,NULL,NULL,1,NULL,0,0,NULL),(163,22,130,1,NULL,NULL,1,NULL,0,0,NULL),(164,66,130,1,NULL,NULL,1,NULL,0,0,NULL),(165,66,22,4,NULL,NULL,1,NULL,0,0,NULL),(166,130,32,8,NULL,NULL,1,NULL,0,0,NULL),(167,22,32,8,NULL,NULL,1,NULL,0,0,NULL),(168,66,32,8,NULL,NULL,1,NULL,0,0,NULL),(169,54,32,7,NULL,NULL,1,NULL,0,0,NULL),(170,130,54,2,NULL,NULL,1,NULL,0,0,NULL),(171,189,163,1,NULL,NULL,1,NULL,0,0,NULL),(172,26,163,1,NULL,NULL,1,NULL,0,0,NULL),(173,189,183,1,NULL,NULL,1,NULL,0,0,NULL),(174,26,183,1,NULL,NULL,1,NULL,0,0,NULL),(175,26,189,4,NULL,NULL,1,NULL,0,0,NULL),(176,183,200,8,NULL,NULL,1,NULL,0,0,NULL),(177,189,200,8,NULL,NULL,1,NULL,0,0,NULL),(178,26,200,8,NULL,NULL,1,NULL,0,0,NULL),(179,163,200,7,NULL,NULL,1,NULL,0,0,NULL),(180,183,163,2,NULL,NULL,1,NULL,0,0,NULL),(181,40,133,1,NULL,NULL,1,NULL,0,0,NULL),(182,17,133,1,NULL,NULL,1,NULL,0,0,NULL),(183,40,134,1,NULL,NULL,1,NULL,0,0,NULL),(184,17,134,1,NULL,NULL,1,NULL,0,0,NULL),(185,17,40,4,NULL,NULL,1,NULL,0,0,NULL),(186,134,15,8,NULL,NULL,1,NULL,0,0,NULL),(187,40,15,8,NULL,NULL,1,NULL,0,0,NULL),(188,17,15,8,NULL,NULL,1,NULL,0,0,NULL),(189,133,15,7,NULL,NULL,0,NULL,0,0,NULL),(190,134,133,2,NULL,NULL,0,NULL,0,0,NULL),(191,60,90,1,NULL,NULL,1,NULL,0,0,NULL),(192,95,90,1,NULL,NULL,1,NULL,0,0,NULL),(193,60,46,1,NULL,NULL,1,NULL,0,0,NULL),(194,95,46,1,NULL,NULL,1,NULL,0,0,NULL),(195,95,60,4,NULL,NULL,1,NULL,0,0,NULL),(196,46,100,8,NULL,NULL,1,NULL,0,0,NULL),(197,60,100,8,NULL,NULL,1,NULL,0,0,NULL),(198,95,100,8,NULL,NULL,1,NULL,0,0,NULL),(199,90,100,7,NULL,NULL,0,NULL,0,0,NULL),(200,46,90,2,NULL,NULL,0,NULL,0,0,NULL),(201,185,4,5,NULL,NULL,1,NULL,0,0,NULL),(202,82,29,5,NULL,NULL,1,NULL,0,0,NULL),(203,125,42,5,NULL,NULL,1,NULL,0,0,NULL),(204,162,47,5,NULL,NULL,1,NULL,0,0,NULL),(205,28,83,5,NULL,NULL,1,NULL,0,0,NULL),(206,103,93,5,NULL,NULL,1,NULL,0,0,NULL),(207,60,96,5,NULL,NULL,1,NULL,0,0,NULL),(208,117,98,5,NULL,NULL,1,NULL,0,0,NULL),(209,187,137,5,NULL,NULL,1,NULL,0,0,NULL),(210,134,138,5,NULL,NULL,1,NULL,0,0,NULL),(211,145,141,5,NULL,NULL,1,NULL,0,0,NULL),(212,149,160,5,NULL,NULL,1,NULL,0,0,NULL),(213,38,168,5,NULL,NULL,1,NULL,0,0,NULL),(214,63,172,5,NULL,NULL,1,NULL,0,0,NULL),(215,161,175,5,NULL,NULL,1,NULL,0,0,NULL),(216,39,182,5,NULL,NULL,1,NULL,0,0,NULL),(217,48,191,5,NULL,NULL,1,NULL,0,0,NULL); /*!40000 ALTER TABLE `civicrm_relationship` ENABLE KEYS */; UNLOCK TABLES; @@ -1345,7 +1345,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,16,2,'2019-01-16 10:40:09','Email','Added',NULL),(2,45,2,'2019-04-24 22:35:26','Admin','Added',NULL),(3,103,2,'2018-08-23 09:10:49','Admin','Added',NULL),(4,57,2,'2018-09-10 04:09:33','Email','Added',NULL),(5,69,2,'2018-08-17 23:10:50','Admin','Added',NULL),(6,31,2,'2019-02-06 00:07:48','Admin','Added',NULL),(7,48,2,'2019-04-16 10:00:37','Admin','Added',NULL),(8,193,2,'2018-10-21 00:33:26','Email','Added',NULL),(9,169,2,'2018-09-22 22:11:59','Admin','Added',NULL),(10,33,2,'2018-09-01 19:40:26','Admin','Added',NULL),(11,128,2,'2018-08-23 20:03:17','Email','Added',NULL),(12,27,2,'2018-10-14 19:46:17','Email','Added',NULL),(13,66,2,'2019-01-01 11:49:21','Email','Added',NULL),(14,5,2,'2018-08-20 20:03:14','Email','Added',NULL),(15,170,2,'2018-08-22 18:57:32','Admin','Added',NULL),(16,112,2,'2018-11-03 15:59:57','Admin','Added',NULL),(17,129,2,'2019-03-26 16:06:33','Admin','Added',NULL),(18,18,2,'2018-10-20 03:25:56','Admin','Added',NULL),(19,191,2,'2019-03-25 11:29:05','Email','Added',NULL),(20,60,2,'2019-04-28 21:08:53','Email','Added',NULL),(21,81,2,'2018-12-25 03:50:57','Email','Added',NULL),(22,85,2,'2018-12-26 14:22:42','Admin','Added',NULL),(23,116,2,'2019-03-04 06:07:29','Email','Added',NULL),(24,177,2,'2019-02-24 09:56:21','Admin','Added',NULL),(25,4,2,'2019-04-06 14:29:13','Email','Added',NULL),(26,149,2,'2019-08-08 17:38:43','Email','Added',NULL),(27,24,2,'2019-01-04 20:19:34','Admin','Added',NULL),(28,82,2,'2019-02-13 13:21:06','Email','Added',NULL),(29,30,2,'2018-09-27 02:56:13','Admin','Added',NULL),(30,12,2,'2019-05-01 07:12:52','Email','Added',NULL),(31,172,2,'2019-04-18 01:09:08','Admin','Added',NULL),(32,114,2,'2019-08-08 21:27:46','Admin','Added',NULL),(33,154,2,'2019-06-03 23:32:37','Email','Added',NULL),(34,99,2,'2019-04-23 18:39:21','Admin','Added',NULL),(35,94,2,'2019-04-23 16:50:15','Email','Added',NULL),(36,58,2,'2019-03-29 05:14:38','Email','Added',NULL),(37,15,2,'2019-01-26 08:58:15','Email','Added',NULL),(38,51,2,'2018-10-03 04:57:07','Email','Added',NULL),(39,26,2,'2019-03-21 11:35:48','Admin','Added',NULL),(40,174,2,'2019-07-10 06:37:58','Admin','Added',NULL),(41,42,2,'2019-05-17 18:54:01','Admin','Added',NULL),(42,124,2,'2018-12-25 05:17:06','Email','Added',NULL),(43,136,2,'2018-11-15 22:21:58','Email','Added',NULL),(44,75,2,'2019-07-08 04:38:45','Email','Added',NULL),(45,118,2,'2019-02-22 23:49:19','Email','Added',NULL),(46,40,2,'2018-09-28 20:35:36','Email','Added',NULL),(47,38,2,'2019-02-20 15:04:44','Email','Added',NULL),(48,59,2,'2018-12-18 05:36:15','Email','Added',NULL),(49,148,2,'2019-03-07 03:08:29','Email','Added',NULL),(50,50,2,'2019-04-05 16:17:03','Email','Added',NULL),(51,22,2,'2019-06-07 14:08:02','Email','Added',NULL),(52,192,2,'2018-11-09 23:25:45','Email','Added',NULL),(53,119,2,'2019-06-03 04:06:46','Admin','Added',NULL),(54,133,2,'2019-01-15 22:05:09','Email','Added',NULL),(55,95,2,'2018-12-19 00:21:23','Admin','Added',NULL),(56,164,2,'2018-09-12 03:12:48','Email','Added',NULL),(57,158,2,'2019-08-11 23:35:02','Admin','Added',NULL),(58,165,2,'2019-03-15 09:33:54','Email','Added',NULL),(59,14,2,'2019-05-22 03:20:12','Email','Added',NULL),(60,77,2,'2018-11-14 09:05:25','Admin','Added',NULL),(61,23,3,'2018-08-24 04:30:04','Email','Added',NULL),(62,67,3,'2018-09-04 09:46:28','Admin','Added',NULL),(63,113,3,'2019-03-07 07:40:06','Admin','Added',NULL),(64,89,3,'2019-05-01 12:52:10','Admin','Added',NULL),(65,185,3,'2019-07-18 02:03:46','Admin','Added',NULL),(66,102,3,'2018-10-18 09:31:51','Email','Added',NULL),(67,68,3,'2018-11-16 16:12:31','Email','Added',NULL),(68,123,3,'2018-12-24 10:47:02','Email','Added',NULL),(69,134,3,'2019-05-08 19:08:00','Admin','Added',NULL),(70,141,3,'2019-05-16 11:33:36','Email','Added',NULL),(71,7,3,'2019-03-24 23:07:58','Email','Added',NULL),(72,96,3,'2019-07-08 03:12:28','Email','Added',NULL),(73,10,3,'2019-04-28 09:43:51','Admin','Added',NULL),(74,87,3,'2018-08-27 08:47:45','Admin','Added',NULL),(75,194,3,'2018-08-25 02:26:13','Email','Added',NULL),(76,16,4,'2018-09-24 00:56:20','Admin','Added',NULL),(77,193,4,'2019-01-07 16:26:09','Email','Added',NULL),(78,170,4,'2018-11-10 18:43:09','Admin','Added',NULL),(79,85,4,'2019-06-04 05:15:06','Email','Added',NULL),(80,30,4,'2019-06-09 07:55:50','Email','Added',NULL),(81,58,4,'2019-04-10 12:07:36','Email','Added',NULL),(82,136,4,'2019-07-22 20:13:04','Email','Added',NULL),(83,50,4,'2019-05-24 15:37:26','Email','Added',NULL); +INSERT INTO `civicrm_subscription_history` (`id`, `contact_id`, `group_id`, `date`, `method`, `status`, `tracking`) VALUES (1,167,2,'2018-11-08 18:55:20','Admin','Added',NULL),(2,144,2,'2019-04-26 07:35:07','Email','Added',NULL),(3,65,2,'2019-06-01 00:46:49','Email','Added',NULL),(4,187,2,'2019-06-29 03:05:43','Admin','Added',NULL),(5,155,2,'2019-02-07 18:41:10','Admin','Added',NULL),(6,174,2,'2019-07-29 21:44:47','Admin','Added',NULL),(7,62,2,'2018-10-21 08:13:10','Admin','Added',NULL),(8,87,2,'2019-01-10 18:49:05','Admin','Added',NULL),(9,129,2,'2019-01-27 15:14:50','Admin','Added',NULL),(10,112,2,'2019-06-05 15:05:54','Email','Added',NULL),(11,197,2,'2018-12-05 04:42:03','Admin','Added',NULL),(12,116,2,'2019-06-09 19:29:45','Admin','Added',NULL),(13,67,2,'2019-07-29 00:49:04','Email','Added',NULL),(14,152,2,'2019-02-01 03:08:16','Admin','Added',NULL),(15,127,2,'2019-04-08 05:39:32','Admin','Added',NULL),(16,198,2,'2019-06-09 15:52:34','Email','Added',NULL),(17,181,2,'2019-04-20 03:14:26','Email','Added',NULL),(18,76,2,'2019-04-30 17:29:29','Admin','Added',NULL),(19,115,2,'2019-06-17 17:46:57','Admin','Added',NULL),(20,30,2,'2019-04-22 12:21:04','Email','Added',NULL),(21,153,2,'2019-07-31 18:22:34','Email','Added',NULL),(22,79,2,'2019-01-11 21:53:11','Admin','Added',NULL),(23,113,2,'2018-12-28 14:57:20','Email','Added',NULL),(24,64,2,'2018-12-17 18:56:57','Admin','Added',NULL),(25,120,2,'2019-06-28 07:34:25','Email','Added',NULL),(26,6,2,'2019-01-09 16:26:21','Admin','Added',NULL),(27,63,2,'2019-04-01 05:10:42','Email','Added',NULL),(28,201,2,'2019-02-25 13:44:44','Admin','Added',NULL),(29,171,2,'2018-10-12 19:49:31','Admin','Added',NULL),(30,136,2,'2019-05-22 16:52:06','Email','Added',NULL),(31,158,2,'2018-12-08 08:08:28','Admin','Added',NULL),(32,70,2,'2019-08-13 08:39:27','Email','Added',NULL),(33,41,2,'2019-09-09 05:15:32','Admin','Added',NULL),(34,147,2,'2019-06-07 04:56:30','Admin','Added',NULL),(35,151,2,'2019-07-24 09:25:19','Email','Added',NULL),(36,73,2,'2019-08-18 19:55:16','Admin','Added',NULL),(37,114,2,'2019-03-20 13:25:48','Email','Added',NULL),(38,34,2,'2019-07-10 06:54:39','Admin','Added',NULL),(39,16,2,'2018-10-03 18:20:07','Email','Added',NULL),(40,86,2,'2019-07-30 16:46:58','Email','Added',NULL),(41,89,2,'2019-05-28 12:11:22','Email','Added',NULL),(42,19,2,'2018-10-15 00:37:27','Email','Added',NULL),(43,180,2,'2019-08-12 07:01:55','Email','Added',NULL),(44,92,2,'2019-04-06 09:23:05','Email','Added',NULL),(45,36,2,'2019-04-14 22:52:23','Admin','Added',NULL),(46,2,2,'2019-05-31 08:33:41','Admin','Added',NULL),(47,55,2,'2018-10-29 01:36:06','Admin','Added',NULL),(48,11,2,'2018-11-15 22:14:48','Email','Added',NULL),(49,121,2,'2019-03-15 17:13:28','Email','Added',NULL),(50,123,2,'2019-05-04 08:16:47','Email','Added',NULL),(51,102,2,'2019-06-19 08:46:33','Admin','Added',NULL),(52,135,2,'2019-02-27 22:05:26','Email','Added',NULL),(53,104,2,'2018-12-26 04:15:52','Email','Added',NULL),(54,45,2,'2019-02-24 18:06:17','Email','Added',NULL),(55,9,2,'2018-10-10 01:40:18','Admin','Added',NULL),(56,128,2,'2019-04-18 01:48:13','Email','Added',NULL),(57,77,2,'2019-07-19 03:25:40','Email','Added',NULL),(58,103,2,'2019-07-13 19:59:08','Admin','Added',NULL),(59,156,2,'2019-06-10 05:10:20','Email','Added',NULL),(60,78,2,'2019-02-11 07:44:44','Admin','Added',NULL),(61,192,3,'2019-02-14 16:56:36','Email','Added',NULL),(62,97,3,'2018-09-23 16:32:47','Admin','Added',NULL),(63,117,3,'2019-06-15 05:32:40','Admin','Added',NULL),(64,39,3,'2019-03-12 02:35:40','Email','Added',NULL),(65,131,3,'2019-05-20 00:50:38','Admin','Added',NULL),(66,111,3,'2018-10-16 19:09:55','Admin','Added',NULL),(67,118,3,'2019-01-28 06:33:25','Email','Added',NULL),(68,148,3,'2019-05-22 03:17:02','Admin','Added',NULL),(69,81,3,'2018-10-02 02:32:37','Email','Added',NULL),(70,119,3,'2019-04-24 07:56:59','Admin','Added',NULL),(71,53,3,'2019-01-14 08:26:58','Admin','Added',NULL),(72,162,3,'2019-06-26 21:21:14','Email','Added',NULL),(73,101,3,'2018-12-21 20:36:38','Email','Added',NULL),(74,139,3,'2019-02-03 22:19:22','Email','Added',NULL),(75,199,3,'2018-10-15 08:09:04','Admin','Added',NULL),(76,167,4,'2019-04-10 21:01:17','Email','Added',NULL),(77,87,4,'2018-10-14 07:50:04','Admin','Added',NULL),(78,127,4,'2019-07-11 02:37:15','Admin','Added',NULL),(79,79,4,'2019-07-24 02:48:44','Admin','Added',NULL),(80,171,4,'2018-11-30 11:53:03','Admin','Added',NULL),(81,73,4,'2019-04-14 00:58:51','Admin','Added',NULL),(82,180,4,'2018-10-26 02:05:10','Email','Added',NULL),(83,123,4,'2019-04-23 15:02:26','Admin','Added',NULL); /*!40000 ALTER TABLE `civicrm_subscription_history` ENABLE KEYS */; UNLOCK TABLES; @@ -1441,7 +1441,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,91,'http://rsempowermentassociation.org',1),(2,54,'http://poquosonwellnesstrust.org',1),(3,72,'http://bradfordliteracysolutions.org',1),(4,155,'http://bassettalliance.org',1),(5,196,'http://paartsacademy.org',1),(6,162,'http://unitedaction.org',1),(7,19,'http://addytrust.org',1),(8,65,'http://friendstechnologytrust.org',1),(9,142,'http://pinepoetrycenter.org',1),(10,145,'http://localcenter.org',1),(11,184,'http://friendsfood.org',1),(12,156,'http://mississippipeacecollective.org',1),(13,143,'http://mlkingagriculture.org',1),(14,121,'http://localeducationfellowship.org',1),(15,139,'http://kentuckycenter.org',1),(16,137,'http://globalnetwork.org',1); +INSERT INTO `civicrm_website` (`id`, `contact_id`, `url`, `website_type_id`) VALUES (1,93,'http://ecadvocacycollective.org',1),(2,56,'http://missouriarts.org',1),(3,182,'http://cheshireaction.org',1),(4,191,'http://wmsportsschool.org',1),(5,186,'http://texastechnologypartners.org',1),(6,61,'http://atlantaagriculturesolutions.org',1),(7,138,'http://globalsportstrust.org',1),(8,83,'http://lcdevelopmentfellowship.org',1),(9,172,'http://localmusicalliance.org',1),(10,47,'http://simpsontechnologytrust.org',1),(11,175,'http://bakerpeacesolutions.org',1),(12,160,'http://maincenter.org',1),(13,4,'http://statescollective.org',1),(14,96,'http://northpointpoetry.org',1),(15,98,'http://baywellnesspartnership.org',1); /*!40000 ALTER TABLE `civicrm_website` ENABLE KEYS */; UNLOCK TABLES; @@ -1473,7 +1473,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-08-16 9:31:32 +-- Dump completed on 2019-09-20 12:57:30 -- +--------------------------------------------------------------------+ -- | CiviCRM version 5 | -- +--------------------------------------------------------------------+ diff --git a/templates/CRM/Admin/Form/Setting/Mapping.tpl b/templates/CRM/Admin/Form/Setting/Mapping.tpl index 557c924236..1866eebb3e 100644 --- a/templates/CRM/Admin/Form/Setting/Mapping.tpl +++ b/templates/CRM/Admin/Form/Setting/Mapping.tpl @@ -24,7 +24,7 @@ +--------------------------------------------------------------------+ *}
    - {ts}CiviCRM includes plugins for several mapping and geocoding web services. When your users save a contact or event location address, a geocoding service will convert the address into geographical coordinates, which are required for mapping. Yahoo’s geocoder will also automatically populate the postal code field. Mapping services allow your users to display addresses on a map.{/ts} {help id='map-intro-id'} + {ts}CiviCRM includes plugins for several mapping and geocoding web services. When your users save a contact or event location address, a geocoding service will convert the address into geographical coordinates, which are required for mapping. Mapping services allow your users to display addresses on a map.{/ts} {help id='map-intro-id'}
    {include file="CRM/common/formButtons.tpl" location="top"}
    @@ -47,7 +47,7 @@ {$form.geoAPIKey.label} {$form.geoAPIKey.html|crmAddClass:huge}
    - {ts}Enter the API key or Application ID associated with your geocoding provider (not required for Yahoo).{/ts} + {ts}Enter the API key or Application ID associated with your geocoding provider.{/ts}
    {include file="CRM/common/formButtons.tpl" location="bottom"}
    diff --git a/templates/CRM/Admin/Page/ConfigTaskList.tpl b/templates/CRM/Admin/Page/ConfigTaskList.tpl index 1c6f5f9cfb..ae975c47a9 100644 --- a/templates/CRM/Admin/Page/ConfigTaskList.tpl +++ b/templates/CRM/Admin/Page/ConfigTaskList.tpl @@ -64,7 +64,7 @@ {ts}Mapping and Geocoding{/ts} - {ts}Configure a mapping provider (e.g. Google or Yahoo) to display maps for contact addresses and event locations.{/ts} + {ts}Configure a mapping provider (e.g. OpenStreetMap or Google) to display maps for contact addresses and event locations.{/ts} {ts}Search Settings{/ts} @@ -82,14 +82,14 @@ {ts}Sending Emails (includes contribution receipts and event confirmations){/ts} - - {ts}Outbound Email{/ts} - {ts}Settings for outbound email - either SMTP server, port and authentication or Sendmail path and argument.{/ts} - {ts}From Email Addresses{/ts} {ts}Define general email address(es) that can be used as the FROM address when sending email to contacts from within CiviCRM (e.g. info@example.org){/ts} + + {ts}Outbound Email{/ts} + {ts}Settings for outbound email - either SMTP server, port and authentication or Sendmail path and argument.{/ts} + {ts}Online Contributions / Online Membership Signup / Online Event Registration{/ts} diff --git a/templates/CRM/Api4/Page/Api4Explorer.tpl b/templates/CRM/Api4/Page/Api4Explorer.tpl new file mode 100644 index 0000000000..e69de29bb2 diff --git a/templates/CRM/Contact/Page/DashBoardDashlet.tpl b/templates/CRM/Contact/Page/DashBoardDashlet.tpl index 607abd348e..61d8adccf9 100644 --- a/templates/CRM/Contact/Page/DashBoardDashlet.tpl +++ b/templates/CRM/Contact/Page/DashBoardDashlet.tpl @@ -24,7 +24,7 @@ +--------------------------------------------------------------------+ *} {include file="CRM/common/dashboard.tpl"} -{include file="CRM/common/openFlashChart.tpl"} +{include file="CRM/common/chart.tpl"} {* Alerts for critical configuration settings. *} {$communityMessages}
    diff --git a/templates/CRM/Contact/Page/View/RelationshipSelector.tpl b/templates/CRM/Contact/Page/View/RelationshipSelector.tpl index 09210fae47..69602e6248 100644 --- a/templates/CRM/Contact/Page/View/RelationshipSelector.tpl +++ b/templates/CRM/Contact/Page/View/RelationshipSelector.tpl @@ -23,24 +23,25 @@ | see the CiviCRM license FAQ at http://civicrm.org/licensing | +--------------------------------------------------------------------+ *} -{* relationship selector *} +{* entity selector *} {crmRegion name="crm-contact-relationshipselector-pre"} {/crmRegion} -
    +
    + class="crm-contact-{$entityInClassFormat}-selector-{$context} crm-ajax-table" + data-ajax="{crmURL p="civicrm/ajax/contactrelationships" q="context=$context&cid=$contactId"}" + data-order='[[0,"asc"],[1,"asc"]]' + style="width: 100%;"> - - - - - - - - - + {foreach from=$columnHeaders key=headerkey item=header} + {if $header.sort} + + {else} + + {/if} + + {/foreach}
    {ts}Relationship{/ts} {ts}Start{/ts}{ts}End{/ts}{ts}City{/ts}{ts}State/Prov{/ts}{ts}Email{/ts}{ts}Phone{/ts}{$header.name}{$header.name}
    diff --git a/templates/CRM/Contribute/Form/ContributionCharts.tpl b/templates/CRM/Contribute/Form/ContributionCharts.tpl index 4db862fc7d..3e6c01a0f9 100644 --- a/templates/CRM/Contribute/Form/ContributionCharts.tpl +++ b/templates/CRM/Contribute/Form/ContributionCharts.tpl @@ -54,33 +54,31 @@
    {/if} -{if $hasOpenFlashChart} -{include file="CRM/common/openFlashChart.tpl" contriChart=true} +{if $hasChart} +{include file="CRM/common/chart.tpl" contriChart=true} {literal} -{/literal} -{/if} + + {/literal} + {/if} {/if} diff --git a/templates/CRM/common/chart.tpl b/templates/CRM/common/chart.tpl new file mode 100644 index 0000000000..5425871f12 --- /dev/null +++ b/templates/CRM/common/chart.tpl @@ -0,0 +1,166 @@ +{* + +--------------------------------------------------------------------+ + | CiviCRM version 5 | + +--------------------------------------------------------------------+ + | Copyright CiviCRM LLC (c) 2004-2019 | + +--------------------------------------------------------------------+ + | 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 | + +--------------------------------------------------------------------+ +*} + + + + +{literal} + + +{/literal} diff --git a/templates/CRM/common/openFlashChart.tpl b/templates/CRM/common/openFlashChart.tpl deleted file mode 100644 index 0995cd1d59..0000000000 --- a/templates/CRM/common/openFlashChart.tpl +++ /dev/null @@ -1,64 +0,0 @@ -{* - +--------------------------------------------------------------------+ - | CiviCRM version 5 | - +--------------------------------------------------------------------+ - | Copyright CiviCRM LLC (c) 2004-2019 | - +--------------------------------------------------------------------+ - | 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 | - +--------------------------------------------------------------------+ -*} - - -{literal} - -{/literal} diff --git a/tests/karma/unit/crmCaseTypeSpec.js b/tests/karma/unit/crmCaseTypeSpec.js index 2cfb624e2a..258488ed76 100644 --- a/tests/karma/unit/crmCaseTypeSpec.js +++ b/tests/karma/unit/crmCaseTypeSpec.js @@ -185,6 +185,18 @@ describe('crmCaseType', function() { "is_reserved": "0", "is_active": "1" }, + { + "id": "10", + "name_a_b": "Homeless Services Coordinator is", + "label_a_b": "Homeless Services Coordinator is", + "name_b_a": "Homeless Services Coordinator", + "label_b_a": "Homeless Services Coordinator", + "description": "Homeless Services Coordinator", + "contact_type_a": "Individual", + "contact_type_b": "Individual", + "is_reserved": "0", + "is_active": "1" + }, { "id": "2", "name_a_b": "Spouse of", @@ -196,9 +208,24 @@ describe('crmCaseType', function() { "contact_type_b": "Individual", "is_reserved": "0", "is_active": "1" + }, + // include one where name is different from label + { + "id": "27", + "name_a_b": "GA123ab", + "label_a_b": "Guardian Angel is", + "name_b_a": "GA123ba", + "label_b_a": "Guardian Angel for", + "description": "Guardian Angel.", + "contact_type_a": "Individual", + "contact_type_b": "Individual", + "is_reserved": "0", + "is_active": "1" } ] }, + // Where is this used in the tests? + // It seems to be in the format for the activity assignee. relTypesForm: { values: [ { @@ -453,6 +480,181 @@ describe('crmCaseType', function() { }]); }); }); + + describe('when adding a role', function() { + beforeEach(inject(function ($controller) { + ctrl = $controller('CaseTypeCtrl', {$scope: scope, apiCalls: apiCalls}); + })); + + it('updates the case roles', function() { + + // This line sort of simulates selecting a relationship type from the + // dropdown. It doesn't test that clicking picks the right value to + // add, just that if it did then the function that gets called does + // the right thing with it. + // Note the value returned by the dropdown is "backwards", e.g. + // for the client perspective direction the dropdown returns the other + // direction, which is also what's stored in the xml. + scope.addRole(scope.caseType.definition.caseRoles, 'Case Coordinator'); + + expect(scope.caseType.definition.caseRoles).toEqual( + [ + { + name: 'Homeless Services Coordinator', + creator: '1', + manager: '1', + displaylabel: 'Homeless Services Coordinator is' + }, + { + name: 'Case Coordinator', + displaylabel: 'Case Coordinator is' + } + ] + ); + }); + + it('updates case roles if choose non-client-perspective direction', function() { + // again, the dropdown returns the opposite direction + scope.addRole(scope.caseType.definition.caseRoles, 'Homeless Services Coordinator is'); + expect(scope.caseType.definition.caseRoles).toEqual( + [ + { + name: 'Homeless Services Coordinator', + creator: '1', + manager: '1', + displaylabel: 'Homeless Services Coordinator is' + }, + { + name: 'Homeless Services Coordinator is', + displaylabel: 'Homeless Services Coordinator' + } + ] + ); + }); + + it("doesn't add the same role twice", function() { + // This is in the mock casetype to start, so check if can add twice. + scope.addRole(scope.caseType.definition.caseRoles, 'Homeless Services Coordinator'); + expect(scope.caseType.definition.caseRoles).toEqual( + [ + { + name: 'Homeless Services Coordinator', + creator: '1', + manager: '1', + displaylabel: 'Homeless Services Coordinator is' + } + ] + ); + }); + }); + + describe('when adding a role on-the-fly', function() { + beforeEach(inject(function ($controller) { + ctrl = $controller('CaseTypeCtrl', {$scope: scope, apiCalls: apiCalls}); + })); + + it('updates the case roles for unidirectional', function() { + // first simulate the ajax popup to create a new relationship type + var newType = { + "id": "33", + "name_a_b": "Some New Type is", + "label_a_b": "Some New Type is", + "name_b_a": "Some New Type for", + "label_b_a": "Some New Type for", + "description": "Some New Type", + "contact_type_a": "Individual", + "contact_type_b": "Individual", + "is_reserved": "0", + "is_active": "1" + }; + apiCalls.relTypes.values.push(newType); + + // now let the real code do what it does with the new type + scope.addRoleOnTheFly(scope.caseType.definition.caseRoles, newType); + + expect(scope.caseType.definition.caseRoles).toEqual( + [ + { + name: 'Homeless Services Coordinator', + creator: '1', + manager: '1', + displaylabel: 'Homeless Services Coordinator is' + }, + { + name: 'Some New Type for', + displaylabel: 'Some New Type is' + } + ] + ); + + expect(scope.relationshipTypeOptions.slice(-2)).toEqual( + [ + { + id: 'Some New Type is', + text: 'Some New Type for' + }, + { + id: 'Some New Type for', + text: 'Some New Type is' + } + ] + ); + }); + + it('updates the case roles for bidirectional', function() { + // first simulate the ajax popup to create a new relationship type + var newType = { + "id": "34", + "name_a_b": "Friend of", + "label_a_b": "Friend of", + "name_b_a": "Friend of", + "label_b_a": "Friend of", + "description": "Friend", + "contact_type_a": "Individual", + "contact_type_b": "Individual", + "is_reserved": "0", + "is_active": "1" + }; + apiCalls.relTypes.values.push(newType); + + // now let the real code do what it does with the new type + scope.addRoleOnTheFly(scope.caseType.definition.caseRoles, newType); + + expect(scope.caseType.definition.caseRoles).toEqual( + [ + { + name: 'Homeless Services Coordinator', + creator: '1', + manager: '1', + displaylabel: 'Homeless Services Coordinator is' + }, + { + name: 'Friend of', + displaylabel: 'Friend of' + } + ] + ); + + expect(scope.relationshipTypeOptions.slice(-1)).toEqual( + [ + { + id: 'Friend of', + text: 'Friend of' + } + ] + ); + + // Check that it did NOT add two entries for this bidirectional type + expect(scope.relationshipTypeOptions.slice(-2,-1)).not.toEqual( + [ + { + id: 'Friend of', + text: 'Friend of' + } + ] + ); + }); + }); }); describe('crmAddName', function () { diff --git a/tests/karma/unit/crmMailingRadioDateSpec.js b/tests/karma/unit/crmMailingRadioDateSpec.js index 279f331bbe..0e47406b3e 100644 --- a/tests/karma/unit/crmMailingRadioDateSpec.js +++ b/tests/karma/unit/crmMailingRadioDateSpec.js @@ -107,7 +107,10 @@ describe('crmMailingRadioDate', function() { var datenow = [year, month, day].join('-'); var time = [hours, minutes, "00"].join(':'); var currentDate = datenow + ' ' + time; - var ndate = new Date(datenow); + // Using datenow in the constructor here converts to local time. If not + // running on GMT (or east) then comparison to toDateString below fails. + // Also use month-1 because...javascript. + var ndate = new Date(year, month-1, day, 0, 0, 0); model.the_date = currentDate; $rootScope.$digest(); diff --git a/tests/phpunit/CRM/Contribute/BAO/ContributionRecurTest.php b/tests/phpunit/CRM/Contribute/BAO/ContributionRecurTest.php index 0b120f16f4..bd8370cbce 100644 --- a/tests/phpunit/CRM/Contribute/BAO/ContributionRecurTest.php +++ b/tests/phpunit/CRM/Contribute/BAO/ContributionRecurTest.php @@ -94,7 +94,7 @@ class CRM_Contribute_BAO_ContributionRecurTest extends CiviUnitTestCase { } /** - * Test checking if contribution recurr object can allow for changes to financial types. + * Test checking if contribution recur object can allow for changes to financial types. * */ public function testSupportFinancialTypeChange() { @@ -130,4 +130,108 @@ class CRM_Contribute_BAO_ContributionRecurTest extends CiviUnitTestCase { $this->assertEquals('XAU', $dao->currency, 'Edit clobbered recur currency'); } + /** + * Check test contributions aren't picked up as template for non-test recurs + * + */ + public function testGetTemplateContributionMatchTest1() { + $contributionRecur = $this->callAPISuccess('contribution_recur', 'create', $this->_params); + // Create a first contrib + $firstContrib = $this->callAPISuccess('Contribution', 'create', [ + 'contribution_recur_id' => $contributionRecur['id'], + 'total_amount' => '3.00', + 'financial_type_id' => 1, + 'payment_instrument_id' => 1, + 'currency' => 'USD', + 'contact_id' => $this->individualCreate(), + 'contribution_status_id' => 1, + 'receive_date' => 'yesterday', + ]); + // Create a test contrib - should not be picked up as template for non-test recur + $this->callAPISuccess('Contribution', 'create', [ + 'contribution_recur_id' => $contributionRecur['id'], + 'total_amount' => '3.00', + 'financial_type_id' => 1, + 'payment_instrument_id' => 1, + 'currency' => 'USD', + 'contact_id' => $this->individualCreate(), + 'contribution_status_id' => 1, + 'receive_date' => 'yesterday', + 'is_test' => 1, + ]); + $fetchedTemplate = CRM_Contribute_BAO_ContributionRecur::getTemplateContribution($contributionRecur['id']); + $this->assertEquals($firstContrib['id'], $fetchedTemplate['id']); + } + + /** + * Check non-test contributions aren't picked up as template for test recurs + * + */ + public function testGetTemplateContributionMatchTest() { + $params = $this->_params; + $params['is_test'] = 1; + $contributionRecur = $this->callAPISuccess('contribution_recur', 'create', $params); + // Create a first test contrib + $firstContrib = $this->callAPISuccess('Contribution', 'create', [ + 'contribution_recur_id' => $contributionRecur['id'], + 'total_amount' => '3.00', + 'financial_type_id' => 1, + 'payment_instrument_id' => 1, + 'currency' => 'USD', + 'contact_id' => $this->individualCreate(), + 'contribution_status_id' => 1, + 'receive_date' => 'yesterday', + 'is_test' => 1, + ]); + // Create a non-test contrib - should not be picked up as template for non-test recur + // This shouldn't occur - a live contrib against a test recur, but that's not the point... + $this->callAPISuccess('Contribution', 'create', [ + 'contribution_recur_id' => $contributionRecur['id'], + 'total_amount' => '3.00', + 'financial_type_id' => 1, + 'payment_instrument_id' => 1, + 'currency' => 'USD', + 'contact_id' => $this->individualCreate(), + 'contribution_status_id' => 1, + 'receive_date' => 'yesterday', + 'is_test' => 0, + ]); + $fetchedTemplate = CRM_Contribute_BAO_ContributionRecur::getTemplateContribution($contributionRecur['id']); + $this->assertEquals($firstContrib['id'], $fetchedTemplate['id']); + } + + /** + * Test that is_template contribution is used where available + * + */ + public function testGetTemplateContributionNewTemplate() { + $contributionRecur = $this->callAPISuccess('contribution_recur', 'create', $this->_params); + // Create the template + $templateContrib = $this->callAPISuccess('Contribution', 'create', [ + 'contribution_recur_id' => $contributionRecur['id'], + 'total_amount' => '3.00', + 'financial_type_id' => 1, + 'payment_instrument_id' => 1, + 'currency' => 'USD', + 'contact_id' => $this->individualCreate(), + 'contribution_status_id' => 1, + 'receive_date' => 'yesterday', + 'is_template' => 1, + ]); + // Create another normal contrib + $this->callAPISuccess('Contribution', 'create', [ + 'contribution_recur_id' => $contributionRecur['id'], + 'total_amount' => '3.00', + 'financial_type_id' => 1, + 'payment_instrument_id' => 1, + 'currency' => 'USD', + 'contact_id' => $this->individualCreate(), + 'contribution_status_id' => 1, + 'receive_date' => 'yesterday', + ]); + $fetchedTemplate = CRM_Contribute_BAO_ContributionRecur::getTemplateContribution($contributionRecur['id']); + // Fetched template should be the is_template, not the latest contrib + $this->assertEquals($fetchedTemplate['id'], $templateContrib['id']); + } + } diff --git a/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php b/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php index 0128b02c0d..7213e1100d 100644 --- a/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php +++ b/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php @@ -148,6 +148,12 @@ class CRM_Contribute_Import_Parser_ContributionTest extends CiviUnitTestCase { $values['contribution_status_id'] = 'just say no'; $this->runImport($values, CRM_Import_Parser::DUPLICATE_UPDATE, CRM_Import_Parser::ERROR); $this->callAPISuccessGetCount('Contribution', ['contact_id' => $contactID], 2); + + // Per https://lab.civicrm.org/dev/core/issues/1285 it's a bit arguable but Ok we can support id... + $values['contribution_status_id'] = 3; + $this->runImport($values, CRM_Import_Parser::DUPLICATE_UPDATE, NULL); + $this->callAPISuccessGetCount('Contribution', ['contact_id' => $contactID, 'contribution_status_id' => 3], 1); + } /** diff --git a/tests/phpunit/CRM/Core/BAO/CustomFieldTest.php b/tests/phpunit/CRM/Core/BAO/CustomFieldTest.php index ccb84063d0..53c1456ea6 100644 --- a/tests/phpunit/CRM/Core/BAO/CustomFieldTest.php +++ b/tests/phpunit/CRM/Core/BAO/CustomFieldTest.php @@ -514,7 +514,7 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase { 'import' => 1, 'custom_field_id' => $this->getCustomFieldID('text'), 'options_per_line' => NULL, - 'text_length' => NULL, + 'text_length' => 300, 'data_type' => 'String', 'html_type' => 'Text', 'is_search_range' => '0', @@ -537,6 +537,7 @@ class CRM_Core_BAO_CustomFieldTest extends CiviUnitTestCase { 'where' => 'civicrm_value_custom_group_' . $customGroupID . '.enter_text_here_' . $this->getCustomFieldID('text'), 'extends_table' => 'civicrm_contact', 'search_table' => 'contact_a', + 'maxlength' => 300, ], $this->getCustomFieldName('select_string') => [ 'name' => $this->getCustomFieldName('select_string'), diff --git a/tests/phpunit/CRM/Core/BAO/FinancialTrxnTest.php b/tests/phpunit/CRM/Core/BAO/FinancialTrxnTest.php index ee66811b23..b8fc1773f7 100644 --- a/tests/phpunit/CRM/Core/BAO/FinancialTrxnTest.php +++ b/tests/phpunit/CRM/Core/BAO/FinancialTrxnTest.php @@ -247,9 +247,9 @@ class CRM_Core_BAO_FinancialTrxnTest extends CiviUnitTestCase { } /** - * Test getPartialPaymentWithType function. + * Test testGetContributionBalance function. */ - public function testGetPartialPaymentWithType() { + public function testGetContributionBalance() { //create the contribution that isn't paid yet $contactId = $this->individualCreate(); $params = [ @@ -270,7 +270,7 @@ class CRM_Core_BAO_FinancialTrxnTest extends CiviUnitTestCase { ]; $this->callAPISuccess('Payment', 'create', $params); //amount owed should be one cent - $amountOwed = CRM_Core_BAO_FinancialTrxn::getPartialPaymentWithType($contribution['id'], 'contribution')['amount_owed']; + $amountOwed = CRM_Contribute_BAO_Contribution::getContributionBalance($contribution['id']); $this->assertTrue(0.01 == $amountOwed, 'Amount does not match'); } diff --git a/tests/phpunit/CRM/Core/BAO/LocationTest.php b/tests/phpunit/CRM/Core/BAO/LocationTest.php index 7df8d0ec80..8c78000759 100644 --- a/tests/phpunit/CRM/Core/BAO/LocationTest.php +++ b/tests/phpunit/CRM/Core/BAO/LocationTest.php @@ -148,9 +148,7 @@ class CRM_Core_BAO_LocationTest extends CiviUnitTestCase { $params['contact_id'] = $contactId; - $location = CRM_Core_BAO_Location::create($params); - - $locBlockId = CRM_Utils_Array::value('id', $location); + $locBlockId = CRM_Core_BAO_Location::create($params); //Now check DB for contact $searchParams = [ @@ -201,8 +199,6 @@ class CRM_Core_BAO_LocationTest extends CiviUnitTestCase { $compareParams = ['phone' => '9833910234']; $this->assertDBCompareValues('CRM_Core_DAO_Phone', $searchParams, $compareParams); - //delete the location block - CRM_Core_BAO_Location::deleteLocBlock($locBlockId); $this->contactDelete($contactId); } @@ -267,8 +263,7 @@ class CRM_Core_BAO_LocationTest extends CiviUnitTestCase { //create location block. //with various element of location block //like address, phone, email, im. - $location = CRM_Core_BAO_Location::create($params, NULL, TRUE); - $locBlockId = CRM_Utils_Array::value('id', $location); + $locBlockId = CRM_Core_BAO_Location::create($params, NULL, TRUE)['id']; //update event record with location block id $eventParams = [ @@ -356,100 +351,6 @@ class CRM_Core_BAO_LocationTest extends CiviUnitTestCase { $this->contactDelete($this->_contactId); } - /** - * DeleteLocBlock() method - * delete the location block - * created with various elements. - */ - public function testDeleteLocBlock() { - $this->_contactId = $this->individualCreate(); - //create test event record. - $event = $this->eventCreate(); - $params['location'][1] = [ - 'location_type_id' => 1, - 'is_primary' => 1, - 'address' => [ - 'street_address' => 'Saint Helier St', - 'supplemental_address_1' => 'Hallmark Ct', - 'supplemental_address_2' => 'Jersey Village', - 'supplemental_address_3' => 'My Town', - 'city' => 'Newark', - 'postal_code' => '01903', - 'country_id' => 1228, - 'state_province_id' => 1029, - 'geo_code_1' => '18.219023', - 'geo_code_2' => '-105.00973', - ], - 'email' => [ - '1' => ['email' => 'john.smith@example.org'], - ], - 'phone' => [ - '1' => [ - 'phone_type_id' => 1, - 'phone' => '303443689', - ], - '2' => [ - 'phone_type_id' => 2, - 'phone' => '9833910234', - ], - ], - 'im' => [ - '1' => [ - 'name' => 'jane.doe', - 'provider_id' => 1, - ], - ], - ]; - $params['entity_id'] = $event['id']; - $params['entity_table'] = 'civicrm_event'; - - //create location block. - //with various elements - //like address, phone, email, im. - $location = CRM_Core_BAO_Location::create($params, NULL, TRUE); - $locBlockId = CRM_Utils_Array::value('id', $location); - //update event record with location block id - $eventParams = [ - 'id' => $event['id'], - 'loc_block_id' => $locBlockId, - ]; - CRM_Event_BAO_Event::add($eventParams); - - //delete the location block - CRM_Core_BAO_Location::deleteLocBlock($locBlockId); - - //Now check DB for location elements. - //Now check DB for Address - $this->assertDBNull('CRM_Core_DAO_Address', 'Saint Helier St', 'id', 'street_address', - 'Database check, Address deleted successfully.' - ); - //Now check DB for Email - $this->assertDBNull('CRM_Core_DAO_Email', 'john.smith@example.org', 'id', 'email', - 'Database check, Email deleted successfully.' - ); - //Now check DB for Phone - $this->assertDBNull('CRM_Core_DAO_Phone', '303443689', 'id', 'phone', - 'Database check, Phone deleted successfully.' - ); - //Now check DB for Mobile - $this->assertDBNull('CRM_Core_DAO_Phone', '9833910234', 'id', 'phone', - 'Database check, Mobile deleted successfully.' - ); - //Now check DB for IM - $this->assertDBNull('CRM_Core_DAO_IM', 'jane.doe', 'id', 'name', - 'Database check, IM deleted successfully.' - ); - - //cleanup DB by deleting the record. - $this->eventDelete($event['id']); - $this->contactDelete($this->_contactId); - - //Now check DB for Event - $this->assertDBNull('CRM_Event_DAO_Event', $event['id'], 'id', 'id', - 'Database check, Event deleted successfully.' - ); - } - /** * GetValues() method * get the values of various location elements diff --git a/tests/phpunit/CRM/Export/BAO/ExportTest.php b/tests/phpunit/CRM/Export/BAO/ExportTest.php index a6fd93fce7..3f2ffdb4a0 100644 --- a/tests/phpunit/CRM/Export/BAO/ExportTest.php +++ b/tests/phpunit/CRM/Export/BAO/ExportTest.php @@ -121,6 +121,7 @@ class CRM_Export_BAO_ExportTest extends CiviUnitTestCase { ['contact_type' => 'Individual', 'name' => 'email', 1], ['name' => 'trxn_id'], ]; + $this->hookClass->setHook('civicrm_export', array($this, 'confirmHookWasCalled')); $this->doExportTest([ 'ids' => $this->contributionIDs, @@ -129,6 +130,20 @@ class CRM_Export_BAO_ExportTest extends CiviUnitTestCase { 'exportMode' => CRM_Export_Form_Select::CONTRIBUTE_EXPORT, 'componentClause' => 'civicrm_contribution.id IN ( ' . implode(',', $this->contributionIDs) . ')', ]); + $this->assertContains('display', array_values($this->csv->getHeader())); + $row = $this->csv->fetchOne(0); + $this->assertEquals('This is a test', $row['display']); + } + + /** + * Implements hook_civicrm_export(). + * + */ + public function confirmHookWasCalled(&$exportTempTable, &$headerRows, &$sqlColumns, $exportMode, $componentTable, $ids) { + $sqlColumns['display'] = 'display varchar(255)'; + $headerRows[] = 'display'; + CRM_Core_DAO::executeQuery("ALTER TABLE $exportTempTable ADD COLUMN display varchar(255)"); + CRM_Core_DAO::executeQuery("UPDATE $exportTempTable SET display = 'This is a test'"); } /** @@ -667,9 +682,14 @@ class CRM_Export_BAO_ExportTest extends CiviUnitTestCase { $this->setUpContactExportData(); $this->entity = 'Contact'; $this->createCustomGroupWithFieldsOfAllTypes(); + $longString = 'Blah'; + for ($i = 0; $i < 70; $i++) { + $longString .= 'Blah'; + } + $this->callAPISuccess('Contact', 'create', [ 'id' => $this->contactIDs[1], - $this->getCustomFieldName('text') => 'BlahdeBlah', + $this->getCustomFieldName('text') => $longString, $this->getCustomFieldName('country') => 'LA', 'api.Address.create' => ['location_type_id' => 'Billing', 'city' => 'Waipu'], ]); @@ -684,7 +704,7 @@ class CRM_Export_BAO_ExportTest extends CiviUnitTestCase { 'ids' => [$this->contactIDs[1]], ]); $row = $this->csv->fetchOne(); - $this->assertEquals('BlahdeBlah', $row['Enter text here']); + $this->assertEquals($longString, $row['Enter text here']); $this->assertEquals('Waipu', $row['Billing-City']); $this->assertEquals("Lao People's Democratic Republic", $row['Country']); } @@ -1024,6 +1044,17 @@ class CRM_Export_BAO_ExportTest extends CiviUnitTestCase { $this->assertEquals(CRM_Contact_BAO_Contact::getMasterDisplayName($this->masterAddressID), $row['Home-Master Address Belongs To']); } + /** + * Test merging same address when specifying fields. + * + * @throws \CRM_Core_Exception + * @throws \League\Csv\Exception + */ + public function testMergeSameAddressSpecifyFields() { + $this->setUpContactSameAddressExportData(); + $this->doExportTest(['mergeSameAddress' => TRUE, 'fields' => [['contact_type' => 'Individual', 'name' => 'master_id', 'location_type_id' => 1]]]); + } + /** * Test the merge same address option. * @@ -1158,6 +1189,31 @@ class CRM_Export_BAO_ExportTest extends CiviUnitTestCase { $this->assertCount(2, $this->csv); } + /** + * Test exporting when no rows are retrieved. + * + * @throws \CRM_Core_Exception + * @throws \League\Csv\Exception + */ + public function testExportNoRows() { + $contactA = $this->callAPISuccess('contact', 'create', [ + 'first_name' => 'John', + 'last_name' => 'Doe', + 'contact_type' => 'Individual', + ]); + $this->doExportTest([ + 'selectAll' => TRUE, + 'ids' => [$contactA['id']], + 'exportParams' => [ + 'postal_mailing_export' => [ + 'postal_mailing_export' => TRUE, + ], + 'mergeSameAddress' => TRUE, + ], + ]); + $this->assertEquals('Contact ID', $this->csv->getHeader()[0]); + } + /** * Test that deceased and do not mail contacts are removed from contacts before * @@ -1182,6 +1238,21 @@ class CRM_Export_BAO_ExportTest extends CiviUnitTestCase { 'contact_type' => 'Individual', ], $reason)); + // Create another contact not included in the exporrt set. + $this->callAPISuccess('contact', 'create', array_merge([ + 'first_name' => 'Janet', + 'last_name' => 'Doe', + 'contact_type' => 'Individual', + 'api.address.create' => ['supplemental_address_1' => 'An address'], + ], $reason)); + + // Create another contact not included in the exporrt set. + $this->callAPISuccess('contact', 'create', array_merge([ + 'first_name' => 'Janice', + 'last_name' => 'Doe', + 'contact_type' => 'Individual', + ], $reason)); + //create address for contact A $this->callAPISuccess('address', 'create', [ 'contact_id' => $contactA['id'], diff --git a/tests/phpunit/CRM/Utils/Mail/EmailProcessorInboundTest.php b/tests/phpunit/CRM/Utils/Mail/EmailProcessorInboundTest.php new file mode 100644 index 0000000000..c461e0543d --- /dev/null +++ b/tests/phpunit/CRM/Utils/Mail/EmailProcessorInboundTest.php @@ -0,0 +1,121 @@ +mailSettingsId = $this->callAPISuccess('MailSettings', 'create', [ + 'name' => 'local', + 'protocol' => 'Localdir', + 'source' => __DIR__ . '/data/mail', + 'domain' => 'example.com', + // a little weird - is_default=0 means for inbound email processing + 'is_default' => '0', + 'domain_id' => 1, + ])['id']; + } + + public function tearDown() { + CRM_Utils_File::cleanDir(__DIR__ . '/data/mail'); + $this->callAPISuccess('MailSettings', 'delete', [ + 'id' => $this->mailSettingsId, + ]); + parent::tearDown(); + } + + /** + * Fetch activities with many attachments + * + * In particular the default limit for the UI is 3, which is how this came up + * because it was also being used as a limit for backend processes. So we + * test 4, which is bigger than 3 (unless running on a 2-bit CPU). + */ + public function testFetchActivitiesWithManyAttachments() { + $mail = 'test_message_many_attachments.eml'; + + // paranoid check that settings are the standard defaults + $currentUIMax = Civi::settings()->get('max_attachments'); + $currentBackendMax = Civi::settings()->get('max_attachments_backend'); + if ($currentUIMax > 3) { + Civi::settings()->set('max_attachments', 3); + } + if ($currentBackendMax < CRM_Core_BAO_File::DEFAULT_MAX_ATTACHMENTS_BACKEND) { + Civi::settings()->set('max_attachments_backend', CRM_Core_BAO_File::DEFAULT_MAX_ATTACHMENTS_BACKEND); + } + + // create some contacts + $senderContactId = $this->individualCreate([], 1); + $senderContact = $this->callAPISuccess('Contact', 'getsingle', [ + 'id' => $senderContactId, + ]); + $recipientContactId = $this->individualCreate([], 2); + $recipientContact = $this->callAPISuccess('Contact', 'getsingle', [ + 'id' => $recipientContactId, + ]); + + $templateFillData = [ + 'the_date' => date('r'), + 'from_name' => $senderContact['display_name'], + 'from_email' => $senderContact['email'], + 'to_email' => $recipientContact['email'], + ]; + + // Retrieve the template and insert our data like current dates + $file_contents = file_get_contents(__DIR__ . '/data/inbound/' . $mail); + foreach ($templateFillData as $field => $value) { + $file_contents = str_replace("%%{$field}%%", $value, $file_contents); + } + // put it in the mail dir + file_put_contents(__DIR__ . '/data/mail/' . $mail, $file_contents); + + // run the job + $this->callAPISuccess('job', 'fetch_activities', []); + + // check that file was removed from mail dir + $this->assertFalse(file_exists(__DIR__ . '/data/mail/' . $mail)); + + // get the filed activity, by sender contact id + $activities = $this->callAPISuccess('Activity', 'get', [ + 'source_contact_id' => $senderContact['id'], + ]); + $this->assertEquals(1, $activities['count']); + + // check subject + $activity = $activities['values'][$activities['id']]; + $this->assertEquals('Testing 4 attachments', $activity['subject']); + + // Check target is our recipient + $targets = $this->callAPISuccess('ActivityContact', 'get', [ + 'activity_id' => $activity['id'], + 'record_type_id' => 'Activity Targets', + ]); + $this->assertEquals($recipientContact['id'], $targets['values'][$targets['id']]['contact_id']); + + // Check we have 4 attachments + $attachments = $this->callAPISuccess('Attachment', 'get', [ + 'entity_id' => $activity['id'], + 'entity_table' => 'civicrm_activity', + ]); + $this->assertEquals(4, $attachments['count']); + + // reset in case it was different from defaults + Civi::settings()->set('max_attachments', $currentUIMax); + Civi::settings()->set('max_attachments_backend', $currentBackendMax); + } + +} diff --git a/tests/phpunit/CRM/Utils/Mail/data/inbound/test_message_many_attachments.eml b/tests/phpunit/CRM/Utils/Mail/data/inbound/test_message_many_attachments.eml new file mode 100644 index 0000000000..6ee592f589 --- /dev/null +++ b/tests/phpunit/CRM/Utils/Mail/data/inbound/test_message_many_attachments.eml @@ -0,0 +1,123 @@ +MIME-Version: 1.0 +Date: %%the_date%% +Message-ID: +Subject: Testing 4 attachments +From: %%from_name%% <%%from_email%%> +To: %%to_email%% +Content-Type: multipart/mixed; boundary="000000000000a2ad5f059325db35" + +--000000000000a2ad5f059325db35 +Content-Type: multipart/alternative; boundary="000000000000a2ad5a059325db33" + +--000000000000a2ad5a059325db33 +Content-Type: text/plain; charset="UTF-8" + +test + +--000000000000a2ad5a059325db33 +Content-Type: text/html; charset="UTF-8" + +
    test
    + +--000000000000a2ad5a059325db33-- +--000000000000a2ad5f059325db35 +Content-Type: image/gif; name="c.gif" +Content-Disposition: attachment; filename="c.gif" +Content-Transfer-Encoding: base64 +X-Attachment-Id: f_k0v4qdju2 +Content-ID: + +R0lGODlhPwA+APcAAAAAAAAAMwAAZgAAmQAAzAAA/wArAAArMwArZgArmQArzAAr/wBVAABVMwBV +ZgBVmQBVzABV/wCAAACAMwCAZgCAmQCAzACA/wCqAACqMwCqZgCqmQCqzACq/wDVAADVMwDVZgDV +mQDVzADV/wD/AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMrADMrMzMrZjMrmTMr +zDMr/zNVADNVMzNVZjNVmTNVzDNV/zOAADOAMzOAZjOAmTOAzDOA/zOqADOqMzOqZjOqmTOqzDOq +/zPVADPVMzPVZjPVmTPVzDPV/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2Yr +AGYrM2YrZmYrmWYrzGYr/2ZVAGZVM2ZVZmZVmWZVzGZV/2aAAGaAM2aAZmaAmWaAzGaA/2aqAGaq +M2aqZmaqmWaqzGaq/2bVAGbVM2bVZmbVmWbVzGbV/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kA +ZpkAmZkAzJkA/5krAJkrM5krZpkrmZkrzJkr/5lVAJlVM5lVZplVmZlVzJlV/5mAAJmAM5mAZpmA +mZmAzJmA/5mqAJmqM5mqZpmqmZmqzJmq/5nVAJnVM5nVZpnVmZnVzJnV/5n/AJn/M5n/Zpn/mZn/ +zJn//8wAAMwAM8wAZswAmcwAzMwA/8wrAMwrM8wrZswrmcwrzMwr/8xVAMxVM8xVZsxVmcxVzMxV +/8yAAMyAM8yAZsyAmcyAzMyA/8yqAMyqM8yqZsyqmcyqzMyq/8zVAMzVM8zVZszVmczVzMzV/8z/ +AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8rAP8rM/8rZv8rmf8rzP8r//9VAP9V +M/9VZv9Vmf9VzP9V//+AAP+AM/+AZv+Amf+AzP+A//+qAP+qM/+qZv+qmf+qzP+q///VAP/VM//V +Zv/Vmf/VzP/V////AP//M///Zv//mf//zP///wAAAAAAAAAAAAAAACH5BAEAAPwALAAAAAA/AD4A +AAjCAPcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX +IgHInAnT4MybOGvi3JmzJc+fNFcCHQpAJdCCP1HyVLjU5E6GT0tGhdpzZNWGV0NmXTgVZFesN62G +jbi1Y1muY7WmfXh2Y9uEbzPGPTgXY92BXz/eFbjXYl6Ef/XODSz4bVOnh/EmRkx08cnGhKVClqmT +aE2CSS9r3sy5s+fPoEOLHk26tOnTqFPXDAgAOw== +--000000000000a2ad5f059325db35 +Content-Type: image/gif; name="b.gif" +Content-Disposition: attachment; filename="b.gif" +Content-Transfer-Encoding: base64 +X-Attachment-Id: f_k0v4qdjj1 +Content-ID: + +R0lGODlhPwA+APcAAAAAAAAAMwAAZgAAmQAAzAAA/wArAAArMwArZgArmQArzAAr/wBVAABVMwBV +ZgBVmQBVzABV/wCAAACAMwCAZgCAmQCAzACA/wCqAACqMwCqZgCqmQCqzACq/wDVAADVMwDVZgDV +mQDVzADV/wD/AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMrADMrMzMrZjMrmTMr +zDMr/zNVADNVMzNVZjNVmTNVzDNV/zOAADOAMzOAZjOAmTOAzDOA/zOqADOqMzOqZjOqmTOqzDOq +/zPVADPVMzPVZjPVmTPVzDPV/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2Yr +AGYrM2YrZmYrmWYrzGYr/2ZVAGZVM2ZVZmZVmWZVzGZV/2aAAGaAM2aAZmaAmWaAzGaA/2aqAGaq +M2aqZmaqmWaqzGaq/2bVAGbVM2bVZmbVmWbVzGbV/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kA +ZpkAmZkAzJkA/5krAJkrM5krZpkrmZkrzJkr/5lVAJlVM5lVZplVmZlVzJlV/5mAAJmAM5mAZpmA +mZmAzJmA/5mqAJmqM5mqZpmqmZmqzJmq/5nVAJnVM5nVZpnVmZnVzJnV/5n/AJn/M5n/Zpn/mZn/ +zJn//8wAAMwAM8wAZswAmcwAzMwA/8wrAMwrM8wrZswrmcwrzMwr/8xVAMxVM8xVZsxVmcxVzMxV +/8yAAMyAM8yAZsyAmcyAzMyA/8yqAMyqM8yqZsyqmcyqzMyq/8zVAMzVM8zVZszVmczVzMzV/8z/ +AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8rAP8rM/8rZv8rmf8rzP8r//9VAP9V +M/9VZv9Vmf9VzP9V//+AAP+AM/+AZv+Amf+AzP+A//+qAP+qM/+qZv+qmf+qzP+q///VAP/VM//V +Zv/Vmf/VzP/V////AP//M///Zv//mf//zP///wAAAAAAAAAAAAAAACH5BAEAAPwALAAAAAA/AD4A +AAjCAPcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX +IgHInAnT4MybOGvi3JmzJc+fNFcCHQpAJdCCP1HyVLjU5E6GT0tGhdpzZNWGV0NmXTgVZFesN62G +jbi1Y1muY7WmfXh2Y9uEbzPGPTgXY92BXz/eFbjXYl6Ef/XODSz4bVOnh/EmRkx08cnGhKVClqmT +aE2CSS9r3sy5s+fPoEOLHk26tOnTqFPXDAgAOw== +--000000000000a2ad5f059325db35 +Content-Type: image/gif; name="d.gif" +Content-Disposition: attachment; filename="d.gif" +Content-Transfer-Encoding: base64 +X-Attachment-Id: f_k0v4qdk73 +Content-ID: + +R0lGODlhPwA+APcAAAAAAAAAMwAAZgAAmQAAzAAA/wArAAArMwArZgArmQArzAAr/wBVAABVMwBV +ZgBVmQBVzABV/wCAAACAMwCAZgCAmQCAzACA/wCqAACqMwCqZgCqmQCqzACq/wDVAADVMwDVZgDV +mQDVzADV/wD/AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMrADMrMzMrZjMrmTMr +zDMr/zNVADNVMzNVZjNVmTNVzDNV/zOAADOAMzOAZjOAmTOAzDOA/zOqADOqMzOqZjOqmTOqzDOq +/zPVADPVMzPVZjPVmTPVzDPV/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2Yr +AGYrM2YrZmYrmWYrzGYr/2ZVAGZVM2ZVZmZVmWZVzGZV/2aAAGaAM2aAZmaAmWaAzGaA/2aqAGaq +M2aqZmaqmWaqzGaq/2bVAGbVM2bVZmbVmWbVzGbV/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kA +ZpkAmZkAzJkA/5krAJkrM5krZpkrmZkrzJkr/5lVAJlVM5lVZplVmZlVzJlV/5mAAJmAM5mAZpmA +mZmAzJmA/5mqAJmqM5mqZpmqmZmqzJmq/5nVAJnVM5nVZpnVmZnVzJnV/5n/AJn/M5n/Zpn/mZn/ +zJn//8wAAMwAM8wAZswAmcwAzMwA/8wrAMwrM8wrZswrmcwrzMwr/8xVAMxVM8xVZsxVmcxVzMxV +/8yAAMyAM8yAZsyAmcyAzMyA/8yqAMyqM8yqZsyqmcyqzMyq/8zVAMzVM8zVZszVmczVzMzV/8z/ +AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8rAP8rM/8rZv8rmf8rzP8r//9VAP9V +M/9VZv9Vmf9VzP9V//+AAP+AM/+AZv+Amf+AzP+A//+qAP+qM/+qZv+qmf+qzP+q///VAP/VM//V +Zv/Vmf/VzP/V////AP//M///Zv//mf//zP///wAAAAAAAAAAAAAAACH5BAEAAPwALAAAAAA/AD4A +AAjCAPcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX +IgHInAnT4MybOGvi3JmzJc+fNFcCHQpAJdCCP1HyVLjU5E6GT0tGhdpzZNWGV0NmXTgVZFesN62G +jbi1Y1muY7WmfXh2Y9uEbzPGPTgXY92BXz/eFbjXYl6Ef/XODSz4bVOnh/EmRkx08cnGhKVClqmT +aE2CSS9r3sy5s+fPoEOLHk26tOnTqFPXDAgAOw== +--000000000000a2ad5f059325db35 +Content-Type: image/gif; name="a.gif" +Content-Disposition: attachment; filename="a.gif" +Content-Transfer-Encoding: base64 +X-Attachment-Id: f_k0v4qdiv0 +Content-ID: + +R0lGODlhPwA+APcAAAAAAAAAMwAAZgAAmQAAzAAA/wArAAArMwArZgArmQArzAAr/wBVAABVMwBV +ZgBVmQBVzABV/wCAAACAMwCAZgCAmQCAzACA/wCqAACqMwCqZgCqmQCqzACq/wDVAADVMwDVZgDV +mQDVzADV/wD/AAD/MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMrADMrMzMrZjMrmTMr +zDMr/zNVADNVMzNVZjNVmTNVzDNV/zOAADOAMzOAZjOAmTOAzDOA/zOqADOqMzOqZjOqmTOqzDOq +/zPVADPVMzPVZjPVmTPVzDPV/zP/ADP/MzP/ZjP/mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2Yr +AGYrM2YrZmYrmWYrzGYr/2ZVAGZVM2ZVZmZVmWZVzGZV/2aAAGaAM2aAZmaAmWaAzGaA/2aqAGaq +M2aqZmaqmWaqzGaq/2bVAGbVM2bVZmbVmWbVzGbV/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kA +ZpkAmZkAzJkA/5krAJkrM5krZpkrmZkrzJkr/5lVAJlVM5lVZplVmZlVzJlV/5mAAJmAM5mAZpmA +mZmAzJmA/5mqAJmqM5mqZpmqmZmqzJmq/5nVAJnVM5nVZpnVmZnVzJnV/5n/AJn/M5n/Zpn/mZn/ +zJn//8wAAMwAM8wAZswAmcwAzMwA/8wrAMwrM8wrZswrmcwrzMwr/8xVAMxVM8xVZsxVmcxVzMxV +/8yAAMyAM8yAZsyAmcyAzMyA/8yqAMyqM8yqZsyqmcyqzMyq/8zVAMzVM8zVZszVmczVzMzV/8z/ +AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8Amf8AzP8A//8rAP8rM/8rZv8rmf8rzP8r//9VAP9V +M/9VZv9Vmf9VzP9V//+AAP+AM/+AZv+Amf+AzP+A//+qAP+qM/+qZv+qmf+qzP+q///VAP/VM//V +Zv/Vmf/VzP/V////AP//M///Zv//mf//zP///wAAAAAAAAAAAAAAACH5BAEAAPwALAAAAAA/AD4A +AAjCAPcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuX +IgHInAnT4MybOGvi3JmzJc+fNFcCHQpAJdCCP1HyVLjU5E6GT0tGhdpzZNWGV0NmXTgVZFesN62G +jbi1Y1muY7WmfXh2Y9uEbzPGPTgXY92BXz/eFbjXYl6Ef/XODSz4bVOnh/EmRkx08cnGhKVClqmT +aE2CSS9r3sy5s+fPoEOLHk26tOnTqFPXDAgAOw== +--000000000000a2ad5f059325db35-- diff --git a/tests/phpunit/CRMTraits/Custom/CustomDataTrait.php b/tests/phpunit/CRMTraits/Custom/CustomDataTrait.php index a90b465d6f..002000891b 100644 --- a/tests/phpunit/CRMTraits/Custom/CustomDataTrait.php +++ b/tests/phpunit/CRMTraits/Custom/CustomDataTrait.php @@ -195,6 +195,7 @@ trait CRMTraits_Custom_CustomDataTrait { 'is_required' => 1, 'sequential' => 1, 'is_searchable' => 1, + 'text_length' => 300, ], $params); return $this->callAPISuccess('CustomField', 'create', $params)['values'][0]; diff --git a/tests/phpunit/CRMTraits/Profile/ProfileTrait.php b/tests/phpunit/CRMTraits/Profile/ProfileTrait.php index b41dbf4a7e..209a3f82ae 100644 --- a/tests/phpunit/CRMTraits/Profile/ProfileTrait.php +++ b/tests/phpunit/CRMTraits/Profile/ProfileTrait.php @@ -40,9 +40,9 @@ trait CRMTraits_Profile_ProfileTrait { * @param array $ufGroupParams */ protected function createJoinedProfile($joinParams, $ufGroupParams = []) { - $this->createProfile($ufGroupParams); + $profileID = $this->createProfile($ufGroupParams); $joinParams = array_merge([ - 'uf_group_id' => 'our profile', + 'uf_group_id' => $profileID, 'entity_table' => 'civicrm_contribution_page', 'weight' => 1, ], $joinParams); @@ -59,6 +59,8 @@ trait CRMTraits_Profile_ProfileTrait { * Create a profile. * * @param $ufGroupParams + * + * @return int */ protected function createProfile($ufGroupParams) { $profile = $this->callAPISuccess('UFGroup', 'create', array_merge([ @@ -74,6 +76,31 @@ trait CRMTraits_Profile_ProfileTrait { 'uf_group_id' => $profile['id'], 'field_name' => 'first_name', ]); + return $profile['id']; + } + + /** + * Ensure we don't have a profile with the id or one to ensure that we are not casting an array to it. + */ + protected function eliminateUFGroupOne() { + $profileID = $this->createProfile(['name' => 'dummy_for_removing']); + CRM_Core_DAO::executeQuery("UPDATE civicrm_uf_join SET uf_group_id = $profileID WHERE uf_group_id = 1"); + CRM_Core_DAO::executeQuery("UPDATE civicrm_uf_field SET uf_group_id = $profileID WHERE uf_group_id = 1"); + CRM_Core_DAO::executeQuery('UPDATE civicrm_uf_group SET id = 900 WHERE id = 1'); + $this->ids['UFGroup']['dummy'] = $profileID; + } + + /** + * Bring back UF group one. + */ + protected function restoreUFGroupOne() { + if (!isset($this->ids['UFGroup']['dummy'])) { + return; + } + $profileID = $this->ids['UFGroup']['dummy']; + CRM_Core_DAO::executeQuery('UPDATE civicrm_uf_group SET id = 1 WHERE id = 900'); + CRM_Core_DAO::executeQuery("UPDATE civicrm_uf_join SET uf_group_id = 1 WHERE uf_group_id = $profileID"); + CRM_Core_DAO::executeQuery("UPDATE civicrm_uf_field SET uf_group_id = 1 WHERE uf_group_id = $profileID"); } } diff --git a/tests/phpunit/CiviTest/CiviUnitTestCase.php b/tests/phpunit/CiviTest/CiviUnitTestCase.php index 0b685ffe69..8cc6355d74 100644 --- a/tests/phpunit/CiviTest/CiviUnitTestCase.php +++ b/tests/phpunit/CiviTest/CiviUnitTestCase.php @@ -334,12 +334,6 @@ class CiviUnitTestCase extends PHPUnit\Framework\TestCase { // disable any left-over test extensions CRM_Core_DAO::executeQuery('DELETE FROM civicrm_extension WHERE full_name LIKE "test.%"'); - $extensions = \CRM_Extension_System::singleton()->getManager(); - $api4Status = $extensions->getStatus('org.civicrm.api4'); - if ($api4Status != $extensions::STATUS_INSTALLED && $api4Status != $extensions::STATUS_UNKNOWN) { - $extensions->enable(['org.civicrm.api4']); - } - // reset all the caches CRM_Utils_System::flushCache(); diff --git a/tests/phpunit/CiviTest/bootstrap.php b/tests/phpunit/CiviTest/bootstrap.php index 5a05bcabf9..4c1fff3cd2 100644 --- a/tests/phpunit/CiviTest/bootstrap.php +++ b/tests/phpunit/CiviTest/bootstrap.php @@ -24,8 +24,32 @@ if (CIVICRM_UF === 'UnitTests') { Civi\Test::headless()->apply(); } +spl_autoload_register(function($class) { + _phpunit_mockoloader('api\\v4\\', "tests/phpunit/api/v4/", $class); + _phpunit_mockoloader('Civi\\Api4\\', "tests/phpunit/api/v4/Mock/Api4/", $class); +}); + // ------------------------------------------------------------------------------ +/** + * @param $prefix + * @param $base_dir + * @param $class + */ +function _phpunit_mockoloader($prefix, $base_dir, $class) { + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + + global $civicrm_root; + $relative_class = substr($class, $len); + $file = $civicrm_root . '/' . $base_dir . str_replace('\\', '/', $relative_class) . '.php'; + if (file_exists($file)) { + require $file; + } +} + /** * Call the "cv" command. * diff --git a/tests/phpunit/api/v3/ContributionPageTest.php b/tests/phpunit/api/v3/ContributionPageTest.php index 28a12cd926..631dc3a922 100644 --- a/tests/phpunit/api/v3/ContributionPageTest.php +++ b/tests/phpunit/api/v3/ContributionPageTest.php @@ -935,6 +935,7 @@ class api_v3_ContributionPageTest extends CiviUnitTestCase { $this->assertEquals($membership['contact_id'], $contribution['contact_id']); $this->assertEquals($expectedMembershipStatus, $membership['status_id']); $this->callAPISuccess('contribution_recur', 'getsingle', ['id' => $contribution['contribution_recur_id']]); + $this->assertEquals($contribution['contribution_recur_id'], $membership['contribution_recur_id']); $this->callAPISuccess('line_item', 'getsingle', ['contribution_id' => $contribution['id'], 'entity_id' => $membership['id']]); //renew it with processor setting completed - should extend membership diff --git a/tests/phpunit/api/v3/ContributionTest.php b/tests/phpunit/api/v3/ContributionTest.php index be3c2059ec..a63b33bb9a 100644 --- a/tests/phpunit/api/v3/ContributionTest.php +++ b/tests/phpunit/api/v3/ContributionTest.php @@ -117,13 +117,15 @@ class api_v3_ContributionTest extends CiviUnitTestCase { /** * Clean up after each test. + * + * @throws \CRM_Core_Exception */ public function tearDown() { $this->quickCleanUpFinancialEntities(); $this->quickCleanup(['civicrm_uf_match']); $financialAccounts = $this->callAPISuccess('FinancialAccount', 'get', []); foreach ($financialAccounts['values'] as $financialAccount) { - if ($financialAccount['name'] == 'Test Tax financial account ' || $financialAccount['name'] == 'Test taxable financial Type') { + if ($financialAccount['name'] === 'Test Tax financial account ' || $financialAccount['name'] === 'Test taxable financial Type') { $entityFinancialTypes = $this->callAPISuccess('EntityFinancialAccount', 'get', [ 'financial_account_id' => $financialAccount['id'], ]); @@ -133,6 +135,7 @@ class api_v3_ContributionTest extends CiviUnitTestCase { $this->callAPISuccess('FinancialAccount', 'delete', ['id' => $financialAccount['id']]); } } + $this->restoreUFGroupOne(); } /** @@ -3058,6 +3061,9 @@ class api_v3_ContributionTest extends CiviUnitTestCase { $this->_individualId = $this->createLoggedInUser(); $contributionID = $this->createPendingParticipantContribution(); $this->createJoinedProfile(['entity_id' => $this->_ids['event']['test'], 'entity_table' => 'civicrm_event']); + $this->createJoinedProfile(['entity_id' => $this->_ids['event']['test'], 'entity_table' => 'civicrm_event', 'weight' => 2], ['name' => 'post_1', 'title' => 'title_post_2', 'frontend_title' => 'public 2']); + $this->createJoinedProfile(['entity_id' => $this->_ids['event']['test'], 'entity_table' => 'civicrm_event', 'weight' => 3], ['name' => 'post_2', 'title' => 'title_post_3', 'frontend_title' => 'public 3']); + $this->eliminateUFGroupOne(); $this->callAPISuccess('contribution', 'completetransaction', [ 'id' => $contributionID, @@ -3074,7 +3080,7 @@ class api_v3_ContributionTest extends CiviUnitTestCase { 'contact_id' => $this->_individualId, ])['values']; - $this->assertEquals(3, count($activities)); + $this->assertCount(3, $activities); $activityNames = array_count_values(CRM_Utils_Array::collect('activity_name', $activities)); // record two activities before and after completing payment for Event registration $this->assertEquals(2, $activityNames['Event Registration']); @@ -3087,7 +3093,9 @@ class api_v3_ContributionTest extends CiviUnitTestCase { 'This letter is a confirmation that your registration has been received and your status has been updated to Registered.', 'First Name: Logged In', 'Public title', - ], ['Back end title']); + 'public 2', + 'public 3', + ], ['Back end title', 'title_post_2', 'title_post_3']); $mut->stop(); } diff --git a/tests/phpunit/api/v3/CustomValueTest.php b/tests/phpunit/api/v3/CustomValueTest.php index b037e91f4b..378150e185 100644 --- a/tests/phpunit/api/v3/CustomValueTest.php +++ b/tests/phpunit/api/v3/CustomValueTest.php @@ -620,4 +620,35 @@ class api_v3_CustomValueTest extends CiviUnitTestCase { $this->assertEquals(count($customFieldValues), $result['count']); } + /** + * Test getdisplayvalue api and verify if it returns + * the custom text for display. + */ + public function testGetDisplayValue() { + list($cid, $customFieldValues) = $this->_testGetCustomValueMultiple(); + foreach ($customFieldValues as $field => $value) { + list(, $customFieldID) = explode("_", $field); + $result = $this->callAPISuccess('CustomValue', 'getdisplayvalue', [ + 'entity_id' => $cid, + 'custom_field_id' => $customFieldID, + ]); + $expectedValue = [ + 'display' => $value, + 'raw' => $value, + ]; + $this->checkArrayEquals($result['values'][$customFieldID], $expectedValue); + + $customDisplayValue = $this->callAPISuccess('CustomValue', 'getdisplayvalue', [ + 'entity_id' => $cid, + 'custom_field_id' => $customFieldID, + 'custom_field_value' => "Test Custom Display - {$value}", + ]); + $expectedValue = [ + 'display' => "Test Custom Display - {$value}", + 'raw' => "Test Custom Display - {$value}", + ]; + $this->checkArrayEquals($customDisplayValue['values'][$customFieldID], $expectedValue); + } + } + } diff --git a/tests/phpunit/api/v3/JobProcessMailingTest.php b/tests/phpunit/api/v3/JobProcessMailingTest.php index 1d8fa22970..6cdf544f88 100644 --- a/tests/phpunit/api/v3/JobProcessMailingTest.php +++ b/tests/phpunit/api/v3/JobProcessMailingTest.php @@ -119,6 +119,30 @@ class api_v3_JobProcessMailingTest extends CiviUnitTestCase { $this->_mut->assertRecipients($this->getRecipients(1, 2)); } + /** + * Test what happens when a contact is set to decesaed + */ + public function testDecesasedRecepient() { + $contactID = $this->individualCreate(['first_name' => 'test dead recipeint', 'email' => 'mailtestdead@civicrm.org']); + $this->callAPISuccess('group_contact', 'create', [ + 'contact_id' => $contactID, + 'group_id' => $this->_groupID, + 'status' => 'Added', + ]); + $this->createContactsInGroup(2, $this->_groupID); + Civi::settings()->add([ + 'mailerBatchLimit' => 2, + ]); + $mailing = $this->callAPISuccess('mailing', 'create', $this->_params); + $this->assertEquals(3, $this->callAPISuccess('MailingRecipients', 'get', ['mailing_id' => $mailing['id']])['count']); + $this->_mut->assertRecipients([]); + $this->callAPISuccess('Contact', 'create', ['id' => $contactID, 'is_deceased' => 1, 'contact_type' => 'Individual']); + $this->callAPISuccess('job', 'process_mailing', []); + // Check that the deceased contact is not found in the mailing. + $this->_mut->assertRecipients($this->getRecipients(1, 2)); + + } + /** * Test pause and resume on Mailing. */ diff --git a/tests/phpunit/api/v3/MailingTest.php b/tests/phpunit/api/v3/MailingTest.php index f8e1d8bc2c..6434ffbfd1 100644 --- a/tests/phpunit/api/v3/MailingTest.php +++ b/tests/phpunit/api/v3/MailingTest.php @@ -132,6 +132,16 @@ class api_v3_MailingTest extends CiviUnitTestCase { $this->assertTrue(isset($types['values']['traditional'])); } + /** + * Check that default header+footer are available. + */ + public function testHeaderFooterOptions() { + $headers = $this->callAPISuccess('Mailing', 'getoptions', ['field' => 'header']); + $this->assertTrue(in_array('Mailing Header', $headers['values'])); + $footers = $this->callAPISuccess('Mailing', 'getoptions', ['field' => 'footer']); + $this->assertTrue(in_array('Mailing Footer', $footers['values'])); + } + /** * The `template_options` field should be treated a JSON object. * diff --git a/tests/phpunit/api/v3/PaymentTest.php b/tests/phpunit/api/v3/PaymentTest.php index 09895d9acb..b90fc7a96b 100644 --- a/tests/phpunit/api/v3/PaymentTest.php +++ b/tests/phpunit/api/v3/PaymentTest.php @@ -107,6 +107,52 @@ class api_v3_PaymentTest extends CiviUnitTestCase { ]); } + /** + * Retrieve Payment using trxn_id. + */ + public function testGetPaymentWithTrxnID() { + $this->_individualId2 = $this->individualCreate(); + $params1 = [ + 'contact_id' => $this->_individualId, + 'trxn_id' => 111111, + 'total_amount' => 10, + ]; + $contributionID1 = $this->contributionCreate($params1); + + $params2 = [ + 'contact_id' => $this->_individualId2, + 'trxn_id' => 222222, + 'total_amount' => 20, + ]; + $contributionID2 = $this->contributionCreate($params2); + + $paymentParams = ['trxn_id' => 111111]; + $payment = $this->callAPISuccess('payment', 'get', $paymentParams); + $expectedResult = [ + $payment['id'] => [ + 'total_amount' => 10, + 'trxn_id' => 111111, + 'status_id' => 1, + 'is_payment' => 1, + 'contribution_id' => $contributionID1, + ], + ]; + $this->checkPaymentResult($payment, $expectedResult); + + $paymentParams = ['trxn_id' => 222222]; + $payment = $this->callAPISuccess('payment', 'get', $paymentParams); + $expectedResult = [ + $payment['id'] => [ + 'total_amount' => 20, + 'trxn_id' => 222222, + 'status_id' => 1, + 'is_payment' => 1, + 'contribution_id' => $contributionID2, + ], + ]; + $this->checkPaymentResult($payment, $expectedResult); + } + /** * Test email receipt for partial payment. */ diff --git a/tests/phpunit/api/v3/SystemCheckTest.php b/tests/phpunit/api/v3/SystemCheckTest.php index f2dfc32a81..0204d4d735 100644 --- a/tests/phpunit/api/v3/SystemCheckTest.php +++ b/tests/phpunit/api/v3/SystemCheckTest.php @@ -87,10 +87,34 @@ class api_v3_SystemCheckTest extends CiviUnitTestCase { $this->assertEquals($testedCheck['is_visible'], '0', 'in line ' . __LINE__); } + /** + * Disabled items should never show up. + * + * @param int $version + * + * @dataProvider versionThreeAndFour + */ + public function testIsInactive($version) { + $this->_apiversion = $version; + $this->callAPISuccess('StatusPreference', 'create', [ + 'name' => 'checkDefaultMailbox', + 'is_active' => 0, + ]); + $result = $this->callAPISuccess('System', 'check', [])['values']; + foreach ($result as $check) { + if ($check['name'] === 'checkDefaultMailbox') { + $this->fail('Check should have been skipped'); + } + } + } + /** * Items hushed through tomorrow shouldn't show up. + * * @param int $version + * * @dataProvider versionThreeAndFour + * @throws \Exception */ public function testSystemCheckHushFuture($version) { $this->_apiversion = $version; @@ -103,7 +127,7 @@ class api_v3_SystemCheckTest extends CiviUnitTestCase { $statusPreference = $this->callAPISuccess('StatusPreference', 'create', $this->_params); $result = $this->callAPISuccess('System', 'check', []); foreach ($result['values'] as $check) { - if ($check['name'] == 'checkDefaultMailbox') { + if ($check['name'] === 'checkDefaultMailbox') { $testedCheck = $check; break; } diff --git a/tests/phpunit/api/v4/Action/BaseCustomValueTest.php b/tests/phpunit/api/v4/Action/BaseCustomValueTest.php new file mode 100644 index 0000000000..e75acdc265 --- /dev/null +++ b/tests/phpunit/api/v4/Action/BaseCustomValueTest.php @@ -0,0 +1,66 @@ +setUpOptionCleanup(); + $cleanup_params = [ + 'tablesToTruncate' => [ + 'civicrm_custom_group', + 'civicrm_custom_field', + ], + ]; + + $this->dropByPrefix('civicrm_value_mycontact'); + $this->cleanup($cleanup_params); + } + +} diff --git a/tests/phpunit/api/v4/Action/BasicActionsTest.php b/tests/phpunit/api/v4/Action/BasicActionsTest.php new file mode 100644 index 0000000000..0f546d8eca --- /dev/null +++ b/tests/phpunit/api/v4/Action/BasicActionsTest.php @@ -0,0 +1,218 @@ +addWhere('id', '>', 0)->execute(); + + $id1 = MockBasicEntity::create()->addValue('foo', 'one')->execute()->first()['id']; + + $result = MockBasicEntity::get()->execute(); + $this->assertCount(1, $result); + + $id2 = MockBasicEntity::create()->addValue('foo', 'two')->execute()->first()['id']; + + $result = MockBasicEntity::get()->selectRowCount()->execute(); + $this->assertEquals(2, $result->count()); + + MockBasicEntity::update()->addWhere('id', '=', $id2)->addValue('foo', 'new')->execute(); + + $result = MockBasicEntity::get()->addOrderBy('id', 'DESC')->setLimit(1)->execute(); + $this->assertCount(1, $result); + $this->assertEquals('new', $result->first()['foo']); + + $result = MockBasicEntity::save() + ->addRecord(['id' => $id1, 'foo' => 'one updated']) + ->addRecord(['id' => $id2]) + ->addRecord(['foo' => 'three']) + ->addDefault('color', 'pink') + ->setReload(TRUE) + ->execute() + ->indexBy('id'); + + $this->assertEquals('new', $result[$id2]['foo']); + $this->assertEquals('three', $result->last()['foo']); + $this->assertCount(3, $result); + foreach ($result as $item) { + $this->assertEquals('pink', $item['color']); + } + + $this->assertEquals('one updated', MockBasicEntity::get()->addWhere('id', '=', $id1)->execute()->first()['foo']); + + MockBasicEntity::delete()->addWhere('id', '=', $id2); + $result = MockBasicEntity::get()->execute(); + $this->assertEquals('one updated', $result->first()['foo']); + } + + public function testReplace() { + MockBasicEntity::delete()->addWhere('id', '>', 0)->execute(); + + $objects = [ + ['group' => 'one', 'color' => 'red'], + ['group' => 'one', 'color' => 'blue'], + ['group' => 'one', 'color' => 'green'], + ['group' => 'two', 'color' => 'orange'], + ]; + + foreach ($objects as &$object) { + $object['id'] = MockBasicEntity::create()->setValues($object)->execute()->first()['id']; + } + + // Keep red, change blue, delete green, and add yellow + $replacements = [ + ['color' => 'red', 'id' => $objects[0]['id']], + ['color' => 'not blue', 'id' => $objects[1]['id']], + ['color' => 'yellow'], + ]; + + MockBasicEntity::replace()->addWhere('group', '=', 'one')->setRecords($replacements)->execute(); + + $newObjects = MockBasicEntity::get()->addOrderBy('id', 'DESC')->execute()->indexBy('id'); + + $this->assertCount(4, $newObjects); + + $this->assertEquals('yellow', $newObjects->first()['color']); + + $this->assertEquals('not blue', $newObjects[$objects[1]['id']]['color']); + + // Ensure group two hasn't been altered + $this->assertEquals('orange', $newObjects[$objects[3]['id']]['color']); + $this->assertEquals('two', $newObjects[$objects[3]['id']]['group']); + } + + public function testBatchFrobnicate() { + MockBasicEntity::delete()->addWhere('id', '>', 0)->execute(); + + $objects = [ + ['group' => 'one', 'color' => 'red', 'number' => 10], + ['group' => 'one', 'color' => 'blue', 'number' => 20], + ['group' => 'one', 'color' => 'green', 'number' => 30], + ['group' => 'two', 'color' => 'blue', 'number' => 40], + ]; + foreach ($objects as &$object) { + $object['id'] = MockBasicEntity::create()->setValues($object)->execute()->first()['id']; + } + + $result = MockBasicEntity::batchFrobnicate()->addWhere('color', '=', 'blue')->execute(); + $this->assertEquals(2, count($result)); + $this->assertEquals([400, 1600], \CRM_Utils_Array::collect('frobnication', (array) $result)); + } + + public function testGetFields() { + $getFields = MockBasicEntity::getFields()->execute()->indexBy('name'); + + $this->assertCount(6, $getFields); + $this->assertEquals('Id', $getFields['id']['title']); + // Ensure default data type is "String" when not specified + $this->assertEquals('String', $getFields['color']['data_type']); + + // Getfields should default to loadOptions = false and reduce them to bool + $this->assertTrue($getFields['group']['options']); + $this->assertFalse($getFields['id']['options']); + + // Now load options + $getFields = MockBasicEntity::getFields() + ->addWhere('name', '=', 'group') + ->setLoadOptions(TRUE) + ->execute()->indexBy('name'); + + $this->assertCount(1, $getFields); + $this->assertArrayHasKey('one', $getFields['group']['options']); + } + + public function testItemsToGet() { + $get = MockBasicEntity::get() + ->addWhere('color', 'NOT IN', ['yellow']) + ->addWhere('color', 'IN', ['red', 'blue']) + ->addWhere('color', '!=', 'green') + ->addWhere('group', '=', 'one') + ->addWhere('size', 'LIKE', 'big') + ->addWhere('shape', 'LIKE', '%a'); + + $itemsToGet = new \ReflectionMethod($get, '_itemsToGet'); + $itemsToGet->setAccessible(TRUE); + + $this->assertEquals(['red', 'blue'], $itemsToGet->invoke($get, 'color')); + $this->assertEquals(['one'], $itemsToGet->invoke($get, 'group')); + $this->assertEquals(['big'], $itemsToGet->invoke($get, 'size')); + $this->assertEmpty($itemsToGet->invoke($get, 'shape')); + $this->assertEmpty($itemsToGet->invoke($get, 'weight')); + } + + public function testFieldsToGet() { + $get = MockBasicEntity::get() + ->addWhere('color', '!=', 'green'); + + $isFieldSelected = new \ReflectionMethod($get, '_isFieldSelected'); + $isFieldSelected->setAccessible(TRUE); + + // If no "select" is set, should always return true + $this->assertTrue($isFieldSelected->invoke($get, 'color')); + $this->assertTrue($isFieldSelected->invoke($get, 'shape')); + $this->assertTrue($isFieldSelected->invoke($get, 'size')); + + // With a non-empty "select" fieldsToSelect() will return fields needed to evaluate each clause. + $get->addSelect('id'); + $this->assertTrue($isFieldSelected->invoke($get, 'color')); + $this->assertTrue($isFieldSelected->invoke($get, 'id')); + $this->assertFalse($isFieldSelected->invoke($get, 'shape')); + $this->assertFalse($isFieldSelected->invoke($get, 'size')); + $this->assertFalse($isFieldSelected->invoke($get, 'weight')); + $this->assertFalse($isFieldSelected->invoke($get, 'group')); + + $get->addClause('OR', ['shape', '=', 'round'], ['AND', [['size', '=', 'big'], ['weight', '!=', 'small']]]); + $this->assertTrue($isFieldSelected->invoke($get, 'color')); + $this->assertTrue($isFieldSelected->invoke($get, 'id')); + $this->assertTrue($isFieldSelected->invoke($get, 'shape')); + $this->assertTrue($isFieldSelected->invoke($get, 'size')); + $this->assertTrue($isFieldSelected->invoke($get, 'weight')); + $this->assertFalse($isFieldSelected->invoke($get, 'group')); + + $get->addOrderBy('group'); + $this->assertTrue($isFieldSelected->invoke($get, 'group')); + } + +} diff --git a/tests/phpunit/api/v4/Action/BasicCustomFieldTest.php b/tests/phpunit/api/v4/Action/BasicCustomFieldTest.php new file mode 100644 index 0000000000..7542c10598 --- /dev/null +++ b/tests/phpunit/api/v4/Action/BasicCustomFieldTest.php @@ -0,0 +1,215 @@ +setCheckPermissions(FALSE) + ->addValue('name', 'MyContactFields') + ->addValue('extends', 'Contact') + ->execute() + ->first(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'FavColor') + ->addValue('custom_group_id', $customGroup['id']) + ->addValue('html_type', 'Text') + ->addValue('data_type', 'String') + ->execute(); + + $contactId = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Johann') + ->addValue('last_name', 'Tester') + ->addValue('contact_type', 'Individual') + ->addValue('MyContactFields.FavColor', 'Red') + ->execute() + ->first()['id']; + + $contact = Contact::get() + ->setCheckPermissions(FALSE) + ->addSelect('first_name') + ->addSelect('MyContactFields.FavColor') + ->addWhere('id', '=', $contactId) + ->addWhere('MyContactFields.FavColor', '=', 'Red') + ->execute() + ->first(); + + $this->assertEquals('Red', $contact['MyContactFields.FavColor']); + + Contact::update() + ->addWhere('id', '=', $contactId) + ->addValue('MyContactFields.FavColor', 'Blue') + ->execute(); + + $contact = Contact::get() + ->setCheckPermissions(FALSE) + ->addSelect('MyContactFields.FavColor') + ->addWhere('id', '=', $contactId) + ->execute() + ->first(); + + $this->assertEquals('Blue', $contact['MyContactFields.FavColor']); + } + + public function testWithTwoFields() { + + $customGroup = CustomGroup::create() + ->setCheckPermissions(FALSE) + ->addValue('name', 'MyContactFields') + ->addValue('extends', 'Contact') + ->execute() + ->first(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'FavColor') + ->addValue('custom_group_id', $customGroup['id']) + ->addValue('html_type', 'Text') + ->addValue('data_type', 'String') + ->execute(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'FavFood') + ->addValue('custom_group_id', $customGroup['id']) + ->addValue('html_type', 'Text') + ->addValue('data_type', 'String') + ->execute(); + + $contactId1 = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Johann') + ->addValue('last_name', 'Tester') + ->addValue('MyContactFields.FavColor', 'Red') + ->addValue('MyContactFields.FavFood', 'Cherry') + ->execute() + ->first()['id']; + + $contactId2 = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'MaryLou') + ->addValue('last_name', 'Tester') + ->addValue('MyContactFields.FavColor', 'Purple') + ->addValue('MyContactFields.FavFood', 'Grapes') + ->execute() + ->first()['id']; + + $contact = Contact::get() + ->setCheckPermissions(FALSE) + ->addSelect('first_name') + ->addSelect('MyContactFields.FavColor') + ->addSelect('MyContactFields.FavFood') + ->addWhere('id', '=', $contactId1) + ->addWhere('MyContactFields.FavColor', '=', 'Red') + ->addWhere('MyContactFields.FavFood', '=', 'Cherry') + ->execute() + ->first(); + + $this->assertArrayHasKey('MyContactFields.FavColor', $contact); + $this->assertEquals('Red', $contact['MyContactFields.FavColor']); + + Contact::update() + ->addWhere('id', '=', $contactId1) + ->addValue('MyContactFields.FavColor', 'Blue') + ->execute(); + + $contact = Contact::get() + ->setCheckPermissions(FALSE) + ->addSelect('MyContactFields.FavColor') + ->addWhere('id', '=', $contactId1) + ->execute() + ->first(); + + $this->assertEquals('Blue', $contact['MyContactFields.FavColor']); + + $search = Contact::get() + ->setCheckPermissions(FALSE) + ->addClause('OR', ['MyContactFields.FavColor', '=', 'Blue'], ['MyContactFields.FavFood', '=', 'Grapes']) + ->addSelect('id') + ->addOrderBy('id') + ->execute() + ->indexBy('id'); + + $this->assertEquals([$contactId1, $contactId2], array_keys((array) $search)); + + $search = Contact::get() + ->setCheckPermissions(FALSE) + ->addClause('NOT', ['MyContactFields.FavColor', '=', 'Purple'], ['MyContactFields.FavFood', '=', 'Grapes']) + ->addSelect('id') + ->addOrderBy('id') + ->execute() + ->indexBy('id'); + + $this->assertNotContains($contactId2, array_keys((array) $search)); + + $search = Contact::get() + ->setCheckPermissions(FALSE) + ->addClause('NOT', ['MyContactFields.FavColor', '=', 'Purple'], ['MyContactFields.FavFood', '=', 'Grapes']) + ->addSelect('id') + ->addOrderBy('id') + ->execute() + ->indexBy('id'); + + $this->assertContains($contactId1, array_keys((array) $search)); + $this->assertNotContains($contactId2, array_keys((array) $search)); + + $search = Contact::get() + ->setCheckPermissions(FALSE) + ->setWhere([['NOT', ['OR', [['MyContactFields.FavColor', '=', 'Blue'], ['MyContactFields.FavFood', '=', 'Grapes']]]]]) + ->addSelect('id') + ->addOrderBy('id') + ->execute() + ->indexBy('id'); + + $this->assertNotContains($contactId1, array_keys((array) $search)); + $this->assertNotContains($contactId2, array_keys((array) $search)); + } + +} diff --git a/tests/phpunit/api/v4/Action/ChainTest.php b/tests/phpunit/api/v4/Action/ChainTest.php new file mode 100644 index 0000000000..70b5c9dc91 --- /dev/null +++ b/tests/phpunit/api/v4/Action/ChainTest.php @@ -0,0 +1,88 @@ +addChain('fields', \Civi\Api4\Activity::getFields()->setAction('$name'), 'name') + ->execute() + ->indexBy('name'); + + $this->assertEquals('Array', $actions['getActions']['fields']['params']['data_type']); + } + + public function testGetEntityWithActions() { + $entities = \Civi\Api4\Entity::get() + ->addSelect('name') + ->setChain([ + 'actions' => ['$name', 'getActions', ['select' => ['name']], 'name'], + ]) + ->execute() + ->indexBy('name'); + + $this->assertArrayHasKey('replace', $entities['Contact']['actions']); + $this->assertArrayHasKey('getLinks', $entities['Entity']['actions']); + $this->assertArrayNotHasKey('replace', $entities['Entity']['actions']); + } + + public function testContactCreateWithGroup() { + $firstName = uniqid('cwtf'); + $lastName = uniqid('cwtl'); + + $contact = \Civi\Api4\Contact::create() + ->addValue('first_name', $firstName) + ->addValue('last_name', $lastName) + ->addChain('group', \Civi\Api4\Group::create()->addValue('title', '$display_name'), 0) + ->addChain('add_to_group', \Civi\Api4\GroupContact::create()->addValue('contact_id', '$id')->addValue('group_id', '$group.id'), 0) + ->addChain('check_group', \Civi\Api4\GroupContact::get()->addWhere('group_id', '=', '$group.id')) + ->execute() + ->first(); + + $this->assertCount(1, $contact['check_group']); + $this->assertEquals($contact['id'], $contact['check_group'][0]['contact_id']); + $this->assertEquals($contact['group']['id'], $contact['check_group'][0]['group_id']); + } + +} diff --git a/tests/phpunit/api/v4/Action/ComplexQueryTest.php b/tests/phpunit/api/v4/Action/ComplexQueryTest.php new file mode 100644 index 0000000000..0f69cd233a --- /dev/null +++ b/tests/phpunit/api/v4/Action/ComplexQueryTest.php @@ -0,0 +1,122 @@ +cleanup(['tablesToTruncate' => $relatedTables]); + $this->loadDataSet('DefaultDataSet'); + + return parent::setUpHeadless(); + } + + /** + * Fetch all phone call activities + * Expects at least one activity loaded from the data set. + */ + public function testGetAllHousingSupportActivities() { + $results = Activity::get() + ->setCheckPermissions(FALSE) + ->addWhere('activity_type.name', '=', 'Phone Call') + ->execute(); + + $this->assertGreaterThan(0, count($results)); + } + + /** + * Fetch all activities with a blue tag; and return all tags on the activities + */ + public function testGetAllTagsForBlueTaggedActivities() { + + } + + /** + * Fetch contacts named 'Bob' and all of their blue activities + */ + public function testGetAllBlueActivitiesForBobs() { + + } + + /** + * Get all contacts in a zipcode and return their Home or Work email addresses + */ + public function testGetHomeOrWorkEmailsForContactsWithZipcode() { + + } + + /** + * Fetch all activities where Bob is the assignee or source + */ + public function testGetActivitiesWithBobAsAssigneeOrSource() { + + } + + /** + * Get all contacts which + * (a) have address in zipcode 94117 or 94118 or in city "San Francisco","LA" + * and + * (b) are not deceased and + * (c) have a custom-field "most_important_issue=Environment". + */ + public function testAWholeLotOfConditions() { + + } + + /** + * Get participants who attended CiviCon 2012 but not CiviCon 2013. + * Return their name and email. + */ + public function testGettingNameAndEmailOfAttendeesOfCiviCon2012Only() { + + } + +} diff --git a/tests/phpunit/api/v4/Action/ContactApiKeyTest.php b/tests/phpunit/api/v4/Action/ContactApiKeyTest.php new file mode 100644 index 0000000000..a894fc106b --- /dev/null +++ b/tests/phpunit/api/v4/Action/ContactApiKeyTest.php @@ -0,0 +1,245 @@ +userPermissionClass->permissions = ['access CiviCRM', 'add contacts', 'edit api keys', 'view all contacts', 'edit all contacts']; + $key = uniqid(); + + $contact = Contact::create() + ->addValue('first_name', 'Api') + ->addValue('last_name', 'Key0') + ->addValue('api_key', $key) + ->addChain('email', Email::create() + ->addValue('contact_id', '$id') + ->addValue('email', 'test@key.get'), + 0 + ) + ->execute() + ->first(); + + // With sufficient permission we should see the key + $result = Contact::get() + ->addWhere('id', '=', $contact['id']) + ->addSelect('api_key') + ->execute() + ->first(); + $this->assertEquals($key, $result['api_key']); + + // Can also be fetched via join + $email = Email::get() + ->addSelect('contact.api_key') + ->addWhere('id', '=', $contact['email']['id']) + ->execute()->first(); + $this->assertEquals($key, $email['contact.api_key']); + + // Remove permission and we should not see the key + \CRM_Core_Config::singleton()->userPermissionClass->permissions = ['access CiviCRM']; + $result = Contact::get() + ->addWhere('id', '=', $contact['id']) + ->addSelect('api_key') + ->execute() + ->first(); + $this->assertTrue(empty($result['api_key'])); + + // Also not available via join + $email = Email::get() + ->addSelect('contact.api_key') + ->addWhere('id', '=', $contact['email']['id']) + ->execute()->first(); + $this->assertTrue(empty($email['contact.api_key'])); + + $result = Contact::get() + ->addWhere('id', '=', $contact['id']) + ->execute() + ->first(); + $this->assertTrue(empty($result['api_key'])); + } + + public function testCreateWithInsufficientPermissions() { + \CRM_Core_Config::singleton()->userPermissionClass->permissions = ['access CiviCRM', 'add contacts']; + $key = uniqid(); + + $error = ''; + try { + Contact::create() + ->addValue('first_name', 'Api') + ->addValue('last_name', 'Key1') + ->addValue('api_key', $key) + ->execute() + ->first(); + } + catch (\Exception $e) { + $error = $e->getMessage(); + } + $this->assertContains('key', $error); + } + + public function testUpdateApiKey() { + \CRM_Core_Config::singleton()->userPermissionClass->permissions = ['access CiviCRM', 'edit all contacts']; + $key = uniqid(); + + $contact = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Api') + ->addValue('last_name', 'Key2') + ->addValue('api_key', $key) + ->execute() + ->first(); + + $error = ''; + try { + // Try to update the key without permissions; nothing should happen + Contact::update() + ->addWhere('id', '=', $contact['id']) + ->addValue('api_key', "NotAllowed") + ->execute(); + } + catch (\Exception $e) { + $error = $e->getMessage(); + } + + $result = Contact::get() + ->setCheckPermissions(FALSE) + ->addWhere('id', '=', $contact['id']) + ->addSelect('api_key') + ->execute() + ->first(); + + $this->assertContains('key', $error); + + // Assert key is still the same + $this->assertEquals($result['api_key'], $key); + + // Now we can update the key + \CRM_Core_Config::singleton()->userPermissionClass->permissions = ['access CiviCRM', 'administer CiviCRM', 'edit all contacts']; + + Contact::update() + ->addWhere('id', '=', $contact['id']) + ->addValue('api_key', "IGotThePower!") + ->execute(); + + $result = Contact::get() + ->addWhere('id', '=', $contact['id']) + ->addSelect('api_key') + ->execute() + ->first(); + + // Assert key was updated + $this->assertEquals($result['api_key'], "IGotThePower!"); + } + + public function testUpdateOwnApiKey() { + \CRM_Core_Config::singleton()->userPermissionClass->permissions = ['access CiviCRM', 'edit own api keys', 'edit all contacts']; + $key = uniqid(); + + $contact = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Api') + ->addValue('last_name', 'Key3') + ->addValue('api_key', $key) + ->execute() + ->first(); + + $error = ''; + try { + // Try to update the key without permissions; nothing should happen + Contact::update() + ->addWhere('id', '=', $contact['id']) + ->addValue('api_key', "NotAllowed") + ->execute(); + } + catch (\Exception $e) { + $error = $e->getMessage(); + } + + $this->assertContains('key', $error); + + $result = Contact::get() + ->setCheckPermissions(FALSE) + ->addWhere('id', '=', $contact['id']) + ->addSelect('api_key') + ->execute() + ->first(); + + // Assert key is still the same + $this->assertEquals($result['api_key'], $key); + + // Now we can update the key + \CRM_Core_Session::singleton()->set('userID', $contact['id']); + + Contact::update() + ->addWhere('id', '=', $contact['id']) + ->addValue('api_key', "MyId!") + ->execute(); + + $result = Contact::get() + ->setCheckPermissions(FALSE) + ->addWhere('id', '=', $contact['id']) + ->addSelect('api_key') + ->execute() + ->first(); + + // Assert key was updated + $this->assertEquals($result['api_key'], "MyId!"); + } + + public function testApiKeyWithGetFields() { + // With sufficient permissions the field should exist + \CRM_Core_Config::singleton()->userPermissionClass->permissions = ['access CiviCRM', 'edit api keys']; + $this->assertArrayHasKey('api_key', \civicrm_api4('Contact', 'getFields', [], 'name')); + \CRM_Core_Config::singleton()->userPermissionClass->permissions = ['access CiviCRM', 'administer CiviCRM']; + $this->assertArrayHasKey('api_key', \civicrm_api4('Contact', 'getFields', [], 'name')); + + // Field hidden from non-privileged users... + \CRM_Core_Config::singleton()->userPermissionClass->permissions = ['access CiviCRM', 'edit own api keys']; + $this->assertArrayNotHasKey('api_key', \civicrm_api4('Contact', 'getFields', [], 'name')); + + // ...unless you disable 'checkPermissions' + $this->assertArrayHasKey('api_key', \civicrm_api4('Contact', 'getFields', ['checkPermissions' => FALSE], 'name')); + } + +} diff --git a/tests/phpunit/api/v4/Action/ContactChecksumTest.php b/tests/phpunit/api/v4/Action/ContactChecksumTest.php new file mode 100644 index 0000000000..c47f92dc18 --- /dev/null +++ b/tests/phpunit/api/v4/Action/ContactChecksumTest.php @@ -0,0 +1,91 @@ +setCheckPermissions(FALSE) + ->addValue('first_name', 'Check') + ->addValue('last_name', 'Sum') + ->addChain('cs', Contact::getChecksum()->setContactId('$id')->setTtl(500), 0) + ->execute() + ->first(); + + $result = Contact::validateChecksum() + ->setContactId($contact['id']) + ->setChecksum($contact['cs']['checksum']) + ->execute() + ->first(); + + $this->assertTrue($result['valid']); + } + + public function testValidateChecksum() { + $cid = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Checker') + ->addValue('last_name', 'Sum') + ->execute() + ->first()['id']; + + $goodCs = \CRM_Contact_BAO_Contact_Utils::generateChecksum($cid, NULL, 500); + $badCs = \CRM_Contact_BAO_Contact_Utils::generateChecksum($cid, strtotime('now - 1 week'), 1); + + $result1 = Contact::validateChecksum() + ->setContactId($cid) + ->setChecksum($goodCs) + ->execute() + ->first(); + $this->assertTrue($result1['valid']); + + $result2 = Contact::validateChecksum() + ->setContactId($cid) + ->setChecksum($badCs) + ->execute() + ->first(); + $this->assertFalse($result2['valid']); + } + +} diff --git a/tests/phpunit/api/v4/Action/ContactGetTest.php b/tests/phpunit/api/v4/Action/ContactGetTest.php new file mode 100644 index 0000000000..abdd077614 --- /dev/null +++ b/tests/phpunit/api/v4/Action/ContactGetTest.php @@ -0,0 +1,77 @@ +setValues(['first_name' => 'Bob', 'last_name' => $last_name]) + ->execute()->first(); + + $jan = Contact::create() + ->setValues(['first_name' => 'Jan', 'last_name' => $last_name]) + ->execute()->first(); + + $del = Contact::create() + ->setValues(['first_name' => 'Del', 'last_name' => $last_name, 'is_deleted' => 1]) + ->execute()->first(); + + // Deleted contacts are not fetched by default + $this->assertCount(2, Contact::get()->addWhere('last_name', '=', $last_name)->selectRowCount()->execute()); + + // You can search for them specifically + $contacts = Contact::get()->addWhere('last_name', '=', $last_name)->addWhere('is_deleted', '=', 1)->addSelect('id')->execute(); + $this->assertEquals($del['id'], $contacts->first()['id']); + + // Or by id + $this->assertCount(3, Contact::get()->addWhere('id', 'IN', [$bob['id'], $jan['id'], $del['id']])->selectRowCount()->execute()); + + // Putting is_deleted anywhere in the where clause will disable the default + $contacts = Contact::get()->addClause('OR', ['last_name', '=', $last_name], ['is_deleted', '=', 0])->addSelect('id')->execute(); + $this->assertContains($del['id'], $contacts->column('id')); + } + +} diff --git a/tests/phpunit/api/v4/Action/CreateCustomValueTest.php b/tests/phpunit/api/v4/Action/CreateCustomValueTest.php new file mode 100644 index 0000000000..d36742a31d --- /dev/null +++ b/tests/phpunit/api/v4/Action/CreateCustomValueTest.php @@ -0,0 +1,99 @@ + 'Red', 'g' => 'Green', 'b' => 'Blue']; + + $customGroup = CustomGroup::create() + ->setCheckPermissions(FALSE) + ->addValue('name', 'MyContactFields') + ->addValue('extends', 'Contact') + ->execute() + ->first(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'Color') + ->addValue('option_values', $optionValues) + ->addValue('custom_group_id', $customGroup['id']) + ->addValue('html_type', 'Select') + ->addValue('data_type', 'String') + ->execute(); + + $customField = CustomField::get() + ->setCheckPermissions(FALSE) + ->addWhere('label', '=', 'Color') + ->execute() + ->first(); + + $this->assertNotNull($customField['option_group_id']); + $optionGroupId = $customField['option_group_id']; + + $optionGroup = OptionGroup::get() + ->setCheckPermissions(FALSE) + ->addWhere('id', '=', $optionGroupId) + ->execute() + ->first(); + + $this->assertEquals('Color', $optionGroup['title']); + + $createdOptionValues = OptionValue::get() + ->setCheckPermissions(FALSE) + ->addWhere('option_group_id', '=', $optionGroupId) + ->execute() + ->getArrayCopy(); + + $values = array_column($createdOptionValues, 'value'); + $labels = array_column($createdOptionValues, 'label'); + $createdOptionValues = array_combine($values, $labels); + + $this->assertEquals($optionValues, $createdOptionValues); + } + +} diff --git a/tests/phpunit/api/v4/Action/CreateWithOptionGroupTest.php b/tests/phpunit/api/v4/Action/CreateWithOptionGroupTest.php new file mode 100644 index 0000000000..3b860ec705 --- /dev/null +++ b/tests/phpunit/api/v4/Action/CreateWithOptionGroupTest.php @@ -0,0 +1,220 @@ +dropByPrefix('civicrm_value_financial'); + $this->dropByPrefix('civicrm_value_favorite'); + parent::setUp(); + } + + public function testGetWithCustomData() { + $group = uniqid('fava'); + $colorField = uniqid('colora'); + $foodField = uniqid('fooda'); + + $customGroupId = CustomGroup::create() + ->setCheckPermissions(FALSE) + ->addValue('name', $group) + ->addValue('extends', 'Contact') + ->execute() + ->first()['id']; + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', $colorField) + ->addValue('name', $colorField) + ->addValue('option_values', ['r' => 'Red', 'g' => 'Green', 'b' => 'Blue']) + ->addValue('custom_group_id', $customGroupId) + ->addValue('html_type', 'Select') + ->addValue('data_type', 'String') + ->execute(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', $foodField) + ->addValue('name', $foodField) + ->addValue('option_values', ['1' => 'Corn', '2' => 'Potatoes', '3' => 'Cheese']) + ->addValue('custom_group_id', $customGroupId) + ->addValue('html_type', 'Select') + ->addValue('data_type', 'String') + ->execute(); + + $customGroupId = CustomGroup::create() + ->setCheckPermissions(FALSE) + ->addValue('name', 'FinancialStuff') + ->addValue('extends', 'Contact') + ->execute() + ->first()['id']; + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'Salary') + ->addValue('custom_group_id', $customGroupId) + ->addValue('html_type', 'Number') + ->addValue('data_type', 'Money') + ->execute(); + + Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Jerome') + ->addValue('last_name', 'Tester') + ->addValue('contact_type', 'Individual') + ->addValue("$group.$colorField", 'r') + ->addValue("$group.$foodField", '1') + ->addValue('FinancialStuff.Salary', 50000) + ->execute(); + + $result = Contact::get() + ->setCheckPermissions(FALSE) + ->addSelect('first_name') + ->addSelect("$group.$colorField.label") + ->addSelect("$group.$foodField.label") + ->addSelect('FinancialStuff.Salary') + ->addWhere("$group.$foodField.label", 'IN', ['Corn', 'Potatoes']) + ->addWhere('FinancialStuff.Salary', '>', '10000') + ->execute() + ->first(); + + $this->assertEquals('Red', $result["$group.$colorField.label"]); + $this->assertEquals('Corn', $result["$group.$foodField.label"]); + $this->assertEquals(50000, $result['FinancialStuff.Salary']); + } + + public function testWithCustomDataForMultipleContacts() { + $group = uniqid('favb'); + $colorField = uniqid('colorb'); + $foodField = uniqid('foodb'); + + $customGroupId = CustomGroup::create() + ->setCheckPermissions(FALSE) + ->addValue('name', $group) + ->addValue('extends', 'Contact') + ->execute() + ->first()['id']; + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', $colorField) + ->addValue('name', $colorField) + ->addValue('option_values', ['r' => 'Red', 'g' => 'Green', 'b' => 'Blue']) + ->addValue('custom_group_id', $customGroupId) + ->addValue('html_type', 'Select') + ->addValue('data_type', 'String') + ->execute(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', $foodField) + ->addValue('name', $foodField) + ->addValue('option_values', ['1' => 'Corn', '2' => 'Potatoes', '3' => 'Cheese']) + ->addValue('custom_group_id', $customGroupId) + ->addValue('html_type', 'Select') + ->addValue('data_type', 'String') + ->execute(); + + $customGroupId = CustomGroup::create() + ->setCheckPermissions(FALSE) + ->addValue('name', 'FinancialStuff') + ->addValue('extends', 'Contact') + ->execute() + ->first()['id']; + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'Salary') + ->addValue('custom_group_id', $customGroupId) + ->addValue('html_type', 'Number') + ->addValue('data_type', 'Money') + ->execute(); + + Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Red') + ->addValue('last_name', 'Corn') + ->addValue('contact_type', 'Individual') + ->addValue("$group.$colorField", 'r') + ->addValue("$group.$foodField", '1') + ->addValue('FinancialStuff.Salary', 10000) + ->execute(); + + Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Blue') + ->addValue('last_name', 'Cheese') + ->addValue('contact_type', 'Individual') + ->addValue("$group.$colorField", 'b') + ->addValue("$group.$foodField", '3') + ->addValue('FinancialStuff.Salary', 500000) + ->execute(); + + $result = Contact::get() + ->setCheckPermissions(FALSE) + ->addSelect('first_name') + ->addSelect('last_name') + ->addSelect("$group.$colorField.label") + ->addSelect("$group.$foodField.label") + ->addSelect('FinancialStuff.Salary') + ->addWhere("$group.$foodField.label", 'IN', ['Corn', 'Cheese']) + ->execute(); + + $blueCheese = NULL; + foreach ($result as $contact) { + if ($contact['first_name'] === 'Blue') { + $blueCheese = $contact; + } + } + + $this->assertEquals('Blue', $blueCheese["$group.$colorField.label"]); + $this->assertEquals('Cheese', $blueCheese["$group.$foodField.label"]); + $this->assertEquals(500000, $blueCheese['FinancialStuff.Salary']); + } + +} diff --git a/tests/phpunit/api/v4/Action/CurrentFilterTest.php b/tests/phpunit/api/v4/Action/CurrentFilterTest.php new file mode 100644 index 0000000000..0dcaf49d04 --- /dev/null +++ b/tests/phpunit/api/v4/Action/CurrentFilterTest.php @@ -0,0 +1,106 @@ +addValue('first_name', 'Bob1')->execute()->first()['id']; + $cid2 = Contact::create()->addValue('first_name', 'Bob2')->execute()->first()['id']; + + $current = Relationship::create()->setValues([ + 'relationship_type_id' => 1, + 'contact_id_a' => $cid1, + 'contact_id_b' => $cid2, + 'end_date' => 'now + 1 week', + ])->execute()->first(); + $indefinite = Relationship::create()->setValues([ + 'relationship_type_id' => 2, + 'contact_id_a' => $cid1, + 'contact_id_b' => $cid2, + ])->execute()->first(); + $expiring = Relationship::create()->setValues([ + 'relationship_type_id' => 3, + 'contact_id_a' => $cid1, + 'contact_id_b' => $cid2, + 'end_date' => 'now', + ])->execute()->first(); + $past = Relationship::create()->setValues([ + 'relationship_type_id' => 3, + 'contact_id_a' => $cid1, + 'contact_id_b' => $cid2, + 'end_date' => 'now - 1 week', + ])->execute()->first(); + $inactive = Relationship::create()->setValues([ + 'relationship_type_id' => 4, + 'contact_id_a' => $cid1, + 'contact_id_b' => $cid2, + 'is_active' => 0, + ])->execute()->first(); + + $getCurrent = (array) Relationship::get()->setCurrent(TRUE)->execute()->indexBy('id'); + $notCurrent = (array) Relationship::get()->setCurrent(FALSE)->execute()->indexBy('id'); + $getAll = (array) Relationship::get()->execute()->indexBy('id'); + + $this->assertArrayHasKey($current['id'], $getAll); + $this->assertArrayHasKey($indefinite['id'], $getAll); + $this->assertArrayHasKey($expiring['id'], $getAll); + $this->assertArrayHasKey($past['id'], $getAll); + $this->assertArrayHasKey($inactive['id'], $getAll); + + $this->assertArrayHasKey($current['id'], $getCurrent); + $this->assertArrayHasKey($indefinite['id'], $getCurrent); + $this->assertArrayHasKey($expiring['id'], $getCurrent); + $this->assertArrayNotHasKey($past['id'], $getCurrent); + $this->assertArrayNotHasKey($inactive['id'], $getCurrent); + + $this->assertArrayNotHasKey($current['id'], $notCurrent); + $this->assertArrayNotHasKey($indefinite['id'], $notCurrent); + $this->assertArrayNotHasKey($expiring['id'], $notCurrent); + $this->assertArrayHasKey($past['id'], $notCurrent); + $this->assertArrayHasKey($inactive['id'], $notCurrent); + } + +} diff --git a/tests/phpunit/api/v4/Action/CustomValuePerformanceTest.php b/tests/phpunit/api/v4/Action/CustomValuePerformanceTest.php new file mode 100644 index 0000000000..8a15b02f02 --- /dev/null +++ b/tests/phpunit/api/v4/Action/CustomValuePerformanceTest.php @@ -0,0 +1,130 @@ +markTestIncomplete(); + + $customGroupId = CustomGroup::create() + ->setCheckPermissions(FALSE) + ->addValue('name', 'MyContactFields') + ->addValue('title', 'MyContactFields') + ->addValue('extends', 'Contact') + ->execute() + ->first()['id']; + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'FavColor') + ->addValue('custom_group_id', $customGroupId) + ->addValue('options', ['r' => 'Red', 'g' => 'Green', 'b' => 'Blue']) + ->addValue('html_type', 'Select') + ->addValue('data_type', 'String') + ->execute(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'FavAnimal') + ->addValue('custom_group_id', $customGroupId) + ->addValue('html_type', 'Text') + ->addValue('data_type', 'String') + ->execute(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'FavLetter') + ->addValue('custom_group_id', $customGroupId) + ->addValue('html_type', 'Text') + ->addValue('data_type', 'String') + ->execute(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'FavFood') + ->addValue('custom_group_id', $customGroupId) + ->addValue('html_type', 'Text') + ->addValue('data_type', 'String') + ->execute(); + + $this->beginQueryCount(); + + Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Red') + ->addValue('last_name', 'Tester') + ->addValue('contact_type', 'Individual') + ->addValue('MyContactFields.FavColor', 'r') + ->addValue('MyContactFields.FavAnimal', 'Sheep') + ->addValue('MyContactFields.FavLetter', 'z') + ->addValue('MyContactFields.FavFood', 'Coconuts') + ->execute(); + + Contact::get() + ->setCheckPermissions(FALSE) + ->addSelect('display_name') + ->addSelect('MyContactFields.FavColor.label') + ->addSelect('MyContactFields.FavColor.weight') + ->addSelect('MyContactFields.FavColor.is_default') + ->addSelect('MyContactFields.FavAnimal') + ->addSelect('MyContactFields.FavLetter') + ->addWhere('MyContactFields.FavColor', '=', 'r') + ->addWhere('MyContactFields.FavFood', '=', 'Coconuts') + ->addWhere('MyContactFields.FavAnimal', '=', 'Sheep') + ->addWhere('MyContactFields.FavLetter', '=', 'z') + ->execute() + ->first(); + + // FIXME: This count is artificially high due to the line + // $this->entity = Tables::getBriefName(Tables::getClassForTable($targetTable)); + // In class Joinable. TODO: Investigate why. + } + +} diff --git a/tests/phpunit/api/v4/Action/CustomValueTest.php b/tests/phpunit/api/v4/Action/CustomValueTest.php new file mode 100644 index 0000000000..f9e87e9d54 --- /dev/null +++ b/tests/phpunit/api/v4/Action/CustomValueTest.php @@ -0,0 +1,227 @@ + 'Red', 'g' => 'Green', 'b' => 'Blue']; + + $group = uniqid('groupc'); + $colorField = uniqid('colorc'); + $textField = uniqid('txt'); + + $customGroup = CustomGroup::create() + ->setCheckPermissions(FALSE) + ->addValue('name', $group) + ->addValue('extends', 'Contact') + ->addValue('is_multiple', TRUE) + ->execute() + ->first(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', $colorField) + ->addValue('options', $optionValues) + ->addValue('custom_group_id', $customGroup['id']) + ->addValue('html_type', 'Select') + ->addValue('data_type', 'String') + ->execute(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', $textField) + ->addValue('custom_group_id', $customGroup['id']) + ->addValue('html_type', 'Text') + ->addValue('data_type', 'String') + ->execute(); + + $this->contactID = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Johann') + ->addValue('last_name', 'Tester') + ->addValue('contact_type', 'Individual') + ->execute() + ->first()['id']; + + // Retrieve and check the fields of CustomValue = Custom_$group + $fields = CustomValue::getFields($group)->execute(); + $expectedResult = [ + [ + 'custom_field_id' => 1, + 'custom_group' => $group, + 'name' => $colorField, + 'title' => $colorField, + 'entity' => "Custom_$group", + 'data_type' => 'String', + 'fk_entity' => NULL, + ], + [ + 'custom_field_id' => 2, + 'custom_group' => $group, + 'name' => $textField, + 'title' => $textField, + 'entity' => "Custom_$group", + 'data_type' => 'String', + 'fk_entity' => NULL, + ], + [ + 'name' => 'id', + 'title' => ts('Custom Value ID'), + 'entity' => "Custom_$group", + 'data_type' => 'Integer', + 'fk_entity' => NULL, + ], + [ + 'name' => 'entity_id', + 'title' => ts('Entity ID'), + 'entity' => "Custom_$group", + 'data_type' => 'Integer', + 'fk_entity' => 'Contact', + ], + ]; + + foreach ($expectedResult as $key => $field) { + foreach ($field as $attr => $value) { + $this->assertEquals($expectedResult[$key][$attr], $fields[$key][$attr]); + } + } + + // CASE 1: Test CustomValue::create + // Create two records for a single contact and using CustomValue::get ensure that two records are created + CustomValue::create($group) + ->addValue($colorField, 'Green') + ->addValue("entity_id", $this->contactID) + ->execute(); + CustomValue::create($group) + ->addValue($colorField, 'Red') + ->addValue("entity_id", $this->contactID) + ->execute(); + // fetch custom values using API4 CustomValue::get + $result = CustomValue::get($group)->execute(); + + // check if two custom values are created + $this->assertEquals(2, count($result)); + $expectedResult = [ + [ + 'id' => 1, + $colorField => 'Green', + 'entity_id' => $this->contactID, + ], + [ + 'id' => 2, + $colorField => 'Red', + 'entity_id' => $this->contactID, + ], + ]; + // match the data + foreach ($expectedResult as $key => $field) { + foreach ($field as $attr => $value) { + $this->assertEquals($expectedResult[$key][$attr], $result[$key][$attr]); + } + } + + // CASE 2: Test CustomValue::update + // Update a records whose id is 1 and change the custom field (name = Color) value to 'White' from 'Green' + CustomValue::update($group) + ->addWhere("id", "=", 1) + ->addValue($colorField, 'White') + ->execute(); + + // ensure that the value is changed for id = 1 + $color = CustomValue::get($group) + ->addWhere("id", "=", 1) + ->execute() + ->first()[$colorField]; + $this->assertEquals('White', $color); + + // CASE 3: Test CustomValue::replace + // create a second contact which will be used to replace the custom values, created earlier + $secondContactID = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Adam') + ->addValue('last_name', 'Tester') + ->addValue('contact_type', 'Individual') + ->execute() + ->first()['id']; + // Replace all the records which was created earlier with entity_id = first contact + // with custom record [$colorField => 'Rainbow', 'entity_id' => $secondContactID] + CustomValue::replace($group) + ->setRecords([[$colorField => 'Rainbow', 'entity_id' => $secondContactID]]) + ->addWhere('entity_id', '=', $this->contactID) + ->execute(); + + // Check the two records created earlier is replaced by new contact + $result = CustomValue::get($group)->execute(); + $this->assertEquals(1, count($result)); + + $expectedResult = [ + [ + 'id' => 3, + $colorField => 'Rainbow', + 'entity_id' => $secondContactID, + ], + ]; + foreach ($expectedResult as $key => $field) { + foreach ($field as $attr => $value) { + $this->assertEquals($expectedResult[$key][$attr], $result[$key][$attr]); + } + } + + // CASE 4: Test CustomValue::delete + // There is only record left whose id = 3, delete that record on basis of criteria id = 3 + CustomValue::delete($group)->addWhere("id", "=", 3)->execute(); + $result = CustomValue::get($group)->execute(); + // check that there are no custom values present + $this->assertEquals(0, count($result)); + } + +} diff --git a/tests/phpunit/api/v4/Action/DateTest.php b/tests/phpunit/api/v4/Action/DateTest.php new file mode 100644 index 0000000000..a143068230 --- /dev/null +++ b/tests/phpunit/api/v4/Action/DateTest.php @@ -0,0 +1,81 @@ +addValue('first_name', 'c') + ->addValue('last_name', 'one') + ->execute() + ->first()['id']; + $c2 = Contact::create() + ->addValue('first_name', 'c') + ->addValue('last_name', 'two') + ->execute() + ->first()['id']; + $r = Relationship::create() + ->addValue('contact_id_a', $c1) + ->addValue('contact_id_b', $c2) + ->addValue('relationship_type_id', 1) + ->addValue('start_date', 'now') + ->addValue('end_date', 'now + 1 week') + ->execute() + ->first()['id']; + $result = Relationship::get() + ->addWhere('start_date', '=', 'now') + ->addWhere('end_date', '>', 'now + 1 day') + ->execute() + ->indexBy('id'); + $this->assertArrayHasKey($r, $result); + $result = Relationship::get() + ->addWhere('start_date', '<', 'now') + ->execute() + ->indexBy('id'); + $this->assertArrayNotHasKey($r, $result); + } + +} diff --git a/tests/phpunit/api/v4/Action/EvaluateConditionTest.php b/tests/phpunit/api/v4/Action/EvaluateConditionTest.php new file mode 100644 index 0000000000..acb0dc8502 --- /dev/null +++ b/tests/phpunit/api/v4/Action/EvaluateConditionTest.php @@ -0,0 +1,73 @@ +getMethod('evaluateCondition'); + $method->setAccessible(TRUE); + + $data = [ + 'nada' => 0, + 'uno' => 1, + 'dos' => 2, + 'apple' => 'red', + 'banana' => 'yellow', + 'values' => ['one' => 1, 'two' => 2, 'three' => 3], + ]; + + $this->assertFalse($method->invoke($action, '$uno > $dos', $data)); + $this->assertTrue($method->invoke($action, '$uno < $dos', $data)); + $this->assertTrue($method->invoke($action, '$apple == "red" && $banana != "red"', $data)); + $this->assertFalse($method->invoke($action, '$apple == "red" && $banana != "yellow"', $data)); + $this->assertTrue($method->invoke($action, '$values.one == $uno', $data)); + $this->assertTrue($method->invoke($action, '$values.one + $dos == $values.three', $data)); + $this->assertTrue($method->invoke($action, 'empty($nada)', $data)); + $this->assertFalse($method->invoke($action, 'empty($values)', $data)); + } + +} diff --git a/tests/phpunit/api/v4/Action/EventTest.php b/tests/phpunit/api/v4/Action/EventTest.php new file mode 100644 index 0000000000..052629c6f0 --- /dev/null +++ b/tests/phpunit/api/v4/Action/EventTest.php @@ -0,0 +1,53 @@ +setValues(['template_title' => 'Big Event', 'is_template' => 1, 'start_date' => 'now', 'event_type_id' => 'Meeting'])->execute(); + Event::create()->setValues(['title' => 'Bigger Event', 'start_date' => 'now', 'event_type_id' => 'Meeting'])->execute(); + $this->assertEquals(1, Event::get()->selectRowCount()->execute()->count()); + } + +} diff --git a/tests/phpunit/api/v4/Action/ExtendFromIndividualTest.php b/tests/phpunit/api/v4/Action/ExtendFromIndividualTest.php new file mode 100644 index 0000000000..cee9a65f04 --- /dev/null +++ b/tests/phpunit/api/v4/Action/ExtendFromIndividualTest.php @@ -0,0 +1,87 @@ +setCheckPermissions(FALSE) + ->addValue('name', 'MyContactFields') + // not Contact + ->addValue('extends', 'Individual') + ->execute() + ->first(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'FavColor') + ->addValue('custom_group_id', $customGroup['id']) + ->addValue('html_type', 'Text') + ->addValue('data_type', 'String') + ->execute(); + + $contactId = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Johann') + ->addValue('last_name', 'Tester') + ->addValue('contact_type', 'Individual') + ->addValue('MyContactFields.FavColor', 'Red') + ->execute() + ->first()['id']; + + $contact = Contact::get() + ->setCheckPermissions(FALSE) + ->addSelect('display_name') + ->addSelect('MyContactFields.FavColor') + ->addWhere('id', '=', $contactId) + ->execute() + ->first(); + + $this->assertEquals('Red', $contact['MyContactFields.FavColor']); + } + +} diff --git a/tests/phpunit/api/v4/Action/FkJoinTest.php b/tests/phpunit/api/v4/Action/FkJoinTest.php new file mode 100644 index 0000000000..3e4217a6de --- /dev/null +++ b/tests/phpunit/api/v4/Action/FkJoinTest.php @@ -0,0 +1,110 @@ +cleanup(['tablesToTruncate' => $relatedTables]); + $this->loadDataSet('DefaultDataSet'); + + return parent::setUpHeadless(); + } + + /** + * Fetch all phone call activities. Expects a single activity + * loaded from the data set. + */ + public function testThreeLevelJoin() { + $results = Activity::get() + ->setCheckPermissions(FALSE) + ->addWhere('activity_type.name', '=', 'Phone Call') + ->execute(); + + $this->assertCount(1, $results); + } + + public function testActivityContactJoin() { + $results = Activity::get() + ->setCheckPermissions(FALSE) + ->addSelect('assignees.id') + ->addSelect('assignees.first_name') + ->addSelect('assignees.display_name') + ->addWhere('assignees.first_name', '=', 'Phoney') + ->execute(); + + $firstResult = $results->first(); + + $this->assertCount(1, $results); + $this->assertTrue(is_array($firstResult['assignees'])); + + $firstAssignee = array_shift($firstResult['assignees']); + $this->assertEquals($firstAssignee['first_name'], 'Phoney'); + } + + public function testContactPhonesJoin() { + $testContact = $this->getReference('test_contact_1'); + $testPhone = $this->getReference('test_phone_1'); + + $results = Contact::get() + ->setCheckPermissions(FALSE) + ->addSelect('phones.phone') + ->addWhere('id', '=', $testContact['id']) + ->addWhere('phones.location_type.name', '=', 'Home') + ->execute() + ->first(); + + $this->assertArrayHasKey('phones', $results); + $this->assertCount(1, $results['phones']); + $firstPhone = array_shift($results['phones']); + $this->assertEquals($testPhone['phone'], $firstPhone['phone']); + } + +} diff --git a/tests/phpunit/api/v4/Action/GetExtraFieldsTest.php b/tests/phpunit/api/v4/Action/GetExtraFieldsTest.php new file mode 100644 index 0000000000..8557000cd2 --- /dev/null +++ b/tests/phpunit/api/v4/Action/GetExtraFieldsTest.php @@ -0,0 +1,61 @@ +execute() + ->getArrayCopy(); + + $baseFields = \CRM_Contact_BAO_Contact::fields(); + $baseFieldNames = array_column($baseFields, 'name'); + $returnedFieldNames = array_column($returnedFields, 'name'); + $notReturned = array_diff($baseFieldNames, $returnedFieldNames); + + $this->assertEmpty($notReturned); + } + +} diff --git a/tests/phpunit/api/v4/Action/GetFromArrayTest.php b/tests/phpunit/api/v4/Action/GetFromArrayTest.php new file mode 100644 index 0000000000..eab416fde3 --- /dev/null +++ b/tests/phpunit/api/v4/Action/GetFromArrayTest.php @@ -0,0 +1,198 @@ +setOffset(2) + ->setLimit(2) + ->execute(); + $this->assertEquals(3, $result[0]['field1']); + $this->assertEquals(4, $result[1]['field1']); + $this->assertEquals(2, count($result)); + } + + public function testArrayGetWithSort() { + $result = MockArrayEntity::get() + ->addOrderBy('field1', 'DESC') + ->execute(); + $this->assertEquals([5, 4, 3, 2, 1], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addOrderBy('field5', 'DESC') + ->addOrderBy('field2', 'ASC') + ->execute(); + $this->assertEquals([3, 2, 5, 4, 1], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addOrderBy('field3', 'ASC') + ->addOrderBy('field2', 'ASC') + ->execute(); + $this->assertEquals([3, 1, 2, 5, 4], array_column((array) $result, 'field1')); + } + + public function testArrayGetWithSelect() { + $result = MockArrayEntity::get() + ->addSelect('field1') + ->addSelect('field3') + ->setLimit(4) + ->execute(); + $this->assertEquals([ + [ + 'field1' => 1, + 'field3' => NULL, + ], + [ + 'field1' => 2, + 'field3' => 0, + ], + [ + 'field1' => 3, + ], + [ + 'field1' => 4, + 'field3' => 1, + ], + ], (array) $result); + } + + public function testArrayGetWithWhere() { + $result = MockArrayEntity::get() + ->addWhere('field2', '=', 'yack') + ->execute(); + $this->assertEquals([2], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field5', '!=', 'banana') + ->addWhere('field3', 'IS NOT NULL') + ->execute(); + $this->assertEquals([4, 5], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field1', '>=', '4') + ->execute(); + $this->assertEquals([4, 5], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field1', '<', '2') + ->execute(); + $this->assertEquals([1], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field2', 'LIKE', '%ra%') + ->execute(); + $this->assertEquals([1, 3], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field3', 'IS NULL') + ->execute(); + $this->assertEquals([1, 3], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field3', '=', '0') + ->execute(); + $this->assertEquals([2], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field2', 'LIKE', '%ra') + ->execute(); + $this->assertEquals([1], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field2', 'LIKE', 'ra') + ->execute(); + $this->assertEquals(0, count($result)); + + $result = MockArrayEntity::get() + ->addWhere('field2', 'NOT LIKE', '%ra%') + ->execute(); + $this->assertEquals([2, 4, 5], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field6', '=', '0') + ->execute(); + $this->assertEquals([3, 4, 5], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field6', '=', 0) + ->execute(); + $this->assertEquals([3, 4, 5], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field1', 'BETWEEN', [3, 5]) + ->execute(); + $this->assertEquals([3, 4, 5], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addWhere('field1', 'NOT BETWEEN', [3, 4]) + ->execute(); + $this->assertEquals([1, 2, 5], array_column((array) $result, 'field1')); + } + + public function testArrayGetWithNestedWhereClauses() { + $result = MockArrayEntity::get() + ->addClause('OR', ['field2', 'LIKE', '%ra'], ['field2', 'LIKE', 'x ray']) + ->execute(); + $this->assertEquals([1, 3], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addClause('OR', ['field2', '=', 'zebra'], ['field2', '=', 'yack']) + ->addClause('OR', ['field5', '!=', 'apple'], ['field3', 'IS NULL']) + ->execute(); + $this->assertEquals([1, 2], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addClause('NOT', ['field2', '!=', 'yack']) + ->execute(); + $this->assertEquals([2], array_column((array) $result, 'field1')); + + $result = MockArrayEntity::get() + ->addClause('OR', ['field1', '=', 2], ['AND', [['field5', '=', 'apple'], ['field3', '=', 1]]]) + ->execute(); + $this->assertEquals([2, 4, 5], array_column((array) $result, 'field1')); + } + +} diff --git a/tests/phpunit/api/v4/Action/IndexTest.php b/tests/phpunit/api/v4/Action/IndexTest.php new file mode 100644 index 0000000000..ed27b9f72e --- /dev/null +++ b/tests/phpunit/api/v4/Action/IndexTest.php @@ -0,0 +1,83 @@ +assertInstanceOf('Civi\Api4\Generic\Result', $resultByName); + $this->assertEquals('get', $resultByName['get']['name']); + + // Get result at index 0 + $firstResult = civicrm_api4('Activity', 'getActions', [], 0); + $this->assertInstanceOf('Civi\Api4\Generic\Result', $firstResult); + $this->assertArrayHasKey('name', $firstResult); + + $this->assertEquals($resultByName->first(), (array) $firstResult); + } + + public function testBadIndexInt() { + $error = ''; + try { + civicrm_api4('Activity', 'getActions', [], 99); + } + catch (\API_Exception $e) { + $error = $e->getMessage(); + } + $this->assertContains('not found', $error); + } + + public function testBadIndexString() { + $error = ''; + try { + civicrm_api4('Activity', 'getActions', [], 'xyz'); + } + catch (\API_Exception $e) { + $error = $e->getMessage(); + } + $this->assertContains('not found', $error); + } + +} diff --git a/tests/phpunit/api/v4/Action/NullValueTest.php b/tests/phpunit/api/v4/Action/NullValueTest.php new file mode 100644 index 0000000000..95fc845b64 --- /dev/null +++ b/tests/phpunit/api/v4/Action/NullValueTest.php @@ -0,0 +1,90 @@ +set('display_name_format', $format); + return parent::setUpHeadless(); + } + + public function testStringNull() { + $contact = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Joseph') + ->addValue('last_name', 'null') + ->addValue('contact_type', 'Individual') + ->execute() + ->first(); + + $this->assertSame('Null', $contact['last_name']); + $this->assertSame('Joseph Null', $contact['display_name']); + } + + public function testSettingToNull() { + $contact = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'ILoveMy') + ->addValue('last_name', 'LastName') + ->addValue('contact_type', 'Individual') + ->execute() + ->first(); + + $this->assertSame('ILoveMy LastName', $contact['display_name']); + $contactId = $contact['id']; + + $contact = Contact::update() + ->setCheckPermissions(FALSE) + ->addWhere('id', '=', $contactId) + ->addValue('last_name', NULL) + ->execute() + ->first(); + + $this->assertSame(NULL, $contact['last_name']); + $this->assertSame('ILoveMy', $contact['display_name']); + } + +} diff --git a/tests/phpunit/api/v4/Action/ReplaceTest.php b/tests/phpunit/api/v4/Action/ReplaceTest.php new file mode 100644 index 0000000000..5e40602f55 --- /dev/null +++ b/tests/phpunit/api/v4/Action/ReplaceTest.php @@ -0,0 +1,206 @@ +dropByPrefix('civicrm_value_replacetest'); + $this->cleanup(['tablesToTruncate' => $tablesToTruncate]); + parent::setUp(); + } + + public function testEmailReplace() { + $cid1 = Contact::create() + ->addValue('first_name', 'Lotsa') + ->addValue('last_name', 'Emails') + ->execute() + ->first()['id']; + $cid2 = Contact::create() + ->addValue('first_name', 'Notso') + ->addValue('last_name', 'Many') + ->execute() + ->first()['id']; + $e0 = Email::create() + ->setValues(['contact_id' => $cid2, 'email' => 'nosomany@example.com', 'location_type_id' => 1]) + ->execute() + ->first()['id']; + $e1 = Email::create() + ->setValues(['contact_id' => $cid1, 'email' => 'first@example.com', 'location_type_id' => 1]) + ->execute() + ->first()['id']; + $e2 = Email::create() + ->setValues(['contact_id' => $cid1, 'email' => 'second@example.com', 'location_type_id' => 1]) + ->execute() + ->first()['id']; + $replacement = [ + ['email' => 'firstedited@example.com', 'id' => $e1], + ['contact_id' => $cid1, 'email' => 'third@example.com', 'location_type_id' => 1], + ]; + $replaced = Email::replace() + ->setRecords($replacement) + ->addWhere('contact_id', '=', $cid1) + ->execute(); + // Should have saved 2 records + $this->assertEquals(2, $replaced->count()); + // Should have deleted email2 + $this->assertEquals([['id' => $e2]], $replaced->deleted); + // Verify contact now has the new email records + $results = Email::get() + ->addWhere('contact_id', '=', $cid1) + ->execute() + ->indexBy('id'); + $this->assertEquals('firstedited@example.com', $results[$e1]['email']); + $this->assertEquals(2, $results->count()); + $this->assertArrayNotHasKey($e2, (array) $results); + $this->assertArrayNotHasKey($e0, (array) $results); + unset($results[$e1]); + foreach ($results as $result) { + $this->assertEquals('third@example.com', $result['email']); + } + // Validate our other contact's email did not get deleted + $c2email = Email::get() + ->addWhere('contact_id', '=', $cid2) + ->execute() + ->first(); + $this->assertEquals('nosomany@example.com', $c2email['email']); + } + + public function testCustomValueReplace() { + $customGroup = CustomGroup::create() + ->setCheckPermissions(FALSE) + ->addValue('name', 'replaceTest') + ->addValue('extends', 'Contact') + ->addValue('is_multiple', TRUE) + ->execute() + ->first(); + + CustomField::create() + ->addValue('label', 'Custom1') + ->addValue('custom_group_id', $customGroup['id']) + ->addValue('html_type', 'String') + ->addValue('data_type', 'String') + ->execute(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'Custom2') + ->addValue('custom_group_id', $customGroup['id']) + ->addValue('html_type', 'String') + ->addValue('data_type', 'String') + ->execute(); + + $cid1 = Contact::create() + ->addValue('first_name', 'Lotsa') + ->addValue('last_name', 'Data') + ->execute() + ->first()['id']; + $cid2 = Contact::create() + ->addValue('first_name', 'Notso') + ->addValue('last_name', 'Much') + ->execute() + ->first()['id']; + + // Contact 2 gets one row + CustomValue::create('replaceTest') + ->setCheckPermissions(FALSE) + ->addValue('Custom1', "2 1") + ->addValue('Custom2', "2 1") + ->addValue('entity_id', $cid2) + ->execute(); + + // Create 3 rows for contact 1 + foreach ([1, 2, 3] as $i) { + CustomValue::create('replaceTest') + ->setCheckPermissions(FALSE) + ->addValue('Custom1', "1 $i") + ->addValue('Custom2', "1 $i") + ->addValue('entity_id', $cid1) + ->execute(); + } + + $cid1Records = CustomValue::get('replaceTest') + ->setCheckPermissions(FALSE) + ->addWhere('entity_id', '=', $cid1) + ->execute(); + + $this->assertCount(3, $cid1Records); + $this->assertCount(1, CustomValue::get('replaceTest')->setCheckPermissions(FALSE)->addWhere('entity_id', '=', $cid2)->execute()); + + $result = CustomValue::replace('replaceTest') + ->addWhere('entity_id', '=', $cid1) + ->addRecord(['Custom1' => 'new one', 'Custom2' => 'new two']) + ->addRecord(['id' => $cid1Records[0]['id'], 'Custom1' => 'changed one', 'Custom2' => 'changed two']) + ->execute(); + + $this->assertCount(2, $result); + $this->assertCount(2, $result->deleted); + + $newRecords = CustomValue::get('replaceTest') + ->setCheckPermissions(FALSE) + ->addWhere('entity_id', '=', $cid1) + ->execute() + ->indexBy('id'); + + $this->assertEquals('new one', $newRecords->last()['Custom1']); + $this->assertEquals('new two', $newRecords->last()['Custom2']); + $this->assertEquals('changed one', $newRecords[$cid1Records[0]['id']]['Custom1']); + $this->assertEquals('changed two', $newRecords[$cid1Records[0]['id']]['Custom2']); + } + +} diff --git a/tests/phpunit/api/v4/Action/RequiredFieldTest.php b/tests/phpunit/api/v4/Action/RequiredFieldTest.php new file mode 100644 index 0000000000..5be510b70d --- /dev/null +++ b/tests/phpunit/api/v4/Action/RequiredFieldTest.php @@ -0,0 +1,59 @@ +execute(); + } + catch (\API_Exception $e) { + $msg = $e->getMessage(); + } + $this->assertEquals('Mandatory values missing from Api4 Event::create: title, event_type_id, start_date', $msg); + } + +} diff --git a/tests/phpunit/api/v4/Action/UpdateContactTest.php b/tests/phpunit/api/v4/Action/UpdateContactTest.php new file mode 100644 index 0000000000..ab287aaa65 --- /dev/null +++ b/tests/phpunit/api/v4/Action/UpdateContactTest.php @@ -0,0 +1,89 @@ +setCheckPermissions(FALSE) + ->addValue('first_name', 'Johann') + ->addValue('last_name', 'Tester') + ->addValue('contact_type', 'Individual') + ->execute() + ->first()['id']; + + $contact = Contact::update() + ->setCheckPermissions(FALSE) + ->addWhere('id', '=', $contactId) + ->addValue('first_name', 'Testy') + ->execute() + ->first(); + $this->assertEquals('Testy', $contact['first_name']); + $this->assertEquals('Tester', $contact['last_name']); + } + + public function testUpdateWithIdInValues() { + $contactId = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Bobby') + ->addValue('last_name', 'Tester') + ->addValue('contact_type', 'Individual') + ->execute() + ->first()['id']; + + $contact = Contact::update() + ->setCheckPermissions(FALSE) + ->addValue('id', $contactId) + ->addValue('first_name', 'Billy') + ->execute(); + $this->assertCount(1, $contact); + $this->assertEquals($contactId, $contact[0]['id']); + $this->assertEquals('Billy', $contact[0]['first_name']); + $this->assertEquals('Tester', $contact[0]['last_name']); + } + +} diff --git a/tests/phpunit/api/v4/Action/UpdateCustomValueTest.php b/tests/phpunit/api/v4/Action/UpdateCustomValueTest.php new file mode 100644 index 0000000000..7da86408c0 --- /dev/null +++ b/tests/phpunit/api/v4/Action/UpdateCustomValueTest.php @@ -0,0 +1,91 @@ +setCheckPermissions(FALSE) + ->addValue('name', 'MyContactFields') + ->addValue('extends', 'Contact') + ->execute() + ->first(); + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'FavColor') + ->addValue('custom_group_id', $customGroup['id']) + ->addValue('html_type', 'Text') + ->addValue('data_type', 'String') + ->execute(); + + $contactId = Contact::create() + ->setCheckPermissions(FALSE) + ->addValue('first_name', 'Red') + ->addValue('last_name', 'Tester') + ->addValue('contact_type', 'Individual') + ->addValue('MyContactFields.FavColor', 'Red') + ->execute() + ->first()['id']; + + Contact::update() + ->setCheckPermissions(FALSE) + ->addWhere('id', '=', $contactId) + ->addValue('first_name', 'Red') + ->addValue('last_name', 'Tester') + ->addValue('contact_type', 'Individual') + ->addValue('MyContactFields.FavColor', 'Blue') + ->execute(); + + $result = CustomValueTable::getEntityValues($contactId, 'Contact'); + + $this->assertEquals(1, count($result)); + $this->assertContains('Blue', $result); + } + +} diff --git a/tests/phpunit/api/v4/AllTests.php b/tests/phpunit/api/v4/AllTests.php new file mode 100644 index 0000000000..45aedb9dc3 --- /dev/null +++ b/tests/phpunit/api/v4/AllTests.php @@ -0,0 +1,103 @@ + (801) 534-1262 + * @copyright Copyright CiviCRM LLC (C) 2009 + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html + * GNU Affero General Public License version 3 + * @version $Id: AllTests.php 40328 2012-05-11 23:06:13Z allen $ + * @package CiviCRM + * + * This file is part of CiviCRM + * + * CiviCRM is free software; you can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License + * as published by the Free Software Foundation; either version 3 of + * the License, or (at your option) any later version. + * + * 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 along with this program. If not, see + * . + */ + +/** + * Class containing the APIv4 test suite + * + * @package CiviCRM + */ +class api_v4_AllTests extends CiviTestSuite { + private static $instance = NULL; + + /** + */ + private static function getInstance() { + if (is_null(self::$instance)) { + self::$instance = new self(); + } + return self::$instance; + } + + /** + * Build test suite dynamically. + */ + public static function suite() { + $inst = self::getInstance(); + return $inst->implSuite(__FILE__); + } + +} +// class AllTests + +// -- set Emacs parameters -- +// Local variables: +// mode: php; +// tab-width: 4 +// c-basic-offset: 4 +// c-hanging-comment-ender-p: nil +// indent-tabs-mode: nil +// End: diff --git a/tests/phpunit/api/v4/DataSets/ConformanceTest.json b/tests/phpunit/api/v4/DataSets/ConformanceTest.json new file mode 100644 index 0000000000..1028c5b6f8 --- /dev/null +++ b/tests/phpunit/api/v4/DataSets/ConformanceTest.json @@ -0,0 +1,42 @@ +{ + "Contact": [ + { + "first_name": "Janice", + "last_name": "Voss", + "contact_type": "Individual", + "@ref": "test_contact_1" + } + ], + "CustomGroup": [ + { + "name": "MyFavoriteThings", + "extends": "Contact" + } + ], + "Event": [ + { + "start_date": "20401010000000", + "title": "The Singularity", + "event_type_id": "major_historical_event" + } + ], + "Group": [ + { + "name": "the_group", + "title": "The Group" + } + ], + "Mapping": [ + { + "name": "the_mapping", + "mapping_type_id": "1" + } + ], + "Activity": [ + { + "subject": "Test A Phone Activity", + "activity_type": "Phone Call", + "source_contact_id": "@ref test_contact_1.id" + } + ] +} diff --git a/tests/phpunit/api/v4/DataSets/DefaultDataSet.json b/tests/phpunit/api/v4/DataSets/DefaultDataSet.json new file mode 100644 index 0000000000..7d4a91bc77 --- /dev/null +++ b/tests/phpunit/api/v4/DataSets/DefaultDataSet.json @@ -0,0 +1,45 @@ +{ + "Contact": [ + { + "first_name": "Phoney", + "last_name": "Contact", + "contact_type": "Individual", + "@ref": "test_contact_1" + }, + { + "first_name": "Second", + "last_name": "Test", + "contact_type": "Individual", + "@ref": "test_contact_2" + } + ], + "Activity": [ + { + "subject": "Test Phone Activity", + "activity_type": "Phone Call", + "source_contact_id": "@ref test_contact_1.id" + }, + { + "subject": "Another Activity", + "activity_type": "Meeting", + "source_contact_id": "@ref test_contact_1.id", + "assignee_contact_id": [ + "@ref test_contact_1.id", + "@ref test_contact_2.id" + ] + } + ], + "Phone": [ + { + "contact_id": "@ref test_contact_1.id", + "phone": "+35355439483", + "location_type_id": "1", + "@ref": "test_phone_1" + }, + { + "contact_id": "@ref test_contact_1.id", + "phone": "+3538733439483", + "location_type_id": "2" + } + ] +} diff --git a/tests/phpunit/api/v4/DataSets/MultiContactMultiEmail.json b/tests/phpunit/api/v4/DataSets/MultiContactMultiEmail.json new file mode 100644 index 0000000000..ce3fbcaf92 --- /dev/null +++ b/tests/phpunit/api/v4/DataSets/MultiContactMultiEmail.json @@ -0,0 +1,42 @@ +{ + "Contact": [ + { + "first_name": "First", + "last_name": "Contact", + "contact_type": "Individual", + "@ref": "test_contact_1" + }, + { + "first_name": "Second", + "last_name": "Contact", + "contact_type": "Individual", + "@ref": "test_contact_2" + } + ], + "Email": [ + { + "contact_id": "@ref test_contact_1.id", + "email": "test_contact_one_home@fakedomain.com", + "location_type_id": 1, + "@ref": "test_email_1" + }, + { + "contact_id": "@ref test_contact_1.id", + "email": "test_contact_one_work@fakedomain.com", + "location_type_id": 2, + "@ref": "test_email_2" + }, + { + "contact_id": "@ref test_contact_2.id", + "email": "test_contact_two_home@fakedomain.com", + "location_type_id": 1, + "@ref": "test_email_3" + }, + { + "contact_id": "@ref test_contact_2.id", + "email": "test_contact_two_work@fakedomain.com", + "location_type_id": 2, + "@ref": "test_email_4" + } + ] +} diff --git a/tests/phpunit/api/v4/DataSets/SingleContact.json b/tests/phpunit/api/v4/DataSets/SingleContact.json new file mode 100644 index 0000000000..73e7369e6b --- /dev/null +++ b/tests/phpunit/api/v4/DataSets/SingleContact.json @@ -0,0 +1,81 @@ +{ + "Contact": [ + { + "first_name": "Single", + "last_name": "Contact", + "contact_type": "Individual", + "preferred_communication_method": "1", + "@ref": "test_contact_1" + } + ], + "Activity": [ + { + "subject": "Won A Nobel Prize", + "activity_type": "Meeting", + "source_contact_id": "@ref test_contact_1.id", + "@ref": "test_activity_1" + }, + { + "subject": "Cleaned The House", + "activity_type": "Meeting", + "source_contact_id": "@ref test_contact_1.id", + "assignee_contact_id": [ + "@ref test_contact_1.id" + ], + "@ref": "test_activity_2" + } + ], + "Phone": [ + { + "contact_id": "@ref test_contact_1.id", + "phone": "+1111111111111", + "location_type_id": 1 + }, + { + "contact_id": "@ref test_contact_1.id", + "phone": "+2222222222222", + "location_type_id": 2 + } + ], + "Email": [ + { + "contact_id": "@ref test_contact_1.id", + "email": "test_contact_home@fakedomain.com", + "location_type_id": 1 + }, + { + "contact_id": "@ref test_contact_1.id", + "email": "test_contact_work@fakedomain.com", + "location_type_id": 2 + } + ], + "Address": [ + { + "contact_id": "@ref test_contact_1.id", + "street_address": "123 Sesame St.", + "location_type_id": 1 + } + ], + "Website": [ + { + "contact_id": "@ref test_contact_1.id", + "url": "http://test.com", + "website_id": 1 + } + ], + "OpenID": [ + { + "contact_id": "@ref test_contact_1.id", + "openid": "123", + "allowed_to_login": 1, + "location_type_id": 1 + } + ], + "IM": [ + { + "contact_id": "@ref test_contact_1.id", + "name": "123", + "location_type_id": 1 + } + ] +} diff --git a/tests/phpunit/api/v4/Entity/ConformanceTest.php b/tests/phpunit/api/v4/Entity/ConformanceTest.php new file mode 100644 index 0000000000..296368eb06 --- /dev/null +++ b/tests/phpunit/api/v4/Entity/ConformanceTest.php @@ -0,0 +1,283 @@ +dropByPrefix('civicrm_value_myfavorite'); + $this->cleanup(['tablesToTruncate' => $tablesToTruncate]); + $this->setUpOptionCleanup(); + $this->loadDataSet('ConformanceTest'); + $this->creationParamProvider = \Civi::container()->get('test.param_provider'); + parent::setUp(); + // calculateTaxAmount() for contribution triggers a deprecation notice + \PHPUnit\Framework\Error\Deprecated::$enabled = FALSE; + } + + public function getEntities() { + return Entity::get()->setCheckPermissions(FALSE)->execute()->column('name'); + } + + /** + * Fixme: This should use getEntities as a dataProvider but that fails for some reason + */ + public function testConformance() { + $entities = $this->getEntities(); + $this->assertNotEmpty($entities); + + foreach ($entities as $data) { + $entity = $data; + $entityClass = 'Civi\Api4\\' . $entity; + + $actions = $this->checkActions($entityClass); + + // Go no further if it's not a CRUD entity + if (array_diff(['get', 'create', 'update', 'delete'], array_keys($actions))) { + continue; + } + + $this->checkFields($entityClass, $entity); + $id = $this->checkCreation($entity, $entityClass); + $this->checkGet($entityClass, $id, $entity); + $this->checkGetCount($entityClass, $id, $entity); + $this->checkUpdateFailsFromCreate($entityClass, $id); + $this->checkWrongParamType($entityClass); + $this->checkDeleteWithNoId($entityClass); + $this->checkDeletion($entityClass, $id); + $this->checkPostDelete($entityClass, $id, $entity); + } + } + + /** + * @param string $entityClass + * @param $entity + */ + protected function checkFields($entityClass, $entity) { + $fields = $entityClass::getFields() + ->setCheckPermissions(FALSE) + ->setIncludeCustom(FALSE) + ->execute() + ->indexBy('name'); + + $errMsg = sprintf('%s is missing required ID field', $entity); + $subset = ['data_type' => 'Integer']; + + $this->assertArraySubset($subset, $fields['id'], $errMsg); + } + + /** + * @param string $entityClass + */ + protected function checkActions($entityClass) { + $actions = $entityClass::getActions() + ->setCheckPermissions(FALSE) + ->execute() + ->indexBy('name'); + + $this->assertNotEmpty($actions); + return (array) $actions; + } + + /** + * @param string $entity + * @param \Civi\Api4\Generic\AbstractEntity|string $entityClass + * + * @return mixed + */ + protected function checkCreation($entity, $entityClass) { + $requiredParams = $this->creationParamProvider->getRequired($entity); + $createResult = $entityClass::create() + ->setValues($requiredParams) + ->setCheckPermissions(FALSE) + ->execute() + ->first(); + + $this->assertArrayHasKey('id', $createResult, "create missing ID"); + $id = $createResult['id']; + + $this->assertGreaterThanOrEqual(1, $id, "$entity ID not positive"); + + return $id; + } + + /** + * @param \Civi\Api4\Generic\AbstractEntity|string $entityClass + * @param int $id + */ + protected function checkUpdateFailsFromCreate($entityClass, $id) { + $exceptionThrown = ''; + try { + $entityClass::create() + ->setCheckPermissions(FALSE) + ->addValue('id', $id) + ->execute(); + } + catch (\API_Exception $e) { + $exceptionThrown = $e->getMessage(); + } + $this->assertContains('id', $exceptionThrown); + } + + /** + * @param \Civi\Api4\Generic\AbstractEntity|string $entityClass + * @param int $id + * @param string $entity + */ + protected function checkGet($entityClass, $id, $entity) { + $getResult = $entityClass::get() + ->setCheckPermissions(FALSE) + ->addWhere('id', '=', $id) + ->execute(); + + $errMsg = sprintf('Failed to fetch a %s after creation', $entity); + $this->assertEquals($id, $getResult->first()['id'], $errMsg); + $this->assertEquals(1, $getResult->count(), $errMsg); + } + + /** + * @param \Civi\Api4\Generic\AbstractEntity|string $entityClass + * @param int $id + * @param string $entity + */ + protected function checkGetCount($entityClass, $id, $entity) { + $getResult = $entityClass::get() + ->setCheckPermissions(FALSE) + ->addWhere('id', '=', $id) + ->selectRowCount() + ->execute(); + $errMsg = sprintf('%s getCount failed', $entity); + $this->assertEquals(1, $getResult->count(), $errMsg); + + $getResult = $entityClass::get() + ->setCheckPermissions(FALSE) + ->selectRowCount() + ->execute(); + $errMsg = sprintf('%s getCount failed', $entity); + $this->assertGreaterThanOrEqual(1, $getResult->count(), $errMsg); + } + + /** + * @param \Civi\Api4\Generic\AbstractEntity|string $entityClass + */ + protected function checkDeleteWithNoId($entityClass) { + $exceptionThrown = ''; + try { + $entityClass::delete() + ->execute(); + } + catch (\API_Exception $e) { + $exceptionThrown = $e->getMessage(); + } + $this->assertContains('required', $exceptionThrown); + } + + /** + * @param \Civi\Api4\Generic\AbstractEntity|string $entityClass + */ + protected function checkWrongParamType($entityClass) { + $exceptionThrown = ''; + try { + $entityClass::get() + ->setCheckPermissions('nada') + ->execute(); + } + catch (\API_Exception $e) { + $exceptionThrown = $e->getMessage(); + } + $this->assertContains('checkPermissions', $exceptionThrown); + $this->assertContains('type', $exceptionThrown); + } + + /** + * @param \Civi\Api4\Generic\AbstractEntity|string $entityClass + * @param int $id + */ + protected function checkDeletion($entityClass, $id) { + $deleteResult = $entityClass::delete() + ->setCheckPermissions(FALSE) + ->addWhere('id', '=', $id) + ->execute(); + + // should get back an array of deleted id + $this->assertEquals([['id' => $id]], (array) $deleteResult); + } + + /** + * @param \Civi\Api4\Generic\AbstractEntity|string $entityClass + * @param int $id + * @param string $entity + */ + protected function checkPostDelete($entityClass, $id, $entity) { + $getDeletedResult = $entityClass::get() + ->setCheckPermissions(FALSE) + ->addWhere('id', '=', $id) + ->execute(); + + $errMsg = sprintf('Entity "%s" was not deleted', $entity); + $this->assertEquals(0, count($getDeletedResult), $errMsg); + } + +} diff --git a/tests/phpunit/api/v4/Entity/ContactJoinTest.php b/tests/phpunit/api/v4/Entity/ContactJoinTest.php new file mode 100644 index 0000000000..31d870c318 --- /dev/null +++ b/tests/phpunit/api/v4/Entity/ContactJoinTest.php @@ -0,0 +1,138 @@ +cleanup(['tablesToTruncate' => $relatedTables]); + $this->loadDataSet('SingleContact'); + + return parent::setUpHeadless(); + } + + public function testContactJoin() { + + $contact = $this->getReference('test_contact_1'); + $entitiesToTest = ['Address', 'OpenID', 'IM', 'Website', 'Email', 'Phone']; + + foreach ($entitiesToTest as $entity) { + $results = civicrm_api4($entity, 'get', [ + 'where' => [['contact_id', '=', $contact['id']]], + 'select' => ['contact.display_name', 'contact.id'], + ]); + foreach ($results as $result) { + $this->assertEquals($contact['id'], $result['contact.id']); + $this->assertEquals($contact['display_name'], $result['contact.display_name']); + } + } + } + + public function testJoinToPCMWillReturnArray() { + $contact = Contact::create()->setValues([ + 'preferred_communication_method' => [1, 2, 3], + 'contact_type' => 'Individual', + 'first_name' => 'Test', + 'last_name' => 'PCM', + ])->execute()->first(); + + $fetchedContact = Contact::get() + ->addWhere('id', '=', $contact['id']) + ->addSelect('preferred_communication_method') + ->execute() + ->first(); + + $this->assertCount(3, $fetchedContact["preferred_communication_method"]); + } + + public function testJoinToPCMOptionValueWillShowLabel() { + $options = OptionValue::get() + ->addWhere('option_group.name', '=', 'preferred_communication_method') + ->execute() + ->getArrayCopy(); + + $optionValues = array_column($options, 'value'); + $labels = array_column($options, 'label'); + + $contact = Contact::create()->setValues([ + 'preferred_communication_method' => $optionValues, + 'contact_type' => 'Individual', + 'first_name' => 'Test', + 'last_name' => 'PCM', + ])->execute()->first(); + + $contact2 = Contact::create()->setValues([ + 'preferred_communication_method' => $optionValues, + 'contact_type' => 'Individual', + 'first_name' => 'Test', + 'last_name' => 'PCM2', + ])->execute()->first(); + + $contactIds = array_column([$contact, $contact2], 'id'); + + $fetchedContact = Contact::get() + ->addWhere('id', 'IN', $contactIds) + ->addSelect('preferred_communication_method.label') + ->execute() + ->first(); + + $preferredMethod = $fetchedContact['preferred_communication_method']; + $returnedLabels = array_column($preferredMethod, 'label'); + + $this->assertEquals($labels, $returnedLabels); + } + +} diff --git a/tests/phpunit/api/v4/Entity/EntityTest.php b/tests/phpunit/api/v4/Entity/EntityTest.php new file mode 100644 index 0000000000..27a6f15e35 --- /dev/null +++ b/tests/phpunit/api/v4/Entity/EntityTest.php @@ -0,0 +1,70 @@ +setCheckPermissions(FALSE) + ->execute() + ->indexBy('name'); + $this->assertArrayHasKey('Entity', $result, + "Entity::get missing itself"); + $this->assertArrayHasKey('Participant', $result, + "Entity::get missing Participant"); + } + + public function testEntity() { + $result = Entity::getActions() + ->setCheckPermissions(FALSE) + ->execute() + ->indexBy('name'); + $this->assertNotContains( + 'create', + array_keys((array) $result), + "Entity entity has more than basic actions"); + } + +} diff --git a/tests/phpunit/api/v4/Entity/ParticipantTest.php b/tests/phpunit/api/v4/Entity/ParticipantTest.php new file mode 100644 index 0000000000..e6ccc7ca72 --- /dev/null +++ b/tests/phpunit/api/v4/Entity/ParticipantTest.php @@ -0,0 +1,256 @@ + [ + 'civicrm_event', + 'civicrm_participant', + ], + ]; + $this->cleanup($cleanup_params); + } + + public function testGetActions() { + $result = Participant::getActions() + ->setCheckPermissions(FALSE) + ->execute() + ->indexBy('name'); + + $getParams = $result['get']['params']; + $whereDescription = 'Criteria for selecting items.'; + + $this->assertEquals(TRUE, $getParams['checkPermissions']['default']); + $this->assertEquals($whereDescription, $getParams['where']['description']); + } + + public function testGet() { + $rows = $this->getRowCount('civicrm_participant'); + if ($rows > 0) { + $this->markTestSkipped('Participant table must be empty'); + } + + // With no records: + $result = Participant::get()->setCheckPermissions(FALSE)->execute(); + $this->assertEquals(0, $result->count(), "count of empty get is not 0"); + + // Check that the $result knows what the inputs were + $this->assertEquals('Participant', $result->entity); + $this->assertEquals('get', $result->action); + $this->assertEquals(4, $result->version); + + // Create some test related records before proceeding + $participantCount = 20; + $contactCount = 7; + $eventCount = 5; + + // All events will either have this number or one less because of the + // rotating participation creation method. + $expectedFirstEventCount = ceil($participantCount / $eventCount); + + $dummy = [ + 'contacts' => $this->createEntity([ + 'type' => 'Individual', + 'count' => $contactCount, + 'seq' => 1, + ]), + 'events' => $this->createEntity([ + 'type' => 'Event', + 'count' => $eventCount, + 'seq' => 1, + ]), + 'sources' => ['Paddington', 'Springfield', 'Central'], + ]; + + // - create dummy participants record + for ($i = 0; $i < $participantCount; $i++) { + $dummy['participants'][$i] = $this->sample([ + 'type' => 'Participant', + 'overrides' => [ + 'event_id' => $dummy['events'][$i % $eventCount]['id'], + 'contact_id' => $dummy['contacts'][$i % $contactCount]['id'], + // 3 = number of sources + 'source' => $dummy['sources'][$i % 3], + ], + ])['sample_params']; + + Participant::create() + ->setValues($dummy['participants'][$i]) + ->setCheckPermissions(FALSE) + ->execute(); + } + $sqlCount = $this->getRowCount('civicrm_participant'); + $this->assertEquals($participantCount, $sqlCount, "Unexpected count"); + + $firstEventId = $dummy['events'][0]['id']; + $secondEventId = $dummy['events'][1]['id']; + $firstContactId = $dummy['contacts'][0]['id']; + + $firstOnlyResult = Participant::get() + ->setCheckPermissions(FALSE) + ->addClause('AND', ['event_id', '=', $firstEventId]) + ->execute(); + + $this->assertEquals($expectedFirstEventCount, count($firstOnlyResult), + "count of first event is not $expectedFirstEventCount"); + + // get first two events using different methods + $firstTwo = Participant::get() + ->setCheckPermissions(FALSE) + ->addWhere('event_id', 'IN', [$firstEventId, $secondEventId]) + ->execute(); + + $firstResult = $result->first(); + + // verify counts + // count should either twice the first event count or one less + $this->assertLessThanOrEqual( + $expectedFirstEventCount * 2, + count($firstTwo), + "count is too high" + ); + + $this->assertGreaterThanOrEqual( + $expectedFirstEventCount * 2 - 1, + count($firstTwo), + "count is too low" + ); + + $firstParticipantResult = Participant::get() + ->setCheckPermissions(FALSE) + ->addWhere('event_id', '=', $firstEventId) + ->addWhere('contact_id', '=', $firstContactId) + ->execute(); + + $this->assertEquals(1, count($firstParticipantResult), "more than one registration"); + + $firstParticipantId = $firstParticipantResult->first()['id']; + + // get a result which excludes $first_participant + $otherParticipantResult = Participant::get() + ->setCheckPermissions(FALSE) + ->setSelect(['id']) + ->addClause('NOT', [ + ['event_id', '=', $firstEventId], + ['contact_id', '=', $firstContactId], + ]) + ->execute() + ->indexBy('id'); + + // check alternate syntax for NOT + $otherParticipantResult2 = Participant::get() + ->setCheckPermissions(FALSE) + ->setSelect(['id']) + ->addClause('NOT', 'AND', [ + ['event_id', '=', $firstEventId], + ['contact_id', '=', $firstContactId], + ]) + ->execute() + ->indexBy('id'); + + $this->assertEquals($otherParticipantResult, $otherParticipantResult2); + + $this->assertEquals($participantCount - 1, + count($otherParticipantResult), + "failed to exclude a single record on complex criteria"); + // check the record we have excluded is the right one: + + $this->assertFalse( + $otherParticipantResult->offsetExists($firstParticipantId), + 'excluded wrong record'); + + // retrieve a participant record and update some records + $patchRecord = [ + 'source' => "not " . $firstResult['source'], + ]; + + Participant::update() + ->addWhere('event_id', '=', $firstEventId) + ->setCheckPermissions(FALSE) + ->setLimit(20) + ->setValues($patchRecord) + ->setCheckPermissions(FALSE) + ->execute(); + + // - delete some records + $secondEventId = $dummy['events'][1]['id']; + $deleteResult = Participant::delete() + ->addWhere('event_id', '=', $secondEventId) + ->setCheckPermissions(FALSE) + ->execute(); + $expectedDeletes = [2, 7, 12, 17]; + $this->assertEquals($expectedDeletes, array_column((array) $deleteResult, 'id'), + "didn't delete every second record as expected"); + + $sqlCount = $this->getRowCount('civicrm_participant'); + $this->assertEquals( + $participantCount - count($expectedDeletes), + $sqlCount, + "records not gone from database after delete"); + + // Try creating is_test participants + foreach ($dummy['contacts'] as $contact) { + Participant::create() + ->addValue('is_test', 1) + ->addValue('contact_id', $contact['id']) + ->addValue('event_id', $secondEventId) + ->execute(); + } + + // By default is_test participants are hidden + $this->assertCount(0, Participant::get()->selectRowCount()->addWhere('event_id', '=', $secondEventId)->execute()); + + // Test records show up if you add is_test to the query + $testParticipants = Participant::get()->addWhere('event_id', '=', $secondEventId)->addWhere('is_test', '=', 1)->addSelect('id')->execute(); + $this->assertCount($contactCount, $testParticipants); + + // Or if you search by id + $this->assertCount(1, Participant::get()->selectRowCount()->addWhere('id', '=', $testParticipants->first()['id'])->execute()); + } + +} diff --git a/tests/phpunit/api/v4/Entity/RouteTest.php b/tests/phpunit/api/v4/Entity/RouteTest.php new file mode 100644 index 0000000000..b9fc45a2c5 --- /dev/null +++ b/tests/phpunit/api/v4/Entity/RouteTest.php @@ -0,0 +1,56 @@ +addWhere('path', '=', 'civicrm/admin')->execute(); + $this->assertEquals(1, $result->count()); + + $result = Route::get()->addWhere('path', 'LIKE', 'civicrm/admin/%')->execute(); + $this->assertGreaterThan(10, $result->count()); + } + +} diff --git a/tests/phpunit/api/v4/Entity/SettingTest.php b/tests/phpunit/api/v4/Entity/SettingTest.php new file mode 100644 index 0000000000..00fc4ea7b4 --- /dev/null +++ b/tests/phpunit/api/v4/Entity/SettingTest.php @@ -0,0 +1,71 @@ +addValue('menubar_position', 'above-crm-container')->setCheckPermissions(FALSE)->execute()->first(); + $this->assertEquals('above-crm-container', $setting['value']); + $setting = Setting::get()->addSelect('menubar_position')->setCheckPermissions(FALSE)->execute()->first(); + $this->assertEquals('above-crm-container', $setting['value']); + + $setting = Setting::revert()->addSelect('menubar_position')->setCheckPermissions(FALSE)->execute()->indexBy('name')->column('value'); + $this->assertEquals(['menubar_position' => 'over-cms-menu'], $setting); + $setting = civicrm_api4('Setting', 'get', ['select' => ['menubar_position'], 'checkPermissions' => FALSE], 0); + $this->assertEquals('over-cms-menu', $setting['value']); + } + + public function testInvalidSetting() { + $message = ''; + try { + Setting::set()->addValue('not_a_real_setting!', 'hello')->setCheckPermissions(FALSE)->execute(); + } + catch (\API_Exception $e) { + $message = $e->getMessage(); + } + $this->assertContains('setting', $message); + } + +} diff --git a/tests/phpunit/api/v4/Mock/Api4/Action/MockArrayEntity/Get.php b/tests/phpunit/api/v4/Mock/Api4/Action/MockArrayEntity/Get.php new file mode 100644 index 0000000000..c18db658e6 --- /dev/null +++ b/tests/phpunit/api/v4/Mock/Api4/Action/MockArrayEntity/Get.php @@ -0,0 +1,88 @@ + 1, + 'field2' => 'zebra', + 'field3' => NULL, + 'field4' => [1, 2, 3], + 'field5' => 'apple', + ], + [ + 'field1' => 2, + 'field2' => 'yack', + 'field3' => 0, + 'field4' => [2, 3, 4], + 'field5' => 'banana', + 'field6' => '', + ], + [ + 'field1' => 3, + 'field2' => 'x ray', + 'field4' => [3, 4, 5], + 'field5' => 'banana', + 'field6' => 0, + ], + [ + 'field1' => 4, + 'field2' => 'wildebeest', + 'field3' => 1, + 'field4' => [4, 5, 6], + 'field5' => 'apple', + 'field6' => '0', + ], + [ + 'field1' => 5, + 'field2' => 'vole', + 'field3' => 1, + 'field4' => [4, 5, 6], + 'field5' => 'apple', + 'field6' => 0, + ], + ]; + } + +} diff --git a/tests/phpunit/api/v4/Mock/Api4/MockArrayEntity.php b/tests/phpunit/api/v4/Mock/Api4/MockArrayEntity.php new file mode 100644 index 0000000000..12324c3ed5 --- /dev/null +++ b/tests/phpunit/api/v4/Mock/Api4/MockArrayEntity.php @@ -0,0 +1,57 @@ + 'id', + 'type' => 'Integer', + ], + [ + 'name' => 'group', + 'options' => [ + 'one' => 'One', + 'two' => 'Two', + ], + ], + [ + 'name' => 'color', + ], + [ + 'name' => 'shape', + ], + [ + 'name' => 'size', + ], + [ + 'name' => 'weight', + ], + ]; + }); + } + + /** + * @return Generic\BasicGetAction + */ + public static function get() { + return new Generic\BasicGetAction('MockBasicEntity', __FUNCTION__, [MockEntityDataStorage::CLASS, 'get']); + } + + /** + * @return Generic\BasicCreateAction + */ + public static function create() { + return new Generic\BasicCreateAction(static::class, __FUNCTION__, [MockEntityDataStorage::CLASS, 'write']); + } + + /** + * @return Generic\BasicSaveAction + */ + public static function save() { + return new Generic\BasicSaveAction(self::getEntityName(), __FUNCTION__, 'id', [MockEntityDataStorage::CLASS, 'write']); + } + + /** + * @return Generic\BasicUpdateAction + */ + public static function update() { + return new Generic\BasicUpdateAction(self::getEntityName(), __FUNCTION__, 'id', [MockEntityDataStorage::CLASS, 'write']); + } + + /** + * @return Generic\BasicBatchAction + */ + public static function delete() { + return new Generic\BasicBatchAction('MockBasicEntity', __FUNCTION__, 'id', [MockEntityDataStorage::CLASS, 'delete']); + } + + /** + * @return Generic\BasicBatchAction + */ + public static function batchFrobnicate() { + return new Generic\BasicBatchAction('MockBasicEntity', __FUNCTION__, ['id', 'number'], function ($item) { + return [ + 'id' => $item['id'], + 'frobnication' => $item['number'] * $item['number'], + ]; + }); + } + + /** + * @return Generic\BasicReplaceAction + */ + public static function replace() { + return new Generic\BasicReplaceAction('MockBasicEntity', __FUNCTION__); + } + +} diff --git a/tests/phpunit/api/v4/Mock/MockEntityDataStorage.php b/tests/phpunit/api/v4/Mock/MockEntityDataStorage.php new file mode 100644 index 0000000000..6ab6d975e4 --- /dev/null +++ b/tests/phpunit/api/v4/Mock/MockEntityDataStorage.php @@ -0,0 +1,69 @@ + 1]; + +} diff --git a/tests/phpunit/api/v4/Mock/MockV4ReflectionGrandchild.php b/tests/phpunit/api/v4/Mock/MockV4ReflectionGrandchild.php new file mode 100644 index 0000000000..a481008243 --- /dev/null +++ b/tests/phpunit/api/v4/Mock/MockV4ReflectionGrandchild.php @@ -0,0 +1,51 @@ +cleanup(['tablesToTruncate' => $relatedTables]); + $this->loadDataSet('SingleContact'); + return parent::setUpHeadless(); + } + + public function testWithComplexRelatedEntitySelect() { + $query = new Api4SelectQuery('Contact', FALSE, civicrm_api4('Contact', 'getFields', ['includeCustom' => FALSE, 'checkPermissions' => FALSE, 'action' => 'get'], 'name')); + $query->select[] = 'id'; + $query->select[] = 'display_name'; + $query->select[] = 'phones.phone'; + $query->select[] = 'emails.email'; + $query->select[] = 'emails.location_type.name'; + $query->select[] = 'created_activities.contact_id'; + $query->select[] = 'created_activities.activity.subject'; + $query->select[] = 'created_activities.activity.activity_type.name'; + $query->where[] = ['first_name', '=', 'Single']; + $query->where[] = ['id', '=', $this->getReference('test_contact_1')['id']]; + $results = $query->run(); + + $testActivities = [ + $this->getReference('test_activity_1'), + $this->getReference('test_activity_2'), + ]; + $activitySubjects = array_column($testActivities, 'subject'); + + $this->assertCount(1, $results); + $firstResult = array_shift($results); + $this->assertArrayHasKey('created_activities', $firstResult); + $firstCreatedActivity = array_shift($firstResult['created_activities']); + $this->assertArrayHasKey('activity', $firstCreatedActivity); + $firstActivity = $firstCreatedActivity['activity']; + $this->assertContains($firstActivity['subject'], $activitySubjects); + $this->assertArrayHasKey('activity_type', $firstActivity); + $activityType = $firstActivity['activity_type']; + $this->assertArrayHasKey('name', $activityType); + } + + public function testWithSelectOfOrphanDeepValues() { + $query = new Api4SelectQuery('Contact', FALSE, civicrm_api4('Contact', 'getFields', ['includeCustom' => FALSE, 'checkPermissions' => FALSE, 'action' => 'get'], 'name')); + $query->select[] = 'id'; + $query->select[] = 'first_name'; + // emails not selected + $query->select[] = 'emails.location_type.name'; + $results = $query->run(); + $firstResult = array_shift($results); + + $this->assertEmpty($firstResult['emails']); + } + + public function testOrderDoesNotMatter() { + $query = new Api4SelectQuery('Contact', FALSE, civicrm_api4('Contact', 'getFields', ['includeCustom' => FALSE, 'checkPermissions' => FALSE, 'action' => 'get'], 'name')); + $query->select[] = 'id'; + $query->select[] = 'first_name'; + // before emails selection + $query->select[] = 'emails.location_type.name'; + $query->select[] = 'emails.email'; + $query->where[] = ['emails.email', 'IS NOT NULL']; + $results = $query->run(); + $firstResult = array_shift($results); + + $this->assertNotEmpty($firstResult['emails'][0]['location_type']['name']); + } + +} diff --git a/tests/phpunit/api/v4/Query/Api4SelectQueryTest.php b/tests/phpunit/api/v4/Query/Api4SelectQueryTest.php new file mode 100644 index 0000000000..65d2317937 --- /dev/null +++ b/tests/phpunit/api/v4/Query/Api4SelectQueryTest.php @@ -0,0 +1,124 @@ +cleanup(['tablesToTruncate' => $relatedTables]); + $this->loadDataSet('DefaultDataSet'); + $displayNameFormat = '{contact.first_name}{ }{contact.last_name}'; + \Civi::settings()->set('display_name_format', $displayNameFormat); + + return parent::setUpHeadless(); + } + + public function testWithSingleWhereJoin() { + $phoneNum = $this->getReference('test_phone_1')['phone']; + + $query = new Api4SelectQuery('Contact', FALSE, civicrm_api4('Contact', 'getFields', ['includeCustom' => FALSE, 'checkPermissions' => FALSE, 'action' => 'get'], 'name')); + $query->where[] = ['phones.phone', '=', $phoneNum]; + $results = $query->run(); + + $this->assertCount(1, $results); + } + + public function testOneToManyJoin() { + $phoneNum = $this->getReference('test_phone_1')['phone']; + + $query = new Api4SelectQuery('Contact', FALSE, civicrm_api4('Contact', 'getFields', ['includeCustom' => FALSE, 'checkPermissions' => FALSE, 'action' => 'get'], 'name')); + $query->select[] = 'id'; + $query->select[] = 'first_name'; + $query->select[] = 'phones.phone'; + $query->where[] = ['phones.phone', '=', $phoneNum]; + $results = $query->run(); + + $this->assertCount(1, $results); + $firstResult = array_shift($results); + $this->assertArrayHasKey('phones', $firstResult); + $firstPhone = array_shift($firstResult['phones']); + $this->assertEquals($phoneNum, $firstPhone['phone']); + } + + public function testManyToOneJoin() { + $phoneNum = $this->getReference('test_phone_1')['phone']; + $contact = $this->getReference('test_contact_1'); + + $query = new Api4SelectQuery('Phone', FALSE, civicrm_api4('Phone', 'getFields', ['includeCustom' => FALSE, 'checkPermissions' => FALSE, 'action' => 'get'], 'name')); + $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); + $firstResult = array_shift($results); + $this->assertEquals($contact['display_name'], $firstResult['contact.display_name']); + } + + public function testOneToManyMultipleJoin() { + $query = new Api4SelectQuery('Contact', FALSE, civicrm_api4('Contact', 'getFields', ['includeCustom' => FALSE, 'checkPermissions' => FALSE, 'action' => 'get'], 'name')); + $query->select[] = 'id'; + $query->select[] = 'first_name'; + $query->select[] = 'phones.phone'; + $query->where[] = ['first_name', '=', 'Phoney']; + $results = $query->run(); + $result = array_pop($results); + + $this->assertEquals('Phoney', $result['first_name']); + $this->assertCount(2, $result['phones']); + } + +} diff --git a/tests/phpunit/api/v4/Query/OneToOneJoinTest.php b/tests/phpunit/api/v4/Query/OneToOneJoinTest.php new file mode 100644 index 0000000000..2fd0e0c115 --- /dev/null +++ b/tests/phpunit/api/v4/Query/OneToOneJoinTest.php @@ -0,0 +1,79 @@ +addValue('first_name', 'Contact') + ->addValue('last_name', 'One') + ->addValue('contact_type', 'Individual') + ->addValue('preferred_language', 'hy_AM') + ->execute() + ->first(); + + $basqueContact = Contact::create() + ->addValue('first_name', 'Contact') + ->addValue('last_name', 'Two') + ->addValue('contact_type', 'Individual') + ->addValue('preferred_language', 'eu_ES') + ->execute() + ->first(); + + $contacts = Contact::get() + ->addWhere('id', 'IN', [$armenianContact['id'], $basqueContact['id']]) + ->addSelect('preferred_language.label') + ->addSelect('last_name') + ->execute() + ->indexBy('last_name') + ->getArrayCopy(); + + $this->assertEquals($contacts['One']['preferred_language.label'], 'Armenian'); + $this->assertEquals($contacts['Two']['preferred_language.label'], 'Basque'); + } + +} diff --git a/tests/phpunit/api/v4/Query/OptionValueJoinTest.php b/tests/phpunit/api/v4/Query/OptionValueJoinTest.php new file mode 100644 index 0000000000..854383d4b9 --- /dev/null +++ b/tests/phpunit/api/v4/Query/OptionValueJoinTest.php @@ -0,0 +1,81 @@ +cleanup(['tablesToTruncate' => $relatedTables]); + $this->loadDataSet('SingleContact'); + + return parent::setUpHeadless(); + } + + public function testCommunicationMethodJoin() { + $query = new Api4SelectQuery('Contact', FALSE, civicrm_api4('Contact', 'getFields', ['includeCustom' => FALSE, 'checkPermissions' => FALSE, 'action' => 'get'], 'name')); + $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); + $firstPreferredMethod = array_shift($first['preferred_communication_method']); + + $this->assertEquals( + 'Phone', + $firstPreferredMethod['label'] + ); + } + +} diff --git a/tests/phpunit/api/v4/Query/SelectQueryMultiJoinTest.php b/tests/phpunit/api/v4/Query/SelectQueryMultiJoinTest.php new file mode 100644 index 0000000000..f591373bc3 --- /dev/null +++ b/tests/phpunit/api/v4/Query/SelectQueryMultiJoinTest.php @@ -0,0 +1,110 @@ +cleanup(['tablesToTruncate' => ['civicrm_contact', 'civicrm_email']]); + $this->loadDataSet('MultiContactMultiEmail'); + return parent::setUpHeadless(); + } + + public function testOneToManySelect() { + $results = Contact::get() + ->addSelect('emails.email') + ->execute() + ->indexBy('id') + ->getArrayCopy(); + + $firstContactId = $this->getReference('test_contact_1')['id']; + $secondContactId = $this->getReference('test_contact_2')['id']; + + $firstContact = $results[$firstContactId]; + $secondContact = $results[$secondContactId]; + $firstContactEmails = array_column($firstContact['emails'], 'email'); + $secondContactEmails = array_column($secondContact['emails'], 'email'); + + $expectedFirstEmails = [ + 'test_contact_one_home@fakedomain.com', + 'test_contact_one_work@fakedomain.com', + ]; + $expectedSecondEmails = [ + 'test_contact_two_home@fakedomain.com', + 'test_contact_two_work@fakedomain.com', + ]; + + $this->assertEquals($expectedFirstEmails, $firstContactEmails); + $this->assertEquals($expectedSecondEmails, $secondContactEmails); + } + + public function testManyToOneSelect() { + $results = Email::get() + ->addSelect('contact.display_name') + ->execute() + ->indexBy('id') + ->getArrayCopy(); + + $firstEmail = $this->getReference('test_email_1'); + $secondEmail = $this->getReference('test_email_2'); + $thirdEmail = $this->getReference('test_email_3'); + $fourthEmail = $this->getReference('test_email_4'); + $firstContactEmailIds = [$firstEmail['id'], $secondEmail['id']]; + $secondContactEmailIds = [$thirdEmail['id'], $fourthEmail['id']]; + + foreach ($results as $id => $email) { + $displayName = $email['contact.display_name']; + if (in_array($id, $firstContactEmailIds)) { + $this->assertEquals('First Contact', $displayName); + } + elseif (in_array($id, $secondContactEmailIds)) { + $this->assertEquals('Second Contact', $displayName); + } + } + } + +} diff --git a/tests/phpunit/api/v4/Service/Schema/SchemaMapRealTableTest.php b/tests/phpunit/api/v4/Service/Schema/SchemaMapRealTableTest.php new file mode 100644 index 0000000000..f7e0ad65b4 --- /dev/null +++ b/tests/phpunit/api/v4/Service/Schema/SchemaMapRealTableTest.php @@ -0,0 +1,58 @@ +get('schema_map'); + $this->assertNotEmpty($map->getTables()); + } + + public function testSimplePathWillExist() { + $map = \Civi::container()->get('schema_map'); + $path = $map->getPath('civicrm_contact', 'emails'); + $this->assertCount(1, $path); + } + +} diff --git a/tests/phpunit/api/v4/Service/Schema/SchemaMapperTest.php b/tests/phpunit/api/v4/Service/Schema/SchemaMapperTest.php new file mode 100644 index 0000000000..5d33a0792d --- /dev/null +++ b/tests/phpunit/api/v4/Service/Schema/SchemaMapperTest.php @@ -0,0 +1,125 @@ +assertEmpty($map->getPath('foo', 'bar')); + } + + public function testWillHavePathWithSingleJump() { + $phoneTable = new Table('civicrm_phone'); + $locationTable = new Table('civicrm_location_type'); + $link = new Joinable('civicrm_location_type', 'id', 'location'); + $phoneTable->addTableLink('location_type_id', $link); + + $map = new SchemaMap(); + $map->addTables([$phoneTable, $locationTable]); + + $this->assertNotEmpty($map->getPath('civicrm_phone', 'location')); + } + + public function testWillHavePathWithDoubleJump() { + $activity = new Table('activity'); + $activityContact = new Table('activity_contact'); + $middleLink = new Joinable('activity_contact', 'activity_id'); + $contactLink = new Joinable('contact', 'id'); + $activity->addTableLink('id', $middleLink); + $activityContact->addTableLink('contact_id', $contactLink); + + $map = new SchemaMap(); + $map->addTables([$activity, $activityContact]); + + $this->assertNotEmpty($map->getPath('activity', 'contact')); + } + + public function testPathWithTripleJoin() { + $first = new Table('first'); + $second = new Table('second'); + $third = new Table('third'); + $first->addTableLink('id', new Joinable('second', 'id')); + $second->addTableLink('id', new Joinable('third', 'id')); + $third->addTableLink('id', new Joinable('fourth', 'id')); + + $map = new SchemaMap(); + $map->addTables([$first, $second, $third]); + + $this->assertNotEmpty($map->getPath('first', 'fourth')); + } + + public function testCircularReferenceWillNotBreakIt() { + $contactTable = new Table('contact'); + $carTable = new Table('car'); + $carLink = new Joinable('car', 'id'); + $ownerLink = new Joinable('contact', 'id'); + $contactTable->addTableLink('car_id', $carLink); + $carTable->addTableLink('owner_id', $ownerLink); + + $map = new SchemaMap(); + $map->addTables([$contactTable, $carTable]); + + $this->assertEmpty($map->getPath('contact', 'foo')); + } + + public function testCannotGoOverJoinLimit() { + $first = new Table('first'); + $second = new Table('second'); + $third = new Table('third'); + $fourth = new Table('fourth'); + $first->addTableLink('id', new Joinable('second', 'id')); + $second->addTableLink('id', new Joinable('third', 'id')); + $third->addTableLink('id', new Joinable('fourth', 'id')); + $fourth->addTableLink('id', new Joinable('fifth', 'id')); + + $map = new SchemaMap(); + $map->addTables([$first, $second, $third, $fourth]); + + $this->assertEmpty($map->getPath('first', 'fifth')); + } + +} diff --git a/tests/phpunit/api/v4/Service/TestCreationParameterProvider.php b/tests/phpunit/api/v4/Service/TestCreationParameterProvider.php new file mode 100644 index 0000000000..6a44e311ff --- /dev/null +++ b/tests/phpunit/api/v4/Service/TestCreationParameterProvider.php @@ -0,0 +1,179 @@ +gatherer = $gatherer; + } + + /** + * @param $entity + * + * @return array + */ + public function getRequired($entity) { + $createSpec = $this->gatherer->getSpec($entity, 'create', FALSE); + $requiredFields = array_merge($createSpec->getRequiredFields(), $createSpec->getConditionalRequiredFields()); + + if ($entity === 'Contact') { + $requiredFields[] = $createSpec->getFieldByName('first_name'); + $requiredFields[] = $createSpec->getFieldByName('last_name'); + } + + $requiredParams = []; + foreach ($requiredFields as $requiredField) { + $value = $this->getRequiredValue($requiredField); + $requiredParams[$requiredField->getName()] = $value; + } + + unset($requiredParams['id']); + + return $requiredParams; + } + + /** + * Attempt to get a value using field option, defaults, FKEntity, or a random + * value based on the data type. + * + * @param \Civi\Api4\Service\Spec\FieldSpec $field + * + * @return mixed + * @throws \Exception + */ + private function getRequiredValue(FieldSpec $field) { + + if ($field->getOptions()) { + return $this->getOption($field); + } + elseif ($field->getDefaultValue()) { + return $field->getDefaultValue(); + } + elseif ($field->getFkEntity()) { + return $this->getFkID($field, $field->getFkEntity()); + } + elseif (in_array($field->getName(), ['entity_id', 'contact_id'])) { + return $this->getFkID($field, 'Contact'); + } + + $randomValue = $this->getRandomValue($field->getDataType()); + + if ($randomValue) { + return $randomValue; + } + + throw new \Exception('Could not provide default value'); + } + + /** + * @param \Civi\Api4\Service\Spec\FieldSpec $field + * + * @return mixed + */ + private function getOption(FieldSpec $field) { + $options = $field->getOptions(); + return array_rand($options); + } + + /** + * @param \Civi\Api4\Service\Spec\FieldSpec $field + * @param string $fkEntity + * + * @return mixed + * @throws \Exception + */ + private function getFkID(FieldSpec $field, $fkEntity) { + $params = ['checkPermissions' => FALSE]; + // Be predictable about what type of contact we select + if ($fkEntity === 'Contact') { + $params['where'] = [['contact_type', '=', 'Individual']]; + } + $entityList = civicrm_api4($fkEntity, 'get', $params); + if ($entityList->count() < 1) { + $msg = sprintf('At least one %s is required in test', $fkEntity); + throw new \Exception($msg); + } + + return $entityList->last()['id']; + } + + /** + * @param $dataType + * + * @return int|null|string + */ + private function getRandomValue($dataType) { + switch ($dataType) { + case 'Boolean': + return TRUE; + + case 'Integer': + return rand(1, 2000); + + case 'String': + return \CRM_Utils_String::createRandom(10, implode('', range('a', 'z'))); + + case 'Text': + return \CRM_Utils_String::createRandom(100, implode('', range('a', 'z'))); + + case 'Money': + return sprintf('%d.%2d', rand(0, 2000), rand(10, 99)); + + case 'Date': + return '20100102'; + + case 'Timestamp': + return 'now'; + } + + return NULL; + } + +} diff --git a/tests/phpunit/api/v4/Spec/RequestSpecTest.php b/tests/phpunit/api/v4/Spec/RequestSpecTest.php new file mode 100644 index 0000000000..4c1dc6ea97 --- /dev/null +++ b/tests/phpunit/api/v4/Spec/RequestSpecTest.php @@ -0,0 +1,77 @@ +setRequired(TRUE); + $nonRequiredField = new FieldSpec('age', 'Contact', 'Integer'); + $nonRequiredField->setRequired(FALSE); + $spec->addFieldSpec($requiredField); + $spec->addFieldSpec($nonRequiredField); + + $requiredFields = $spec->getRequiredFields(); + + $this->assertCount(1, $requiredFields); + $this->assertEquals('name', array_shift($requiredFields)->getName()); + } + + public function testGettingFieldNames() { + $spec = new RequestSpec('Contact', 'get'); + $nameField = new FieldSpec('name', 'Contact'); + $ageField = new FieldSpec('age', 'Contact', 'Integer'); + $spec->addFieldSpec($nameField); + $spec->addFieldSpec($ageField); + + $fieldNames = $spec->getFieldNames(); + + $this->assertCount(2, $fieldNames); + $this->assertEquals(['name', 'age'], $fieldNames); + } + +} diff --git a/tests/phpunit/api/v4/Spec/SpecFormatterTest.php b/tests/phpunit/api/v4/Spec/SpecFormatterTest.php new file mode 100644 index 0000000000..f80b3da12d --- /dev/null +++ b/tests/phpunit/api/v4/Spec/SpecFormatterTest.php @@ -0,0 +1,128 @@ +addFieldSpec($field); + $arraySpec = SpecFormatter::specToArray($spec->getFields()); + + $this->assertEquals('String', $arraySpec[$fieldName]['data_type']); + } + + /** + * @dataProvider arrayFieldSpecProvider + * + * @param array $fieldData + * @param string $expectedName + * @param string $expectedType + */ + public function testArrayToField($fieldData, $expectedName, $expectedType) { + $field = SpecFormatter::arrayToField($fieldData, 'TestEntity'); + + $this->assertEquals($expectedName, $field->getName()); + $this->assertEquals($expectedType, $field->getDataType()); + } + + public function testCustomFieldWillBeReturned() { + $customGroupId = 1432; + $customFieldId = 3333; + $name = 'MyFancyField'; + + $data = [ + 'custom_group_id' => $customGroupId, + 'custom_group.name' => 'my_group', + 'id' => $customFieldId, + 'name' => $name, + 'data_type' => 'String', + 'html_type' => 'Multi-Select', + ]; + + /** @var \Civi\Api4\Service\Spec\CustomFieldSpec $field */ + $field = SpecFormatter::arrayToField($data, 'TestEntity'); + + $this->assertInstanceOf(CustomFieldSpec::class, $field); + $this->assertEquals('my_group', $field->getCustomGroupName()); + $this->assertEquals($customFieldId, $field->getCustomFieldId()); + $this->assertEquals(\CRM_Core_DAO::SERIALIZE_SEPARATOR_BOOKEND, $field->getSerialize()); + $this->assertEquals('Select', $field->getInputType()); + $this->assertTrue($field->getInputAttrs()['multiple']); + } + + /** + * @return array + */ + public function arrayFieldSpecProvider() { + return [ + [ + [ + 'name' => 'Foo', + 'title' => 'Bar', + 'type' => \CRM_Utils_Type::T_STRING, + ], + 'Foo', + 'String', + ], + [ + [ + 'name' => 'MyField', + 'title' => 'Bar', + 'type' => \CRM_Utils_Type::T_STRING, + // this should take precedence + 'data_type' => 'Boolean', + ], + 'MyField', + 'Boolean', + ], + ]; + } + +} diff --git a/tests/phpunit/api/v4/Spec/SpecGathererTest.php b/tests/phpunit/api/v4/Spec/SpecGathererTest.php new file mode 100644 index 0000000000..368054a564 --- /dev/null +++ b/tests/phpunit/api/v4/Spec/SpecGathererTest.php @@ -0,0 +1,130 @@ +dropByPrefix('civicrm_value_favorite'); + $this->cleanup([ + 'tablesToTruncate' => [ + 'civicrm_custom_group', + 'civicrm_custom_field', + ], + ]); + return parent::setUpHeadless(); + } + + public function testBasicFieldsGathering() { + $gatherer = new SpecGatherer(); + $specs = $gatherer->getSpec('Contact', 'get', FALSE); + $contactDAO = _civicrm_api3_get_DAO('Contact'); + $contactFields = $contactDAO::fields(); + $specFieldNames = $specs->getFieldNames(); + $contactFieldNames = array_column($contactFields, 'name'); + + $this->assertEmpty(array_diff_key($contactFieldNames, $specFieldNames)); + } + + public function testWithSpecProvider() { + $gather = new SpecGatherer(); + + $provider = $this->prophesize(SpecProviderInterface::class); + $provider->applies('Contact', 'create')->willReturn(TRUE); + $provider->modifySpec(Argument::any())->will(function ($args) { + /** @var \Civi\Api4\Service\Spec\RequestSpec $spec */ + $spec = $args[0]; + $spec->addFieldSpec(new FieldSpec('foo', 'Contact')); + }); + $gather->addSpecProvider($provider->reveal()); + + $spec = $gather->getSpec('Contact', 'create', FALSE); + $fieldNames = $spec->getFieldNames(); + + $this->assertContains('foo', $fieldNames); + } + + public function testPseudoConstantOptionsWillBeAdded() { + $customGroupId = CustomGroup::create() + ->setCheckPermissions(FALSE) + ->addValue('name', 'FavoriteThings') + ->addValue('extends', 'Contact') + ->execute() + ->first()['id']; + + $options = ['r' => 'Red', 'g' => 'Green', 'p' => 'Pink']; + + CustomField::create() + ->setCheckPermissions(FALSE) + ->addValue('label', 'FavColor') + ->addValue('custom_group_id', $customGroupId) + ->addValue('option_values', $options) + ->addValue('html_type', 'Select') + ->addValue('data_type', 'String') + ->execute(); + + $gatherer = new SpecGatherer(); + $spec = $gatherer->getSpec('Contact', 'get', TRUE); + + $regularField = $spec->getFieldByName('contact_type'); + $this->assertNotEmpty($regularField->getOptions()); + $this->assertContains('Individual', $regularField->getOptions()); + + $customField = $spec->getFieldByName('FavoriteThings.FavColor'); + $this->assertNotEmpty($customField->getOptions()); + $this->assertContains('Green', $customField->getOptions()); + $this->assertEquals('Pink', $customField->getOptions()['p']); + } + +} diff --git a/tests/phpunit/api/v4/Traits/OptionCleanupTrait.php b/tests/phpunit/api/v4/Traits/OptionCleanupTrait.php new file mode 100644 index 0000000000..9c1ed5cba0 --- /dev/null +++ b/tests/phpunit/api/v4/Traits/OptionCleanupTrait.php @@ -0,0 +1,65 @@ +optionGroupMaxId = \CRM_Core_DAO::singleValueQuery('SELECT MAX(id) FROM civicrm_option_group'); + $this->optionValueMaxId = \CRM_Core_DAO::singleValueQuery('SELECT MAX(id) FROM civicrm_option_value'); + } + + public function tearDown() { + if ($this->optionValueMaxId) { + \CRM_Core_DAO::executeQuery('DELETE FROM civicrm_option_value WHERE id > ' . $this->optionValueMaxId); + } + if ($this->optionGroupMaxId) { + \CRM_Core_DAO::executeQuery('DELETE FROM civicrm_option_group WHERE id > ' . $this->optionGroupMaxId); + } + } + +} diff --git a/tests/phpunit/api/v4/Traits/QueryCounterTrait.php b/tests/phpunit/api/v4/Traits/QueryCounterTrait.php new file mode 100644 index 0000000000..c8a8c048f6 --- /dev/null +++ b/tests/phpunit/api/v4/Traits/QueryCounterTrait.php @@ -0,0 +1,78 @@ +startCount = $this->getCurrentGlobalQueryCount(); + } + + /** + * @return int + * The number of queries since the counter was started + */ + protected function getQueryCount() { + return $this->getCurrentGlobalQueryCount() - $this->startCount; + } + + /** + * @return int + * @throws \Exception + */ + private function getCurrentGlobalQueryCount() { + global $_DB_DATAOBJECT; + + if (!$_DB_DATAOBJECT) { + throw new \Exception('Database object not set so cannot count queries'); + } + + return ArrayHelper::value('RESULTSEQ', $_DB_DATAOBJECT, 0); + } + +} diff --git a/tests/phpunit/api/v4/Traits/TableDropperTrait.php b/tests/phpunit/api/v4/Traits/TableDropperTrait.php new file mode 100644 index 0000000000..91f5ccd3e3 --- /dev/null +++ b/tests/phpunit/api/v4/Traits/TableDropperTrait.php @@ -0,0 +1,59 @@ +fetch(); + $dropTableQuery = $dropTableQuery->statement; + + if ($dropTableQuery) { + \CRM_Core_DAO::executeQuery($dropTableQuery); + } + } + +} diff --git a/tests/phpunit/api/v4/Traits/TestDataLoaderTrait.php b/tests/phpunit/api/v4/Traits/TestDataLoaderTrait.php new file mode 100644 index 0000000000..9692505517 --- /dev/null +++ b/tests/phpunit/api/v4/Traits/TestDataLoaderTrait.php @@ -0,0 +1,104 @@ + $entities) { + foreach ($entities as $entityValues) { + + $entityValues = $this->replaceReferences($entityValues); + + $params = ['values' => $entityValues, 'checkPermissions' => FALSE]; + $result = civicrm_api4($entityName, 'create', $params); + if (isset($entityValues['@ref'])) { + $this->references[$entityValues['@ref']] = $result->first(); + } + } + } + } + + /** + * @param $name + * + * @return null|mixed + */ + protected function getReference($name) { + return isset($this->references[$name]) ? $this->references[$name] : NULL; + } + + /** + * @param array $entityValues + * + * @return array + */ + private function replaceReferences($entityValues) { + foreach ($entityValues as $name => $value) { + if (is_array($value)) { + $entityValues[$name] = $this->replaceReferences($value); + } + elseif (substr($value, 0, 4) === '@ref') { + $referenceName = substr($value, 5); + list ($reference, $property) = explode('.', $referenceName); + $entityValues[$name] = $this->references[$reference][$property]; + } + } + return $entityValues; + } + +} diff --git a/tests/phpunit/api/v4/UnitTestCase.php b/tests/phpunit/api/v4/UnitTestCase.php new file mode 100644 index 0000000000..f0474b761e --- /dev/null +++ b/tests/phpunit/api/v4/UnitTestCase.php @@ -0,0 +1,276 @@ +apply(); + } + + /** + * Tears down the fixture, for example, closes a network connection. + * + * This method is called after a test is executed. + */ + public function tearDown() { + parent::tearDown(); + } + + /** + * Quick clean by emptying tables created for the test. + * + * @param array $params + */ + public function cleanup($params) { + $params += [ + 'tablesToTruncate' => [], + ]; + \CRM_Core_DAO::executeQuery("SET FOREIGN_KEY_CHECKS = 0;"); + foreach ($params['tablesToTruncate'] as $table) { + \Civi::log()->info('truncating: ' . $table); + $sql = "TRUNCATE TABLE $table"; + \CRM_Core_DAO::executeQuery($sql); + } + \CRM_Core_DAO::executeQuery("SET FOREIGN_KEY_CHECKS = 1;"); + } + + /** + * Quick record counter + * + * @param string $table_name + * @returns int record count + */ + public function getRowCount($table_name) { + $sql = "SELECT count(id) FROM $table_name"; + return (int) \CRM_Core_DAO::singleValueQuery($sql); + } + + /** + * Create sample entities (using V3 for now). + * + * @param array $params + * (type, seq, overrides, count) + * @return array + * (either single, or array of array if count >1) + * @throws \CiviCRM_API3_Exception + * @throws \Exception + */ + public static function createEntity($params) { + $params += [ + 'count' => 1, + 'seq' => 0, + ]; + $entities = []; + $entity = NULL; + for ($i = 0; $i < $params['count']; $i++) { + $params['seq']++; + $data = self::sample($params); + $api_params = ['sequential' => 1] + $data['sample_params']; + $result = civicrm_api3($data['entity'], 'create', $api_params); + if ($result['is_error']) { + throw new \Exception("creating $data[entity] failed"); + } + $entity = $result['values'][0]; + if (!($entity['id'] > 0)) { + throw new \Exception("created entity is malformed"); + } + $entities[] = $entity; + } + return $params['count'] == 1 ? $entity : $entities; + } + + /** + * Helper function for creating sample entities. + * + * Depending on the supplied sequence integer, plucks values from the dummy data. + * Constructs a foreign entity when an ID is required but isn't supplied in the overrides. + * + * Inspired by CiviUnitTestCase:: + * @todo - extract this function to own class and share with CiviUnitTestCase? + * @param array $params + * - type: string roughly matching entity type + * - seq: (optional) int sequence number for the values of this type + * - overrides: (optional) array of fill in parameters + * + * @return array + * - entity: string API entity type (usually the type supplied except for contact subtypes) + * - sample_params: array API sample_params properties of sample entity + */ + public static function sample($params) { + $params += [ + 'seq' => 0, + 'overrides' => [], + ]; + $type = $params['type']; + // sample data - if field is array then chosed based on `seq` + $sample_params = []; + if (in_array($type, ['Individual', 'Organization', 'Household'])) { + $sample_params['contact_type'] = $type; + $entity = 'Contact'; + } + else { + $entity = $type; + } + // use the seq to pluck a set of params out + foreach (self::sampleData($type) as $key => $value) { + if (is_array($value)) { + $sample_params[$key] = $value[$params['seq'] % count($value)]; + } + else { + $sample_params[$key] = $value; + } + } + if ($type == 'Individual') { + $sample_params['email'] = strtolower( + $sample_params['first_name'] . '_' . $sample_params['last_name'] . '@civicrm.org' + ); + $sample_params['prefix_id'] = 3; + $sample_params['suffix_id'] = 3; + } + if (!count($sample_params)) { + throw new \Exception("unknown sample type: $type"); + } + $sample_params = $params['overrides'] + $sample_params; + // make foreign enitiies if they haven't been supplied + foreach ($sample_params as $key => $value) { + if (substr($value, 0, 6) === 'dummy.') { + $foreign_entity = self::createEntity([ + 'type' => substr($value, 6), + 'seq' => $params['seq'], + ]); + $sample_params[$key] = $foreign_entity['id']; + } + } + return compact("entity", "sample_params"); + } + + /** + * Provider of sample data. + * + * @return array + * Array values represent a set of allowable items. + * Strings in the form "dummy.Entity" require creating a foreign entity first. + */ + public static function sampleData($type) { + $data = [ + 'Individual' => [ + // The number of values in each list need to be coprime numbers to not have duplicates + 'first_name' => ['Anthony', 'Joe', 'Terrence', 'Lucie', 'Albert', 'Bill', 'Kim'], + 'middle_name' => ['J.', 'M.', 'P', 'L.', 'K.', 'A.', 'B.', 'C.', 'D', 'E.', 'Z.'], + 'last_name' => ['Anderson', 'Miller', 'Smith', 'Collins', 'Peterson'], + 'contact_type' => 'Individual', + ], + 'Organization' => [ + 'organization_name' => [ + 'Unit Test Organization', + 'Acme', + 'Roberts and Sons', + 'Cryo Space Labs', + 'Sharper Pens', + ], + ], + 'Household' => [ + 'household_name' => ['Unit Test household'], + ], + 'Event' => [ + 'title' => 'Annual CiviCRM meet', + '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, + 'is_public' => 1, + 'start_date' => 20081021, + 'end_date' => 20081023, + 'is_online_registration' => 1, + 'registration_start_date' => 20080601, + 'registration_end_date' => 20081015, + 'max_participants' => 100, + 'event_full_text' => 'Sorry! We are already full', + 'is_monetary' => 0, + 'is_active' => 1, + 'is_show_location' => 0, + ], + 'Participant' => [ + 'event_id' => 'dummy.Event', + 'contact_id' => 'dummy.Individual', + 'status_id' => 2, + 'role_id' => 1, + 'register_date' => 20070219, + 'source' => 'Wimbeldon', + 'event_level' => 'Payment', + ], + 'Contribution' => [ + 'contact_id' => 'dummy.Individual', + // donation, 2 = member, 3 = campaign contribution, 4=event + 'financial_type_id' => 1, + 'total_amount' => 7.3, + ], + 'Activity' => [ + //'activity_type_id' => 1, + 'subject' => 'unit testing', + 'source_contact_id' => 'dummy.Individual', + ], + ]; + if ($type == 'Contact') { + $type = 'Individual'; + } + return $data[$type]; + } + +} diff --git a/tests/phpunit/api/v4/Utils/ArrayInsertionServiceTest.php b/tests/phpunit/api/v4/Utils/ArrayInsertionServiceTest.php new file mode 100644 index 0000000000..ef4168cda7 --- /dev/null +++ b/tests/phpunit/api/v4/Utils/ArrayInsertionServiceTest.php @@ -0,0 +1,102 @@ + FALSE, 'bar' => FALSE]; + $inserter = new ArrayInsertionUtil(); + $inserter::insert($arr, $path, ['LALA']); + + $expected = [ + 'foo' => [ + 'bar' => 'LALA', + ], + ]; + + $this->assertEquals($expected, $arr); + } + + public function testInsertionOfContactEmailLocation() { + $contacts = [ + [ + 'id' => 1, + 'first_name' => 'Jim', + ], + [ + 'id' => 2, + 'first_name' => 'Karen', + ], + ]; + $emails = [ + [ + 'email' => 'jim@jim.com', + 'id' => 2, + '_parent_id' => 1, + ], + ]; + $locationTypes = [ + [ + 'name' => 'Home', + 'id' => 3, + '_parent_id' => 2, + ], + ]; + + $emailPath = ['emails' => TRUE]; + $locationPath = ['emails' => TRUE, 'location' => FALSE]; + $inserter = new ArrayInsertionUtil(); + + foreach ($contacts as &$contact) { + $inserter::insert($contact, $emailPath, $emails); + $inserter::insert($contact, $locationPath, $locationTypes); + } + + $locationType = $contacts[0]['emails'][0]['location']['name']; + $this->assertEquals('Home', $locationType); + } + +} diff --git a/tests/phpunit/api/v4/Utils/ReflectionUtilsTest.php b/tests/phpunit/api/v4/Utils/ReflectionUtilsTest.php new file mode 100644 index 0000000000..f1e9f4d535 --- /dev/null +++ b/tests/phpunit/api/v4/Utils/ReflectionUtilsTest.php @@ -0,0 +1,81 @@ +assertEquals(TRUE, $doc['internal']); + $this->assertEquals('Grandchild class', $doc['description']); + + $expectedComment = 'This is an extended description. + +There is a line break in this description. + +This is the base class.'; + + $this->assertEquals($expectedComment, $doc['comment']); + } + + /** + * Test that property annotations are returned across @inheritDoc + */ + public function testGetDocBlockForProperty() { + $grandChild = new MockV4ReflectionGrandchild(); + $reflection = new \ReflectionClass($grandChild); + $doc = ReflectionUtils::getCodeDocs($reflection->getProperty('foo'), 'Property'); + + $this->assertEquals('This is the foo property.', $doc['description']); + $this->assertEquals("In the child class, foo has been barred.\n\nIn general, you can do nothing with it.", $doc['comment']); + } + +} diff --git a/tests/phpunit/api/v4/services.xml b/tests/phpunit/api/v4/services.xml new file mode 100644 index 0000000000..3310b03e93 --- /dev/null +++ b/tests/phpunit/api/v4/services.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/tools/scripts/phpunit b/tools/scripts/phpunit index 671c4d7440..2e682bc0db 100755 --- a/tools/scripts/phpunit +++ b/tools/scripts/phpunit @@ -50,7 +50,7 @@ array_shift($argv); // Convert class names to file names $CIVICRM_UF = 'UnitTests'; foreach ($argv as $k => $v) { - if (preg_match('/^(CRM_|api_v3_|EnvTest|WebTest_|E2E_)/', $v)) { + if (preg_match('/^(CRM_|api_v3_|api_v4_|EnvTest|WebTest_|E2E_)/', $v)) { $argv[$k] = 'tests/phpunit/' . strtr($v, '_', '/') . '.php'; } elseif (preg_match('/^Civi\\\\/', $v)) { diff --git a/xml/schema/Contribute/Contribution.xml b/xml/schema/Contribute/Contribution.xml index 8c47a84fa8..d2f5593b3d 100644 --- a/xml/schema/Contribute/Contribution.xml +++ b/xml/schema/Contribute/Contribution.xml @@ -541,4 +541,16 @@ 4.7 + + is_template + Is a Template Contribution + boolean + 0 + true + Shows this is a template for recurring contributions. + + CheckBox + + 5.20 + diff --git a/xml/schema/Contribute/ContributionPage.xml b/xml/schema/Contribute/ContributionPage.xml index 351eef9129..9c08b4738b 100644 --- a/xml/schema/Contribute/ContributionPage.xml +++ b/xml/schema/Contribute/ContributionPage.xml @@ -460,4 +460,18 @@ if true - billing block is required for online contribution page 4.6 + + frontend_title + Public Title + varchar + 255 + true + NULL + Contribution Page Public title + + Text + + 5.20 + contribution_page_frontend_title + diff --git a/xml/schema/Core/Address.xml b/xml/schema/Core/Address.xml index 3e9ff7f550..183a1af5b0 100644 --- a/xml/schema/Core/Address.xml +++ b/xml/schema/Core/Address.xml @@ -392,6 +392,11 @@ 9 + + index_geo_code_1_geo_code_2 + geo_code_1 + geo_code_2 + manual_geo_code Is Manually Geocoded diff --git a/xml/schema/Core/StatusPreference.xml b/xml/schema/Core/StatusPreference.xml index 7e924e641a..7ae28e74bd 100644 --- a/xml/schema/Core/StatusPreference.xml +++ b/xml/schema/Core/StatusPreference.xml @@ -89,4 +89,12 @@ These values are per-check, and can't be compared across checks. 4.7 + + is_active + Check Is Active + boolean + 1 + Is this status check active? + 5.19 + diff --git a/xml/schema/Mailing/Mailing.xml b/xml/schema/Mailing/Mailing.xml index 0ef0930f0a..e4f8a0eaee 100644 --- a/xml/schema/Mailing/Mailing.xml +++ b/xml/schema/Mailing/Mailing.xml @@ -39,6 +39,12 @@ header_id Mailing Header int unsigned + + civicrm_mailing_component
    + id + name + component_type = "Header" +
    FK to the header component. @@ -51,6 +57,12 @@ footer_id Mailing Footer int unsigned + + civicrm_mailing_component
    + id + name + component_type = "Footer" +
    FK to the footer component. diff --git a/xml/templates/civicrm_navigation.tpl b/xml/templates/civicrm_navigation.tpl index 4a39b8feb7..82639e761e 100644 --- a/xml/templates/civicrm_navigation.tpl +++ b/xml/templates/civicrm_navigation.tpl @@ -574,7 +574,8 @@ SET @devellastID:=LAST_INSERT_ID(); INSERT INTO civicrm_navigation ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight ) VALUES -( @domainID, 'civicrm/api', '{ts escape="sql" skip="true"}API Explorer{/ts}','API Explorer', 'administer CiviCRM', '', @devellastID, '1', NULL, 1 ), +( @domainID, 'civicrm/api', '{ts escape="sql" skip="true"}Api Explorer v3{/ts}', 'API Explorer', 'administer CiviCRM', '', @devellastID, '1', NULL, 1 ), +( @domainID, 'civicrm/api4#/explorer', '{ts escape="sql" skip="true"}Api Explorer v4{/ts}', 'Api Explorer v4', 'administer CiviCRM', '', @devellastID, '1', NULL, 2 ), ( @domainID, 'https://civicrm.org/developer-documentation?src=iam', '{ts escape="sql" skip="true"}Developer Docs{/ts}', 'Developer Docs', 'administer CiviCRM', '', @devellastID, '1', NULL, 3 ); INSERT INTO civicrm_navigation diff --git a/xml/version.xml b/xml/version.xml index 5e17f30e94..e824915ca5 100644 --- a/xml/version.xml +++ b/xml/version.xml @@ -1,4 +1,4 @@ - 5.19.alpha1 + 5.20.alpha1