Beispiel #1
0
 /**
  * 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;
 }