本文整理汇总了PHP中CRM_Event_BAO_Participant::participantDetails方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Event_BAO_Participant::participantDetails方法的具体用法?PHP CRM_Event_BAO_Participant::participantDetails怎么用?PHP CRM_Event_BAO_Participant::participantDetails使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Event_BAO_Participant
的用法示例。
在下文中一共展示了CRM_Event_BAO_Participant::participantDetails方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: preProcess
public function preProcess()
{
$this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this, TRUE);
$this->_contactId = CRM_Utils_Request::retrieve('cid', 'Positive', $this, TRUE);
$this->_component = CRM_Utils_Request::retrieve('component', 'String', $this, TRUE);
$this->_view = CRM_Utils_Request::retrieve('view', 'String', $this, FALSE);
$this->_action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE);
$this->assign('component', $this->_component);
$this->assign('id', $this->_id);
$this->assign('suppressPaymentFormButtons', $this->isBeingCalledFromSelectorContext());
if ($this->_view == 'transaction' && $this->_action & CRM_Core_Action::BROWSE) {
$paymentInfo = CRM_Contribute_BAO_Contribution::getPaymentInfo($this->_id, $this->_component, TRUE);
$transactionRows = $paymentInfo['transaction'];
$title = ts('View Payment');
if ($this->_component == 'event') {
$info = CRM_Event_BAO_Participant::participantDetails($this->_id);
$title .= " - {$info['title']}";
}
CRM_Utils_System::setTitle($title);
$this->assign('transaction', TRUE);
$this->assign('rows', $transactionRows);
return;
}
$this->_fromEmails = CRM_Core_BAO_Email::getFromEmail();
$this->_formType = CRM_Utils_Array::value('formType', $_GET);
$enitityType = NULL;
if ($this->_component == 'event') {
$enitityType = 'participant';
$this->_contributionId = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_ParticipantPayment', $this->_id, 'contribution_id', 'participant_id');
}
$eventId = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Participant', $this->_id, 'event_id', 'id');
$this->_fromEmails = CRM_Event_BAO_Event::getFromEmailIds($eventId);
$paymentInfo = CRM_Core_BAO_FinancialTrxn::getPartialPaymentWithType($this->_id, $enitityType);
$paymentDetails = CRM_Contribute_BAO_Contribution::getPaymentInfo($this->_id, $this->_component, FALSE, TRUE);
$this->_amtPaid = $paymentDetails['paid'];
$this->_amtTotal = $paymentDetails['total'];
if (!empty($paymentInfo['refund_due'])) {
$paymentAmt = $this->_refund = $paymentInfo['refund_due'];
$this->_paymentType = 'refund';
} elseif (!empty($paymentInfo['amount_owed'])) {
$paymentAmt = $this->_owed = $paymentInfo['amount_owed'];
$this->_paymentType = 'owed';
} else {
CRM_Core_Error::fatal(ts('No payment information found for this record'));
}
//set the payment mode - _mode property is defined in parent class
$this->_mode = CRM_Utils_Request::retrieve('mode', 'String', $this);
if (!empty($this->_mode) && $this->_paymentType == 'refund') {
CRM_Core_Error::fatal(ts('Credit card payment is not for Refund payments use'));
}
list($this->_contributorDisplayName, $this->_contributorEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($this->_contactId);
$this->assignPaymentRelatedVariables();
$this->assign('contributionMode', $this->_mode);
$this->assign('contactId', $this->_contactId);
$this->assign('paymentType', $this->_paymentType);
$this->assign('paymentAmt', abs($paymentAmt));
$this->setPageTitle($this->_refund ? ts('Refund') : ts('Payment'));
}
示例2: testparticipantDetails
/**
* ParticipantDetails() method ( Checking the Participant Details )
*/
public function testparticipantDetails()
{
$participantId = Participant::create($this->_contactId, $this->_eventId);
$params = array('name' => 'Doe, John', 'title' => 'Test Event');
$participantDetails = CRM_Event_BAO_Participant::participantDetails($participantId);
$this->assertEquals(count($participantDetails), 3, 'Equating the array contains.');
$this->assertEquals($participantDetails['name'], $params['name'], 'Checking Name of Participant.');
$this->assertEquals($participantDetails['title'], $params['title'], 'Checking Event Title in which participant is enroled.');
Participant::delete($participantId);
Contact::delete($this->_contactId);
Event::delete($this->_eventId);
}
示例3: setDefaultValues
/**
* This function sets the default values for the form.
*
* @access public
*
* @return None
*/
function setDefaultValues()
{
if (empty($this->_fields)) {
return;
}
$defaults = array();
foreach ($this->_participantIds as $participantId) {
$details[$participantId] = array();
$details[$participantId] = CRM_Event_BAO_Participant::participantDetails($participantId);
CRM_Core_BAO_UFGroup::setProfileDefaults(NULL, $this->_fields, $defaults, FALSE, $participantId, 'Event');
//get the from status ids, CRM-4323
if (array_key_exists('participant_status', $this->_fields)) {
$this->_fromStatusIds[$participantId] = CRM_Utils_Array::value("field[{$participantId}][participant_status]", $defaults);
}
if (array_key_exists('participant_role', $this->_fields)) {
if ($defaults["field[{$participantId}][participant_role]"]) {
$roles = $defaults["field[{$participantId}][participant_role]"];
foreach (explode(CRM_Core_DAO::VALUE_SEPARATOR, $roles) as $k => $v) {
$defaults["field[{$participantId}][participant_role][{$v}]"] = 1;
}
unset($defaults["field[{$participantId}][participant_role]"]);
}
}
}
$this->assign('details', $details);
return $defaults;
}
示例4: preProcess
/**
* Set variables up before form is built based on participant ID from URL
*
* @return void
*/
public function preProcess()
{
$config = CRM_Core_Config::singleton();
$session = CRM_Core_Session::singleton();
$this->_userContext = $session->readUserContext();
$participant = $values = array();
$this->_participant_id = CRM_Utils_Request::retrieve('pid', 'Positive', $this, FALSE, NULL, 'REQUEST');
$params = array('id' => $this->_participant_id);
$this->_participant = CRM_Event_BAO_Participant::getValues($params, $values, $participant);
$this->_part_values = $values[$this->_participant_id];
$this->set('values', $this->_part_values);
//fetch Event by event_id, verify that this event can still be xferred/cancelled
$this->_event_id = $this->_part_values['event_id'];
$url = CRM_Utils_System::url('civicrm/event/info', "reset=1&id={$this->_event_id}&noFullMsg=true");
$this->_contact_id = $this->_part_values['participant_contact_id'];
$this->assign('action', $this->_action);
if ($this->_participant_id) {
$this->assign('participantId', $this->_participant_id);
}
$event = array();
$daoName = 'title';
$this->_event_title = CRM_Event_BAO_Event::getFieldValue('CRM_Event_DAO_Event', $this->_event_id, $daoName);
$daoName = 'start_date';
$this->_event_start_date = CRM_Event_BAO_Event::getFieldValue('CRM_Event_DAO_Event', $this->_event_id, $daoName);
list($displayName, $email) = CRM_Contact_BAO_Contact_Location::getEmailDetails($this->_contact_id);
$this->_contact_name = $displayName;
$this->_contact_email = $email;
$details = array();
$details = CRM_Event_BAO_Participant::participantDetails($this->_participant_id);
$optionGroupId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup', 'participant_role', 'id', 'name');
$contributionId = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_ParticipantPayment', $this->_participant_id, 'contribution_id', 'participant_id');
$this->assign('contributionId', $contributionId);
$query = "\n SELECT cpst.name as status, cov.name as role, cp.fee_level, cp.fee_amount, cp.register_date, cp.status_id\n FROM civicrm_participant cp\n LEFT JOIN civicrm_participant_status_type cpst ON cpst.id = cp.status_id\n LEFT JOIN civicrm_option_value cov ON cov.value = cp.role_id and cov.option_group_id = {$optionGroupId}\n WHERE cp.id = {$this->_participant_id}";
$dao = CRM_Core_DAO::executeQuery($query, CRM_Core_DAO::$_nullArray);
while ($dao->fetch()) {
$details['status'] = $dao->status;
$details['role'] = $dao->role;
$details['fee_level'] = $dao->fee_level;
$details['fee_amount'] = $dao->fee_amount;
$details['register_date'] = $dao->register_date;
}
//verify participant status is still Registered
if ($details['status'] != "Registered") {
$status = "You are no longer registered for " . $this->_event_title;
CRM_Core_Session::setStatus($status, ts('Event status error.'), 'alert');
CRM_Utils_System::redirect($url);
}
$query = "select start_date as start, selfcancelxfer_time as time from civicrm_event where id = " . $this->_event_id;
$dao = CRM_Core_DAO::executeQuery($query, CRM_Core_DAO::$_nullArray);
while ($dao->fetch()) {
$time_limit = $dao->time;
$start_date = $dao->start;
}
$start_time = new Datetime($start_date);
$timenow = new Datetime();
if (!empty($start_time) && $start_time < $timenow) {
$status = ts("The event has been started, cannot transfer or cancel this event");
$session->setStatus($status, ts('Oops.'), 'alert');
CRM_Utils_System::redirect($url);
}
if (!empty($time_limit) && $time_limit > 0) {
$interval = $timenow->diff($start_time);
$days = $interval->format('%d');
$hours = $interval->format('%h');
if ($hours <= $time_limit && $days < 1) {
$status = ts("Less than %1 hours to start time, cannot transfer or cancel this event", array(1 => $time_limit));
$session->setStatus($status, ts('Oops.'), 'alert');
CRM_Utils_System::redirect($url);
}
}
$this->assign('details', $details);
$this->selfsvcupdateUrl = CRM_Utils_System::url('civicrm/event/selfsvcupdate', "reset=1&id={$this->_participant_id}&id=0");
$this->selfsvcupdateText = ts('Update');
$this->selfsvcupdateButtonText = ts('Update');
// Based on those ids retrieve event and verify it is eligible
// for self update (event.start_date > today, event can be 'self_updated'
// retrieve contact name and email, and let user verify his/her identity
}
示例5: testparticipantDetails
/**
* ParticipantDetails() method ( Checking the Participant Details )
*/
public function testparticipantDetails()
{
$participant = $this->callAPISuccess('Participant', 'create', array('contact_id' => $this->_contactId, 'event_id' => $this->_eventId));
$params = array('name' => 'Anderson, Anthony', 'title' => 'Annual CiviCRM meet');
$participantDetails = CRM_Event_BAO_Participant::participantDetails($participant['id']);
$this->assertEquals(count($participantDetails), 3, 'Equating the array contains.');
$this->assertEquals($participantDetails['name'], $params['name'], 'Checking Name of Participant.');
$this->assertEquals($participantDetails['title'], $params['title'], 'Checking Event Title in which participant is enroled.');
$this->participantDelete($participant['id']);
$this->contactDelete($this->_contactId);
$this->eventDelete($this->_eventId);
}
示例6: setDefaultValues
/**
* This function sets the default values for the form.
*
* @access public
* @return None
*/
function setDefaultValues()
{
if (empty($this->_fields)) {
return;
}
$defaults = array();
foreach ($this->_participantIds as $participantId) {
$details[$participantId] = array();
require_once 'CRM/Event/BAO/Participant.php';
$details[$participantId] = CRM_Event_BAO_Participant::participantDetails($participantId);
CRM_Core_BAO_UFGroup::setProfileDefaults(null, $this->_fields, $defaults, false, $participantId, 'Event');
//get the from status ids, CRM-4323
if (array_key_exists('participant_status_id', $this->_fields)) {
$this->_fromStatusIds[$participantId] = CRM_Utils_Array::value("field[{$participantId}][participant_status_id]", $defaults);
}
}
$this->assign('details', $details);
return $defaults;
}
示例7: preProcess
/**
* Get source values for transfer based on participant id in URL. Line items will
* be transferred to this participant - at this point no transaction changes processed
*
* return @void
*/
public function preProcess()
{
$config = CRM_Core_Config::singleton();
$session = CRM_Core_Session::singleton();
$this->_userContext = $session->readUserContext();
$this->_from_participant_id = CRM_Utils_Request::retrieve('pid', 'Positive', $this, FALSE, NULL, 'REQUEST');
$this->_userChecksum = CRM_Utils_Request::retrieve('cs', 'String', $this, FALSE, NULL, 'REQUEST');
$params = array('id' => $this->_from_participant_id);
$participant = $values = array();
$this->_participant = CRM_Event_BAO_Participant::getValues($params, $values, $participant);
$this->_part_values = $values[$this->_from_participant_id];
$this->set('values', $this->_part_values);
$this->_event_id = $this->_part_values['event_id'];
$url = CRM_Utils_System::url('civicrm/event/info', "reset=1&id={$this->_event_id}");
$this->_from_contact_id = $this->_part_values['participant_contact_id'];
$validUser = CRM_Contact_BAO_Contact_Utils::validChecksum($this->_from_contact_id, $this->_userChecksum);
if (!$validUser && !CRM_Core_Permission::check('edit all events')) {
CRM_Core_Error::statusBounce(ts('You do not have sufficient permission to transfer/cancel this participant.'), $url);
}
$this->assign('action', $this->_action);
if ($this->_from_participant_id) {
$this->assign('participantId', $this->_from_participant_id);
}
$event = array();
$daoName = 'title';
$this->_event_title = CRM_Event_BAO_Event::getFieldValue('CRM_Event_DAO_Event', $this->_event_id, $daoName);
$daoName = 'start_date';
$this->_event_start_date = CRM_Event_BAO_Event::getFieldValue('CRM_Event_DAO_Event', $this->_event_id, $daoName);
list($displayName, $email) = CRM_Contact_BAO_Contact_Location::getEmailDetails($this->_from_contact_id);
$this->_contact_name = $displayName;
$this->_contact_email = $email;
$details = array();
$details = CRM_Event_BAO_Participant::participantDetails($this->_from_participant_id);
$optionGroupId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup', 'participant_role', 'id', 'name');
$query = "\n SELECT cpst.name as status, cov.name as role, cp.fee_level, cp.fee_amount, cp.register_date, civicrm_event.start_date\n FROM civicrm_participant cp\n LEFT JOIN civicrm_participant_status_type cpst ON cpst.id = cp.status_id\n LEFT JOIN civicrm_option_value cov ON cov.value = cp.role_id and cov.option_group_id = {$optionGroupId}\n LEFT JOIN civicrm_event ON civicrm_event.id = cp.event_id\n WHERE cp.id = {$this->_from_participant_id}";
$dao = CRM_Core_DAO::executeQuery($query);
while ($dao->fetch()) {
$details['status'] = $dao->status;
$details['role'] = $dao->role;
$details['fee_level'] = $dao->fee_level;
$details['fee_amount'] = $dao->fee_amount;
$details['register_date'] = $dao->register_date;
$details['event_start_date'] = $dao->start_date;
}
$this->assign('details', $details);
//This participant row will be cancelled. Get line item(s) to cancel
$this->selfsvctransferUrl = CRM_Utils_System::url('civicrm/event/selfsvcupdate', "reset=1&id={$this->_from_participant_id}&id=0");
$this->selfsvctransferText = ts('Update');
$this->selfsvctransferButtonText = ts('Update');
}