/** * Set activity status ids */ public function setActivityStatusIds() { $this->activityStatusId = array(); $this->activityStatusId['Scheduled'] = CRM_Speakcivi_Logic_Activity::getStatusId('Scheduled'); $this->activityStatusId['Completed'] = CRM_Speakcivi_Logic_Activity::getStatusId('Completed'); $this->activityStatusId['optout'] = CRM_Speakcivi_Logic_Activity::getStatusId('optout'); $this->activityStatusId['optin'] = CRM_Speakcivi_Logic_Activity::getStatusId('optin'); }
/** * Set new activity status for Scheduled activity. * * @param int $activityId * @param string $status * @param string $location * * @throws CiviCRM_API3_Exception */ public function setActivityStatus($activityId, $status = 'optout', $location = '') { if ($activityId > 0) { $scheduledId = CRM_Speakcivi_Logic_Activity::getStatusId('Scheduled'); $params = array('sequential' => 1, 'id' => $activityId, 'status_id' => $scheduledId); $result = civicrm_api3('Activity', 'get', $params); if ($result['count'] == 1) { $newStatusId = CRM_Speakcivi_Logic_Activity::getStatusId($status); $params['status_id'] = $newStatusId; $params['location'] = $location; civicrm_api3('Activity', 'create', $params); } } }