Merge pull request #15526 from civicrm/5.19
[civicrm-core.git] / api / v3 / examples / GroupContact / GetWithGroupID.ex.php
1 <?php
2 /**
3 * Test Generated example demonstrating the GroupContact.get API.
4 *
5 * Get all from group and display contacts.
6 *
7 * @return array
8 * API result array
9 */
10 function group_contact_get_example() {
11 $params = [
12 'group_id' => 3,
13 'api.group.get' => 1,
14 'sequential' => 1,
15 ];
16
17 try{
18 $result = civicrm_api3('GroupContact', 'get', $params);
19 }
20 catch (CiviCRM_API3_Exception $e) {
21 // Handle error here.
22 $errorMessage = $e->getMessage();
23 $errorCode = $e->getErrorCode();
24 $errorData = $e->getExtraParams();
25 return [
26 'is_error' => 1,
27 'error_message' => $errorMessage,
28 'error_code' => $errorCode,
29 'error_data' => $errorData,
30 ];
31 }
32
33 return $result;
34 }
35
36 /**
37 * Function returns array of result expected from previous function.
38 *
39 * @return array
40 * API result array
41 */
42 function group_contact_get_expectedresult() {
43
44 $expectedResult = [
45 'is_error' => 0,
46 'version' => 3,
47 'count' => 1,
48 'id' => 2,
49 'values' => [
50 '0' => [
51 'id' => '2',
52 'group_id' => '3',
53 'contact_id' => '4',
54 'status' => 'Added',
55 'api.group.get' => [
56 'is_error' => 0,
57 'version' => 3,
58 'count' => 1,
59 'id' => 3,
60 'values' => [
61 '0' => [
62 'id' => '3',
63 'name' => 'Test Group 1',
64 'title' => 'New Test Group Created',
65 'description' => 'New Test Group Created',
66 'is_active' => '1',
67 'visibility' => 'Public Pages',
68 'where_clause' => ' ( ( ( `civicrm_group_contact-5d5bbabeb0cbd`.group_id IN (\"3\") ) ) ) ',
69 'select_tables' => '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-5d5bbabeb0cbd`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d5bbabeb0cbd` ON (contact_a.id = `civicrm_group_contact-5d5bbabeb0cbd`.contact_id AND `civicrm_group_contact-5d5bbabeb0cbd`.status IN (\'Added\'))\";}',
70 'where_tables' => 'a:2:{s:15:\"civicrm_contact\";i:1;s:37:\"`civicrm_group_contact-5d5bbabeb0cbd`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d5bbabeb0cbd` ON (contact_a.id = `civicrm_group_contact-5d5bbabeb0cbd`.contact_id AND `civicrm_group_contact-5d5bbabeb0cbd`.status IN (\'Added\'))\";}',
71 'group_type' => [
72 '0' => '1',
73 '1' => '2',
74 ],
75 'is_hidden' => 0,
76 'is_reserved' => 0,
77 ],
78 ],
79 ],
80 ],
81 ],
82 ];
83
84 return $expectedResult;
85 }
86
87 /*
88 * This example has been generated from the API test suite.
89 * The test that created it is called "testGetGroupID"
90 * and can be found at:
91 * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
92 *
93 * You can see the outcome of the API tests at
94 * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
95 *
96 * To Learn about the API read
97 * https://docs.civicrm.org/dev/en/latest/api/
98 *
99 * Browse the API on your own site with the API Explorer. It is in the main
100 * CiviCRM menu, under: Support > Development > API Explorer.
101 *
102 * Read more about testing here
103 * https://docs.civicrm.org/dev/en/latest/testing/
104 *
105 * API Standards documentation:
106 * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
107 */