drupal-civicrm/sites/all/modules/civicrm/api/v3/examples/Activity/GetFields.php

527 lines
17 KiB
PHP
Raw Normal View History

2018-01-14 15:10:16 +02:00
<?php
/**
* Test Generated example demonstrating the Activity.getfields API.
*
* @return array
* API result array
*/
function activity_getfields_example() {
$params = array(
'action' => 'create',
);
try{
$result = civicrm_api3('Activity', 'getfields', $params);
}
catch (CiviCRM_API3_Exception $e) {
// Handle error here.
$errorMessage = $e->getMessage();
$errorCode = $e->getErrorCode();
$errorData = $e->getExtraParams();
return array(
'is_error' => 1,
'error_message' => $errorMessage,
'error_code' => $errorCode,
'error_data' => $errorData,
);
}
return $result;
}
/**
* Function returns array of result expected from previous function.
*
* @return array
* API result array
*/
function activity_getfields_expectedresult() {
$expectedResult = array(
'is_error' => 0,
'version' => 3,
'count' => 29,
'values' => array(
'source_record_id' => array(
'name' => 'source_record_id',
'type' => 1,
'title' => 'Source Record',
'description' => 'Artificial FK to original transaction (e.g. contribution) IF it is not an Activity. Table can be figured out through activity_type_id, and further through component registry.',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
),
'activity_type_id' => array(
'name' => 'activity_type_id',
'type' => 1,
'title' => 'Activity Type ID',
'description' => 'FK to civicrm_option_value.id, that has to be valid, registered activity type.',
'required' => TRUE,
'import' => TRUE,
'where' => 'civicrm_activity.activity_type_id',
'headerPattern' => '/(activity.)?type(.id$)/i',
'export' => TRUE,
'default' => '1',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Select',
'size' => 6,
'maxlength' => 14,
),
'pseudoconstant' => array(
'optionGroupName' => 'activity_type',
'optionEditPath' => 'civicrm/admin/options/activity_type',
),
),
'activity_date_time' => array(
'name' => 'activity_date_time',
'type' => 12,
'title' => 'Activity Date',
'description' => 'Date and time this activity is scheduled to occur. Formerly named scheduled_date_time.',
'import' => TRUE,
'where' => 'civicrm_activity.activity_date_time',
'headerPattern' => '/(activity.)?date(.time$)?/i',
'export' => TRUE,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Select Date',
'format' => 'activityDateTime',
),
),
'phone_id' => array(
'name' => 'phone_id',
'type' => 1,
'title' => 'Phone (called) ID',
'description' => 'Phone ID of the number called (optional - used if an existing phone number is selected).',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'FKClassName' => 'CRM_Core_DAO_Phone',
'html' => array(
'type' => 'EntityRef',
'size' => 6,
'maxlength' => 14,
),
'FKApiName' => 'Phone',
),
'phone_number' => array(
'name' => 'phone_number',
'type' => 2,
'title' => 'Phone (called) Number',
'description' => 'Phone number in case the number does not exist in the civicrm_phone table.',
'maxlength' => 64,
'size' => 30,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Text',
'maxlength' => 64,
'size' => 30,
),
),
'priority_id' => array(
'name' => 'priority_id',
'type' => 1,
'title' => 'Priority',
'description' => 'ID of the priority given to this activity. Foreign key to civicrm_option_value.',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Select',
'size' => 6,
'maxlength' => 14,
),
'pseudoconstant' => array(
'optionGroupName' => 'priority',
'optionEditPath' => 'civicrm/admin/options/priority',
),
),
'parent_id' => array(
'name' => 'parent_id',
'type' => 1,
'title' => 'Parent Activity Id',
'description' => 'Parent meeting ID (if this is a follow-up item). This is not currently implemented',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'FKClassName' => 'CRM_Activity_DAO_Activity',
'FKApiName' => 'Activity',
),
'is_auto' => array(
'name' => 'is_auto',
'type' => 16,
'title' => 'Auto',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
),
'relationship_id' => array(
'name' => 'relationship_id',
'type' => 1,
'title' => 'Relationship Id',
'description' => 'FK to Relationship ID',
'default' => 'NULL',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'FKClassName' => 'CRM_Contact_DAO_Relationship',
'FKApiName' => 'Relationship',
),
'is_current_revision' => array(
'name' => 'is_current_revision',
'type' => 16,
'title' => 'Is this activity a current revision in versioning chain?',
'import' => TRUE,
'where' => 'civicrm_activity.is_current_revision',
'headerPattern' => '/(is.)?(current.)?(revision|version(ing)?)/i',
'export' => TRUE,
'default' => '1',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'CheckBox',
),
),
'original_id' => array(
'name' => 'original_id',
'type' => 1,
'title' => 'Original Activity ID ',
'description' => 'Activity ID of the first activity record in versioning chain.',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'FKClassName' => 'CRM_Activity_DAO_Activity',
'FKApiName' => 'Activity',
),
'weight' => array(
'name' => 'weight',
'type' => 1,
'title' => 'Order',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Text',
'size' => 6,
'maxlength' => 14,
),
),
'is_star' => array(
'name' => 'is_star',
'type' => 16,
'title' => 'Is Starred',
'description' => 'Activity marked as favorite.',
'import' => TRUE,
'where' => 'civicrm_activity.is_star',
'headerPattern' => '/(activity.)?(star|favorite)/i',
'export' => TRUE,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
),
'id' => array(
'name' => 'id',
'type' => 1,
'title' => 'Activity ID',
'description' => 'Unique Other Activity ID',
'required' => TRUE,
'import' => TRUE,
'where' => 'civicrm_activity.id',
'export' => TRUE,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'uniqueName' => 'activity_id',
'api.aliases' => array(
'0' => 'activity_id',
),
),
'subject' => array(
'name' => 'subject',
'type' => 2,
'title' => 'Subject',
'description' => 'The subject/purpose/short description of the activity.',
'maxlength' => 255,
'size' => 45,
'import' => TRUE,
'where' => 'civicrm_activity.subject',
'headerPattern' => '/(activity.)?subject/i',
'export' => TRUE,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Text',
'maxlength' => 255,
'size' => 45,
),
'uniqueName' => 'activity_subject',
),
'duration' => array(
'name' => 'duration',
'type' => 1,
'title' => 'Duration',
'description' => 'Planned or actual duration of activity expressed in minutes. Conglomerate of former duration_hours and duration_minutes.',
'import' => TRUE,
'where' => 'civicrm_activity.duration',
'headerPattern' => '/(activity.)?duration(s)?$/i',
'export' => TRUE,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Text',
'size' => 6,
'maxlength' => 14,
),
'uniqueName' => 'activity_duration',
),
'location' => array(
'name' => 'location',
'type' => 2,
'title' => 'Location',
'description' => 'Location of the activity (optional, open text).',
'maxlength' => 255,
'size' => 45,
'import' => TRUE,
'where' => 'civicrm_activity.location',
'headerPattern' => '/(activity.)?location$/i',
'export' => TRUE,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Text',
'maxlength' => 255,
'size' => 45,
),
'uniqueName' => 'activity_location',
),
'details' => array(
'name' => 'details',
'type' => 32,
'title' => 'Details',
'description' => 'Details about the activity (agenda, notes, etc).',
'import' => TRUE,
'where' => 'civicrm_activity.details',
'headerPattern' => '/(activity.)?detail(s)?$/i',
'export' => TRUE,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'RichTextEditor',
'rows' => 2,
'cols' => 80,
),
'uniqueName' => 'activity_details',
),
'status_id' => array(
'name' => 'status_id',
'type' => 1,
'title' => 'Activity Status',
'description' => 'ID of the status this activity is currently in. Foreign key to civicrm_option_value.',
'import' => TRUE,
'where' => 'civicrm_activity.status_id',
'headerPattern' => '/(activity.)?status(.label$)?/i',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Select',
'size' => 6,
'maxlength' => 14,
),
'pseudoconstant' => array(
'optionGroupName' => 'activity_status',
'optionEditPath' => 'civicrm/admin/options/activity_status',
),
'uniqueName' => 'activity_status_id',
'api.aliases' => array(
'0' => 'activity_status',
),
),
'is_test' => array(
'name' => 'is_test',
'type' => 16,
'title' => 'Test',
'import' => TRUE,
'where' => 'civicrm_activity.is_test',
'headerPattern' => '/(is.)?test(.activity)?/i',
'export' => TRUE,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Select',
),
'uniqueName' => 'activity_is_test',
),
'medium_id' => array(
'name' => 'medium_id',
'type' => 1,
'title' => 'Activity Medium',
'description' => 'Activity Medium, Implicit FK to civicrm_option_value where option_group = encounter_medium.',
'default' => 'NULL',
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Select',
'size' => 6,
'maxlength' => 14,
),
'pseudoconstant' => array(
'optionGroupName' => 'encounter_medium',
'optionEditPath' => 'civicrm/admin/options/encounter_medium',
),
'uniqueName' => 'activity_medium_id',
),
'result' => array(
'name' => 'result',
'type' => 2,
'title' => 'Result',
'description' => 'Currently being used to store result id for survey activity, FK to option value.',
'maxlength' => 255,
'size' => 45,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Text',
'maxlength' => 255,
'size' => 45,
),
'uniqueName' => 'activity_result',
),
'is_deleted' => array(
'name' => 'is_deleted',
'type' => 16,
'title' => 'Activity is in the Trash',
'import' => TRUE,
'where' => 'civicrm_activity.is_deleted',
'headerPattern' => '/(activity.)?(trash|deleted)/i',
'export' => TRUE,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Text',
),
'uniqueName' => 'activity_is_deleted',
),
'campaign_id' => array(
'name' => 'campaign_id',
'type' => 1,
'title' => 'Campaign',
'description' => 'The campaign for which this activity has been triggered.',
'import' => TRUE,
'where' => 'civicrm_activity.campaign_id',
'export' => TRUE,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'FKClassName' => 'CRM_Campaign_DAO_Campaign',
'html' => array(
'type' => 'CheckBox',
'size' => 6,
'maxlength' => 14,
),
'pseudoconstant' => array(
'table' => 'civicrm_campaign',
'keyColumn' => 'id',
'labelColumn' => 'title',
),
'uniqueName' => 'activity_campaign_id',
'FKApiName' => 'Campaign',
),
'engagement_level' => array(
'name' => 'engagement_level',
'type' => 1,
'title' => 'Engagement Index',
'description' => 'Assign a specific level of engagement to this activity. Used for tracking constituents in ladder of engagement.',
'import' => TRUE,
'where' => 'civicrm_activity.engagement_level',
'export' => TRUE,
'table_name' => 'civicrm_activity',
'entity' => 'Activity',
'bao' => 'CRM_Activity_BAO_Activity',
'html' => array(
'type' => 'Select',
'size' => 6,
'maxlength' => 14,
),
'pseudoconstant' => array(
'optionGroupName' => 'engagement_index',
'optionEditPath' => 'civicrm/admin/options/engagement_index',
),
'uniqueName' => 'activity_engagement_level',
),
'source_contact_id' => array(
'name' => 'source_contact_id',
'title' => 'Activity Source Contact',
'description' => 'Person who created this activity. Defaults to current user.',
'type' => 1,
'FKClassName' => 'CRM_Contact_DAO_Contact',
'api.default' => 'user_contact_id',
'FKApiName' => 'Contact',
),
'assignee_contact_id' => array(
'name' => 'assignee_id',
'title' => 'Activity Assignee',
'description' => 'Contact(s) assigned to this activity.',
'type' => 1,
'FKClassName' => 'CRM_Contact_DAO_Contact',
'FKApiName' => 'Contact',
),
'target_contact_id' => array(
'name' => 'target_id',
'title' => 'Activity Target',
'description' => 'Contact(s) participating in this activity.',
'type' => 1,
'FKClassName' => 'CRM_Contact_DAO_Contact',
'FKApiName' => 'Contact',
),
'case_id' => array(
'name' => 'case_id',
'title' => 'Case ID',
'description' => 'For creating an activity as part of a case.',
'type' => 1,
'FKClassName' => 'CRM_Case_DAO_Case',
'FKApiName' => 'Case',
),
),
);
return $expectedResult;
}
/*
* This example has been generated from the API test suite.
* The test that created it is called "testGetFields"
* and can be found at:
* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
*
* You can see the outcome of the API tests at
* https://test.civicrm.org/job/CiviCRM-master-git/
*
* To Learn about the API read
* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
*
* Browse the api on your own site with the api explorer
* http://MYSITE.ORG/path/to/civicrm/api
*
* Read more about testing here
* http://wiki.civicrm.org/confluence/display/CRM/Testing
*
* API Standards documentation:
* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
*/