static function createPcpActivity($params, $activityname) { if (empty($activityname)) { return null; } if (!isset($params['source_contact_id'])) { $params['source_contact_id'] = self::getloggedInUserId(); } $sourceName = CRM_Contact_BAO_Contact::displayName($params['source_contact_id']); if (isset($params['target_contact_id'])) { $targetName = CRM_Contact_BAO_Contact::displayName($params['target_contact_id']); } //to handle to default values, subject and description for the activity type switch ($activityname) { case CRM_Pcpteams_Constant::C_AT_TEAM_CREATE: $subject = 'Team is created'; $details = 'Team is created' . $targetName; break; case CRM_Pcpteams_Constant::C_AT_INVITATION_FROM_ADMIN: $sourceName .= ' ( Team Admin )'; $subject = 'Team Member Invite to Join Team'; $details = 'Invited to join team ' . $targetName . ' by ' . $sourceName; break; case CRM_Pcpteams_Constant::C_AT_INVITATION_FROM_MEMBER: $sourceName .= ' ( Team Member )'; $subject = 'Team Member Invite to Join Team'; $details = 'Invited to join team ' . $targetName . ' by ' . $sourceName; break; case CRM_Pcpteams_Constant::C_AT_GROUP_JOIN: $subject = 'Joined to branch'; $details = 'Joined to branch ' . $targetName; break; case CRM_Pcpteams_Constant::C_AT_TRIBUTE_JOIN: $subject = 'Joined to tribute contact'; $details = 'Joined to tribute ' . $params['reason'] . ' of ' . $targetName; unset($params['reason']); break; case CRM_Pcpteams_Constant::C_AT_PCP_CREATED: $subject = 'New PCP has created'; $details = "New PCP has created"; break; case CRM_Pcpteams_Constant::C_AT_REQ_AUTHORISED: $subject = 'Team request authorised'; $details = "Member join team request has authorised"; break; case CRM_Pcpteams_Constant::C_AT_REQ_DECLINED: $subject = 'Team request rejected'; $details = "Member join team request has declined"; break; case CRM_Pcpteams_Constant::C_AT_REQ_MADE: $subject = 'Team Member Requires Authorisation'; $details = "Member join team request made by" . $sourceName . ' to ' . $targetName; break; case CRM_Pcpteams_Constant::C_AT_LEAVE_TEAM: $subject = 'PCP member left team'; $details = "PCP member left team " . $targetName; break; default: $subject = $activityname; $details = $activityname; break; } $activityTypeID = CRM_Pcpteams_Utils::getActivityTypeId($activityname); if ($activityTypeID) { $activityParams = array('activity_type_id' => $activityTypeID, 'subject' => $subject, 'details' => $details, 'activity_date_time' => date('YmdHis'), 'status_id' => 2, 'version' => 3); $activityParams = array_merge($activityParams, $params); return civicrm_api('Activity', 'create', $activityParams); } }