| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
-*/
+ */
/**
*
* Static field for all the participant information that we can potentially import
*
* @var array
- * @static
*/
static $_importableFields = NULL;
* Static field for all the participant information that we can potentially export
*
* @var array
- * @static
*/
static $_exportableFields = NULL;
* Static array for valid status transitions rules
*
* @var array
- * @static
*/
static $_statusTransitionsRules = array(
'Pending from pay later' => array('Registered', 'Cancelled'),
* (reference ) an assoc array of name/value pairs.
*
* @return CRM_Event_BAO_Participant
- * @static
*/
public static function &add(&$params) {
// ensure that role ids are encoded as a string
if (isset($params['role_id']) && is_array($params['role_id'])) {
+ if (in_array(key($params['role_id']), CRM_Core_DAO::acceptedSQLOperators())) {
+ $op = key($params['role_id']);
+ $params['role_id'] = $params['role_id'][$op];
+ }
$params['role_id'] = implode(CRM_Core_DAO::VALUE_SEPARATOR, $params['role_id']);
}
- $participantBAO = new CRM_Event_BAO_Participant;
+ $participantBAO = new CRM_Event_BAO_Participant();
if (!empty($params['id'])) {
$participantBAO->id = CRM_Utils_Array::value('id', $params);
$participantBAO->find(TRUE);
* @param $ids
*
* @return CRM_Event_BAO_Participant|null the found object or null
- * @static
*/
public static function getValues(&$params, &$values, &$ids) {
if (empty($params)) {
* (reference ) an assoc array of name/value pairs.
*
* @return CRM_Event_BAO_Participant
- * @static
*/
public static function create(&$params) {
*
* @return bool|int|null|string
* 1. false => If event having some empty spaces.
- * @static
*/
- static function eventFull(
+ public static function eventFull(
$eventId,
$returnEmptySeats = FALSE,
$includeWaitingList = TRUE,
*
* @return array
* an array of each option id and total count
- * @static
*/
- static function priceSetOptionsCount(
+ public static function priceSetOptionsCount(
$eventId,
$skipParticipantIds = array(),
$considerCounted = TRUE,
*
* @return int
* $spaces Number of Empty Seats/null.
- * @static
*/
public static function pendingToConfirmSpaces($eventId) {
$emptySeats = 0;
*
* @return array
* array of importable Fields
- * @static
*/
public static function &importableFields($contactType = 'Individual', $status = TRUE, $onlyParticipant = FALSE) {
if (!self::$_importableFields) {
$extIdentifier = CRM_Utils_Array::value('external_identifier', $contactFields);
if ($extIdentifier) {
$tmpContactField['external_identifier'] = $extIdentifier;
- $tmpContactField['external_identifier']['title'] =
- CRM_Utils_Array::value('title', $extIdentifier) . ' (match to contact)';
+ $tmpContactField['external_identifier']['title'] = CRM_Utils_Array::value('title', $extIdentifier) . ' (match to contact)';
}
- $tmpFields['participant_contact_id']['title'] =
- $tmpFields['participant_contact_id']['title'] . ' (match to contact)';
+ $tmpFields['participant_contact_id']['title'] = $tmpFields['participant_contact_id']['title'] . ' (match to contact)';
$fields = array_merge($fields, $tmpContactField);
$fields = array_merge($fields, $tmpFields);
*
* @return array
* array of exportable Fields
- * @static
*/
public static function &exportableFields() {
if (!self::$_exportableFields) {
$fields = array();
$participantFields = CRM_Event_DAO_Participant::export();
+ $eventFields = CRM_Event_DAO_Event::export();
$noteField = array(
'participant_note' => array(
'title' => 'Participant Note',
'name' => 'participant_note',
+ 'type' => CRM_Utils_Type::T_STRING,
),
);
'participant_status' => array(
'title' => 'Participant Status',
'name' => 'participant_status',
+ 'type' => CRM_Utils_Type::T_STRING,
),
);
'participant_role' => array(
'title' => 'Participant Role',
'name' => 'participant_role',
- ),
- );
-
- //CRM-13595 add event id to participant export
- $eventid = array(
- 'event_id' => array(
- 'title' => 'Event ID',
- 'name' => 'event_id',
- ),
- );
- $eventtitle = array(
- 'event_title' => array(
- 'title' => 'Event Title',
- 'name' => 'event_title',
+ 'type' => CRM_Utils_Type::T_STRING,
),
);
$discountFields = CRM_Core_DAO_Discount::export();
- $fields = array_merge($participantFields, $participantStatus, $participantRole, $eventid, $eventtitle, $noteField, $discountFields);
+ $fields = array_merge($participantFields, $participantStatus, $participantRole, $eventFields, $noteField, $discountFields);
// add custom data
$fields = array_merge($fields, CRM_Core_BAO_CustomField::getFieldsForImport('Participant'));
*
* @return array
* associated array with sort_name and event title
- * @static
*/
public static function participantDetails($participantId) {
$query = "
* True if we want to resolve the values in the reverse direction (value -> name).
*
* @return void
- * @static
*/
public static function resolveDefaults(&$defaults, $reverse = FALSE) {
self::lookupValue($defaults, 'event', CRM_Event_PseudoConstant::event(), $reverse);
* Id of the participation to delete.
*
* @return void
- * @static
*/
public static function deleteParticipant($id) {
CRM_Utils_Hook::pre('delete', 'Participant', $id, CRM_Core_DAO::$_nullArray);
/**
* Checks duplicate participants
*
- * @param array $duplicates
- * (reference ) an assoc array of name/value pairs.
* @param array $input
* An assosiative array of name /value pairs.
* from other function
+ * @param array $duplicates
+ * (reference ) an assoc array of name/value pairs.
*
* @return CRM_Contribute_BAO_Contribution
- * @static
*/
public static function checkDuplicate($input, &$duplicates) {
$eventId = CRM_Utils_Array::value('event_id', $input);
* @param string $eventLevel
* Event_leval string from db.
*
- * @static
*
* @return void
*/
* @param int $oldStatusId
*
* @return array
- * @static
*/
public static function getAdditionalParticipantIds($primaryParticipantId, $excludeCancel = TRUE, $oldStatusId = NULL) {
$additionalParticipantIds = array();
* Do fetch from line items.
*
* @return array
- * @static
*/
public function getFeeDetails($participantIds, $hasLineItems = FALSE) {
$feeDetails = array();
*
* @return array
* $displayName => $viewUrl
- * @static
*/
public static function getAdditionalParticipants($primaryParticipantID) {
$additionalParticipantIDs = array();
* @param int $newStatusID
* @param bool $updatePrimaryStatus
*
- * @return bool|void
- * @static
+ * @return bool|NULL
*/
public static function updateParticipantStatus($participantID, $oldStatusID, $newStatusID = NULL, $updatePrimaryStatus = FALSE) {
if (!$participantID || !$oldStatusID) {
- return;
+ return NULL;
}
if (!$newStatusID) {
*
* @return void
*
- * @static
*/
public static function updateStatus($participantIds, $statusId, $updateRegisterDate = FALSE) {
if (!is_array($participantIds) || empty($participantIds) || !$statusId) {
* Update status id.
* @param int $fromStatusId
* From status id.
- *
- * return void
* @param bool $returnResult
* @param bool $skipCascadeRule
*
- * @return array
- * @static
+ * @return array|NULL
*/
- static function transitionParticipants(
+ public static function transitionParticipants(
$participantIds, $toStatusId,
$fromStatusId = NULL, $returnResult = FALSE, $skipCascadeRule = FALSE
) {
if (!is_array($participantIds) || empty($participantIds) || !$toStatusId) {
- return;
+ return NULL;
}
//thumb rule is if we triggering primary participant need to triggered additional
* @param string $mailType
* (eg 'approval', 'confirm', 'expired' ).
*
- * return void
- *
* @return bool
- * @static
*/
- static function sendTransitionParticipantMail(
+ public static function sendTransitionParticipantMail(
$participantId,
$participantValues,
$eventDetails,
*
* @return int
* count of participant records
- * @static
*/
public static function getContactParticipantCount($contactID) {
$query = "SELECT count(*)
* Exclude cancelled additional participant.
*
* @return array
- * @static
*/
public static function getParticipantIds($contributionId, $excludeCancelled = FALSE) {
*
* @return array
* Array of Urls.
- * @static
*/
public static function getAdditionalParticipantUrl($participantIds) {
foreach ($participantIds as $value) {
*
* @param $feeLevel
*
- * @static
*/
public static function createDiscountTrxn($eventID, $contributionParams, $feeLevel) {
// CRM-11124
$contributionParams['contribution']->financial_type_id, $relationTypeId);
if (!empty($contributionParams['trxnParams']['from_financial_account_id'])) {
$contributionParams['trxnParams']['total_amount'] = $mainAmount - $contributionParams['total_amount'];
- $contributionParams['trxnParams']['payment_processor_id'] = $contributionParams['trxnParams']['payment_instrument_id'] =
- $contributionParams['trxnParams']['check_number'] = $contributionParams['trxnParams']['trxn_id'] =
- $contributionParams['trxnParams']['net_amount'] = $contributionParams['trxnParams']['fee_amount'] = NULL;
+ $contributionParams['trxnParams']['payment_processor_id'] = NULL;
+ $contributionParams['trxnParams']['payment_instrument_id'] = NULL;
+ $contributionParams['trxnParams']['check_number'] = NULL;
+ $contributionParams['trxnParams']['trxn_id'] = NULL;
+ $contributionParams['trxnParams']['net_amount'] = NULL;
+ $contributionParams['trxnParams']['fee_amount'] = NULL;
CRM_Core_BAO_FinancialTrxn::create($contributionParams['trxnParams']);
}
}
- return;
}
/**
* @param int $contactId
* Contact id.
*
- * @static
*/
public static function deleteContactParticipant($contactId) {
$participant = new CRM_Event_DAO_Participant();
$ftDetail = CRM_Core_BAO_FinancialTrxn::getBalanceTrxnAmt($contributionId);
// adjusted amount financial_trxn creation
if (empty($ftDetail['trxn_id'])) {
- $updatedContribution =
- CRM_Contribute_BAO_Contribution::getValues(array('id' => $contributionId), CRM_Core_DAO::$_nullArray, CRM_Core_DAO::$_nullArray);
+ $updatedContribution = CRM_Contribute_BAO_Contribution::getValues(
+ array('id' => $contributionId),
+ CRM_Core_DAO::$_nullArray,
+ CRM_Core_DAO::$_nullArray
+ );
$relationTypeId = key(CRM_Core_PseudoConstant::accountOptionValues('account_relationship', NULL, " AND v.name LIKE 'Accounts Receivable Account is' "));
$toFinancialAccount = CRM_Contribute_PseudoConstant::financialAccountType($updatedContribution->financial_type_id, $relationTypeId);
*
* @param string $fieldName
* @param string $context
- * @see CRM_Core_DAO::buildOptionsContext.
+ * @see CRM_Core_DAO::buildOptionsContext
* @param array $props
* whatever is known about this dao object.
*
- * @return Array|bool
+ * @return array|bool
*/
public static function buildOptions($fieldName, $context = NULL, $props = array()) {
$params = array('condition' => array());
return CRM_Core_PseudoConstant::get(__CLASS__, $fieldName, $params, $context);
}
+
}