/** * Function to check if contact has signed this petition * * @param int $surveyId * @param int $contactId * @static */ static function checkSignature($surveyId, $contactId) { $surveyInfo = CRM_Campaign_BAO_Petition::getSurveyInfo($surveyId); $signature = array(); $sql = "\nSELECT \ta.id AS id,\n\t\ta.source_record_id AS source_record_id,\n\t\ta.source_contact_id AS source_contact_id,\n\t\ta.activity_date_time AS activity_date_time,\n\t\ta.activity_type_id AS activity_type_id,\n\t\ta.status_id AS status_id," . "'" . $surveyInfo['title'] . "'" . " AS survey_title \nFROM \tcivicrm_activity a\nWHERE \ta.source_record_id = " . $surveyId . " \n\tAND a.activity_type_id = " . $surveyInfo['activity_type_id'] . "\n\tAND a.source_contact_id = " . $contactId; require_once 'CRM/Contact/BAO/Contact.php'; $dao =& CRM_Core_DAO::executeQuery($sql); while ($dao->fetch()) { $signature[$dao->id]['id'] = $dao->id; $signature[$dao->id]['source_record_id'] = $dao->source_record_id; $signature[$dao->id]['source_contact_id'] = CRM_Contact_BAO_Contact::displayName($dao->source_contact_id); $signature[$dao->id]['activity_date_time'] = $dao->activity_date_time; $signature[$dao->id]['activity_type_id'] = $dao->activity_type_id; $signature[$dao->id]['status_id'] = $dao->status_id; $signature[$dao->id]['survey_title'] = $dao->survey_title; $signature[$dao->id]['contactId'] = $dao->source_contact_id; } return $signature; }
/** * Function to check if contact has signed this petition * * @param int $surveyId * @param int $contactId * * @return array * @static */ static function checkSignature($surveyId, $contactId) { $surveyInfo = CRM_Campaign_BAO_Petition::getSurveyInfo($surveyId); $signature = array(); $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name'); $sourceID = CRM_Utils_Array::key('Activity Source', $activityContacts); $sql = "\n SELECT a.id AS id,\n a.source_record_id AS source_record_id,\n ac.contact_id AS source_contact_id,\n a.activity_date_time AS activity_date_time,\n a.activity_type_id AS activity_type_id,\n a.status_id AS status_id,\n %1 AS survey_title\n FROM civicrm_activity a\n INNER JOIN civicrm_activity_contact ac ON (ac.activity_id = a.id AND ac.record_type_id = %5)\n WHERE a.source_record_id = %2\n AND a.activity_type_id = %3\n AND ac.contact_id = %4\n"; $params = array(1 => array($surveyInfo['title'], 'String'), 2 => array($surveyId, 'Integer'), 3 => array($surveyInfo['activity_type_id'], 'Integer'), 4 => array($contactId, 'Integer'), 5 => array($sourceID, 'Integer')); $dao = CRM_Core_DAO::executeQuery($sql, $params); while ($dao->fetch()) { $signature[$dao->id]['id'] = $dao->id; $signature[$dao->id]['source_record_id'] = $dao->source_record_id; $signature[$dao->id]['source_contact_id'] = CRM_Contact_BAO_Contact::displayName($dao->source_contact_id); $signature[$dao->id]['activity_date_time'] = $dao->activity_date_time; $signature[$dao->id]['activity_type_id'] = $dao->activity_type_id; $signature[$dao->id]['status_id'] = $dao->status_id; $signature[$dao->id]['survey_title'] = $dao->survey_title; $signature[$dao->id]['contactId'] = $dao->source_contact_id; } return $signature; }
/** * Function to check if contact has signed this petition * * @param int $surveyId * @param int $contactId * @static */ static function checkSignature($surveyId, $contactId) { $surveyInfo = CRM_Campaign_BAO_Petition::getSurveyInfo($surveyId); $signature = array(); $sql = "\n SELECT a.id AS id,\n a.source_record_id AS source_record_id,\n a.source_contact_id AS source_contact_id,\n a.activity_date_time AS activity_date_time,\n a.activity_type_id AS activity_type_id,\n a.status_id AS status_id,\n %1 AS survey_title\n FROM civicrm_activity a\n WHERE a.source_record_id = %2\n AND a.activity_type_id = %3\n AND a.source_contact_id = %4\n"; $params = array(1 => array($surveyInfo['title'], 'String'), 2 => array($surveyId, 'Integer'), 3 => array($surveyInfo['activity_type_id'], 'Integer'), 4 => array($contactId, 'Integer')); $dao = CRM_Core_DAO::executeQuery($sql, $params); while ($dao->fetch()) { $signature[$dao->id]['id'] = $dao->id; $signature[$dao->id]['source_record_id'] = $dao->source_record_id; $signature[$dao->id]['source_contact_id'] = CRM_Contact_BAO_Contact::displayName($dao->source_contact_id); $signature[$dao->id]['activity_date_time'] = $dao->activity_date_time; $signature[$dao->id]['activity_type_id'] = $dao->activity_type_id; $signature[$dao->id]['status_id'] = $dao->status_id; $signature[$dao->id]['survey_title'] = $dao->survey_title; $signature[$dao->id]['contactId'] = $dao->source_contact_id; } return $signature; }