本文整理汇总了PHP中CRM_Event_BAO_Participant::checkDuplicate方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Event_BAO_Participant::checkDuplicate方法的具体用法?PHP CRM_Event_BAO_Participant::checkDuplicate怎么用?PHP CRM_Event_BAO_Participant::checkDuplicate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Event_BAO_Participant
的用法示例。
在下文中一共展示了CRM_Event_BAO_Participant::checkDuplicate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _civicrm_api3_deprecated_participant_check_params
/**
*
* @param array $params
*
* @param bool $checkDuplicate
*
* @return array|bool
* <type>
*/
function _civicrm_api3_deprecated_participant_check_params($params, $checkDuplicate = FALSE)
{
// check if participant id is valid or not
if (!empty($params['id'])) {
$participant = new CRM_Event_BAO_Participant();
$participant->id = $params['id'];
if (!$participant->find(TRUE)) {
return civicrm_api3_create_error(ts('Participant id is not valid'));
}
}
require_once 'CRM/Contact/BAO/Contact.php';
// check if contact id is valid or not
if (!empty($params['contact_id'])) {
$contact = new CRM_Contact_BAO_Contact();
$contact->id = $params['contact_id'];
if (!$contact->find(TRUE)) {
return civicrm_api3_create_error(ts('Contact id is not valid'));
}
}
// check that event id is not an template
if (!empty($params['event_id'])) {
$isTemplate = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $params['event_id'], 'is_template');
if (!empty($isTemplate)) {
return civicrm_api3_create_error(ts('Event templates are not meant to be registered.'));
}
}
$result = array();
if ($checkDuplicate) {
if (CRM_Event_BAO_Participant::checkDuplicate($params, $result)) {
$participantID = array_pop($result);
$error = CRM_Core_Error::createError("Found matching participant record.", CRM_Core_Error::DUPLICATE_PARTICIPANT, 'Fatal', $participantID);
return civicrm_api3_create_error($error->pop(), array('contactID' => $params['contact_id'], 'participantID' => $participantID));
}
}
return TRUE;
}
示例2: testcheckDuplicate
/**
* CheckDuplicate() method ( Checking for Duplicate Participant returns array of participant id)
*/
public function testcheckDuplicate()
{
$duplicate = array();
//Creating 3 new participants
for ($i = 0; $i < 3; $i++) {
$partiId[] = Participant::create($this->_contactId, $this->_eventId);
}
$params = array('event_id' => $this->_eventId, 'contact_id' => $this->_contactId);
$checkDuplicate = CRM_Event_BAO_Participant::checkDuplicate($params, $duplicate);
$this->assertEquals(count($duplicate), 3, 'Equating the array contains with duplicate array.');
//Checking for the duplicate participant
foreach ($duplicate as $key => $value) {
$this->assertEquals($partiId[$key], $duplicate[$key], 'Equating the contactid which is in the database.');
}
//Deleting all participant
for ($i = 0; $i < 3; $i++) {
$partidel[] = Participant::delete($partiId[$i]);
}
Contact::delete($this->_contactId);
Event::delete($this->_eventId);
}
示例3: civicrm_participant_check_params
/**
*
* @param <type> $params
* @return <type>
*/
function civicrm_participant_check_params(&$params)
{
require_once 'CRM/Event/BAO/Participant.php';
$result = array();
if (CRM_Event_BAO_Participant::checkDuplicate($params, $result)) {
$participantID = array_pop($result);
$error = CRM_Core_Error::createError("Found matching participant record.", CRM_Core_Error::DUPLICATE_PARTICIPANT, 'Fatal', $participantID);
return civicrm_create_error($error->pop(), array('contactID' => $params['contact_id'], 'participantID' => $participantID));
}
return true;
}