Remove unused variable
[civicrm-core.git] / CRM / Activity / BAO / ActivityTarget.php
CommitLineData
6a488035
TO
1<?php
2/*
3 +--------------------------------------------------------------------+
bc77d7c0 4 | Copyright CiviCRM LLC. All rights reserved. |
6a488035 5 | |
bc77d7c0
TO
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
6a488035 9 +--------------------------------------------------------------------+
d25dd0ee 10 */
6a488035
TO
11
12/**
13 *
14 * @package CRM
ca5cec67 15 * @copyright CiviCRM LLC https://civicrm.org/licensing
6a488035
TO
16 */
17
18/**
3819f101 19 * This class is for activity assignment functions.
6a488035 20 */
91da6cd5 21class CRM_Activity_BAO_ActivityTarget extends CRM_Activity_DAO_ActivityContact {
6a488035
TO
22
23 /**
fe482240 24 * Class constructor.
6a488035 25 */
00be9182 26 public function __construct() {
6a488035
TO
27 parent::__construct();
28 }
29
30 /**
fe482240 31 * Add activity target.
6a488035 32 *
c490a46a 33 * @param array $params
6a488035 34 *
a6c01b45
CW
35 * @return object
36 * activity type of object that is added
6a488035
TO
37 */
38 public static function create(&$params) {
91da6cd5 39 $target = new CRM_Activity_BAO_ActivityContact();
44f817d4 40 $activityContacts = CRM_Activity_BAO_ActivityContact::buildOptions('record_type_id', 'validate');
a24b3694 41 $targetID = CRM_Utils_Array::key('Activity Targets', $activityContacts);
f813f78e 42
6a488035 43 $target->copyValues($params);
33421d01 44 $target->record_type_id = $targetID;
6a488035
TO
45 return $target->save();
46 }
47
48 /**
fe482240 49 * Retrieve id of target contact by activity_id.
6c8f6e67 50 *
c490a46a 51 * @param int $activity_id
6a488035
TO
52 *
53 * @return mixed
6a488035 54 */
00be9182 55 public static function retrieveTargetIdsByActivityId($activity_id) {
96f94695 56 $targetArray = [];
6a488035
TO
57 if (!CRM_Utils_Rule::positiveInteger($activity_id)) {
58 return $targetArray;
59 }
60
44f817d4 61 $activityContacts = CRM_Activity_BAO_ActivityContact::buildOptions('record_type_id', 'validate');
a24b3694 62 $targetID = CRM_Utils_Array::key('Activity Targets', $activityContacts);
63
91da6cd5
DL
64 $sql = "
65SELECT contact_id
66FROM civicrm_activity_contact
67INNER JOIN civicrm_contact ON contact_id = civicrm_contact.id
68WHERE activity_id = %1
a24b3694 69AND record_type_id = $targetID
91da6cd5
DL
70AND civicrm_contact.is_deleted = 0
71";
96f94695 72 $target = CRM_Core_DAO::executeQuery($sql, [
73 1 => [
74 $activity_id,
75 'Integer',
76 ],
77 ]);
6a488035 78 while ($target->fetch()) {
91da6cd5 79 $targetArray[] = $target->contact_id;
6a488035
TO
80 }
81 return $targetArray;
82 }
83
84 /**
fe482240 85 * Retrieve names of target contact by activity_id.
fd31fa4c 86 *
c490a46a 87 * @param int $activityID
6a488035
TO
88 *
89 * @return array
6a488035 90 */
00be9182 91 public static function getTargetNames($activityID) {
96f94695 92 $targetNames = [];
6a488035
TO
93
94 if (empty($activityID)) {
95 return $targetNames;
96 }
44f817d4 97 $activityContacts = CRM_Activity_BAO_ActivityContact::buildOptions('record_type_id', 'validate');
a24b3694 98 $targetID = CRM_Utils_Array::key('Activity Targets', $activityContacts);
6a488035 99
91da6cd5
DL
100 $query = "
101SELECT contact_a.id, contact_a.sort_name
102FROM civicrm_contact contact_a
103INNER JOIN civicrm_activity_contact ON civicrm_activity_contact.contact_id = contact_a.id
104WHERE civicrm_activity_contact.activity_id = %1
a24b3694 105AND civicrm_activity_contact.record_type_id = $targetID
91da6cd5
DL
106AND contact_a.is_deleted = 0
107";
96f94695 108 $queryParam = [1 => [$activityID, 'Integer']];
6a488035
TO
109
110 $dao = CRM_Core_DAO::executeQuery($query, $queryParam);
111 while ($dao->fetch()) {
112 $targetNames[$dao->id] = $dao->sort_name;
113 }
114
115 return $targetNames;
116 }
96025800 117
6a488035 118}