X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FEvent%2FBAO%2FParticipant.php;h=d324b1e9e998267969619f63e52ae6f011e44f14;hb=04d2e082924ee167fa35b78dfaacfaef07c8cd8a;hp=2a1fcd0b56efdd2ffef04f736acd38f7370e6e19;hpb=0479b4c8095005abb475f17c243d9ea4613db58c;p=civicrm-core.git diff --git a/CRM/Event/BAO/Participant.php b/CRM/Event/BAO/Participant.php index 2a1fcd0b56..d324b1e9e9 100644 --- a/CRM/Event/BAO/Participant.php +++ b/CRM/Event/BAO/Participant.php @@ -24,7 +24,7 @@ | see the CiviCRM license FAQ at http://civicrm.org/licensing | +--------------------------------------------------------------------+ -*/ + */ /** * @@ -40,7 +40,6 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { * Static field for all the participant information that we can potentially import * * @var array - * @static */ static $_importableFields = NULL; @@ -48,7 +47,6 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { * Static field for all the participant information that we can potentially export * * @var array - * @static */ static $_exportableFields = NULL; @@ -56,7 +54,6 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { * Static array for valid status transitions rules * * @var array - * @static */ static $_statusTransitionsRules = array( 'Pending from pay later' => array('Registered', 'Cancelled'), @@ -68,7 +65,6 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { ); /** - * */ public function __construct() { parent::__construct(); @@ -84,8 +80,7 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { * @param array $params * (reference ) an assoc array of name/value pairs. * - * @return CRM_Event_BAO_Participant object - * @static + * @return CRM_Event_BAO_Participant */ public static function &add(&$params) { @@ -111,10 +106,14 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { // 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); @@ -166,7 +165,6 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { * @param $ids * * @return CRM_Event_BAO_Participant|null the found object or null - * @static */ public static function getValues(&$params, &$values, &$ids) { if (empty($params)) { @@ -190,8 +188,7 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { * @param array $params * (reference ) an assoc array of name/value pairs. * - * @return CRM_Event_BAO_Participant object - * @static + * @return CRM_Event_BAO_Participant */ public static function create(&$params) { @@ -243,7 +240,9 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { $noteValue = NULL; $hasNoteField = FALSE; foreach (array( - 'note', 'participant_note') as $noteFld) { + 'note', + 'participant_note', + ) as $noteFld) { if (array_key_exists($noteFld, $params)) { $noteValue = $params[$noteFld]; $hasNoteField = TRUE; @@ -350,9 +349,10 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { * @param bool $returnWaitingCount * @param bool $considerTestParticipant * - * @return bool|int|null|string 1. false => If event having some empty spaces.@static + * @return bool|int|null|string + * 1. false => If event having some empty spaces. */ - static function eventFull( + public static function eventFull( $eventId, $returnEmptySeats = FALSE, $includeWaitingList = TRUE, @@ -370,9 +370,9 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { // It might be case there are some empty spaces and still event // is full, as waitlist might represent group require spaces > empty. - $participantRoles = CRM_Event_PseudoConstant::participantRole(NULL, 'filter = 1'); - $countedStatuses = CRM_Event_PseudoConstant::participantStatus(NULL, 'is_counted = 1'); - $waitingStatuses = CRM_Event_PseudoConstant::participantStatus(NULL, "class = 'Waiting'"); + $participantRoles = CRM_Event_PseudoConstant::participantRole(NULL, 'filter = 1'); + $countedStatuses = CRM_Event_PseudoConstant::participantStatus(NULL, 'is_counted = 1'); + $waitingStatuses = CRM_Event_PseudoConstant::participantStatus(NULL, "class = 'Waiting'"); $onWaitlistStatusId = array_search('On waitlist', $waitingStatuses); //when we do require only waiting count don't consider counted. @@ -394,8 +394,8 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant { if ($includeWaitingList && $onWaitlistStatusId) { //build the where clause. - $whereClause = ' WHERE ' . implode(' AND ', $where); - $whereClause .= " AND participant.status_id = $onWaitlistStatusId "; + $whereClause = ' WHERE ' . implode(' AND ', $where); + $whereClause .= " AND participant.status_id = $onWaitlistStatusId "; $eventSeatsWhere = implode(' AND ', $where) . " AND ( participant.status_id = $onWaitlistStatusId )"; $query = " @@ -419,8 +419,8 @@ INNER JOIN civicrm_event event ON ( event.id = participant.event_id ) } //consider only counted participants. - $where[] = ' participant.status_id IN ( ' . implode(', ', array_keys($countedStatuses)) . ' ) '; - $whereClause = ' WHERE ' . implode(' AND ', $where); + $where[] = ' participant.status_id IN ( ' . implode(', ', array_keys($countedStatuses)) . ' ) '; + $whereClause = ' WHERE ' . implode(' AND ', $where); $eventSeatsWhere = implode(' AND ', $where); $query = " @@ -433,7 +433,7 @@ INNER JOIN civicrm_event event ON ( event.id = participant.event_id ) $eventMaxSeats = NULL; $eventFullText = ts('This event is full.'); - $participants = CRM_Core_DAO::executeQuery($query, $eventParams); + $participants = CRM_Core_DAO::executeQuery($query, $eventParams); while ($participants->fetch()) { if ($participants->event_full_text) { $eventFullText = $participants->event_full_text; @@ -493,10 +493,10 @@ SELECT event.event_full_text, * @param bool $considerWaiting * @param bool $considerTestParticipants * - * @return array $optionsCount an array of each option id and total count - * @static + * @return array + * an array of each option id and total count */ - static function priceSetOptionsCount( + public static function priceSetOptionsCount( $eventId, $skipParticipantIds = array(), $considerCounted = TRUE, @@ -571,8 +571,8 @@ INNER JOIN civicrm_price_field field ON ( value.price_field_id = field.id * @param int $eventId * Event id. * - * @return int $spaces Number of Empty Seats/null. - * @static + * @return int + * $spaces Number of Empty Seats/null. */ public static function pendingToConfirmSpaces($eventId) { $emptySeats = 0; @@ -620,8 +620,8 @@ GROUP BY participant.event_id * @param bool $status * @param bool $onlyParticipant * - * @return array array of importable Fields - * @static + * @return array + * array of importable Fields */ public static function &importableFields($contactType = 'Individual', $status = TRUE, $onlyParticipant = FALSE) { if (!self::$_importableFields) { @@ -644,7 +644,8 @@ GROUP BY participant.event_id 'title' => ts('Participant Note'), 'name' => 'participant_note', 'headerPattern' => '/(participant.)?note$/i', - )); + ), + ); // Split status and status id into 2 fields // Fixme: it would be better to leave as 1 field and intelligently handle both during import @@ -653,7 +654,8 @@ GROUP BY participant.event_id 'title' => ts('Participant Status'), 'name' => 'participant_status', 'data_type' => CRM_Utils_Type::T_STRING, - )); + ), + ); $tmpFields['participant_status_id']['title'] = ts('Participant Status Id'); // Split role and role id into 2 fields @@ -663,7 +665,8 @@ GROUP BY participant.event_id 'title' => ts('Participant Role'), 'name' => 'participant_role', 'data_type' => CRM_Utils_Type::T_STRING, - )); + ), + ); $tmpFields['participant_role_id']['title'] = ts('Participant Role Id'); $eventType = array( @@ -671,7 +674,8 @@ GROUP BY participant.event_id 'title' => ts('Event Type'), 'name' => 'event_type', 'data_type' => CRM_Utils_Type::T_STRING, - )); + ), + ); $tmpContactField = $contactFields = array(); $contactFields = array(); @@ -681,7 +685,7 @@ GROUP BY participant.event_id // Using new Dedupe rule. $ruleParams = array( 'contact_type' => $contactType, - 'used' => 'Unsupervised', + 'used' => 'Unsupervised', ); $fieldsArray = CRM_Dedupe_BAO_Rule::dedupeRuleFields($ruleParams); @@ -708,11 +712,9 @@ GROUP BY participant.event_id $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); @@ -728,8 +730,8 @@ GROUP BY participant.event_id /** * Combine all the exportable fields from the lower levels object * - * @return array array of exportable Fields - * @static + * @return array + * array of exportable Fields */ public static function &exportableFields() { if (!self::$_exportableFields) { @@ -740,39 +742,34 @@ GROUP BY participant.event_id $fields = array(); $participantFields = CRM_Event_DAO_Participant::export(); + $eventFields = CRM_Event_DAO_Event::export(); $noteField = array( 'participant_note' => array( - 'title' => 'Participant Note', + 'title' => 'Participant Note', 'name' => 'participant_note', - )); + 'type' => CRM_Utils_Type::T_STRING, + ), + ); $participantStatus = array( 'participant_status' => array( - 'title' => 'Participant Status', + 'title' => 'Participant Status', 'name' => 'participant_status', - )); + 'type' => CRM_Utils_Type::T_STRING, + ), + ); $participantRole = array( 'participant_role' => array( - 'title' => 'Participant Role', + '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(); + $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')); @@ -787,10 +784,9 @@ GROUP BY participant.event_id * * @param int $participantId * Id of the participant. - * - * @return array $name associated array with sort_name and event title - * @static + * @return array + * associated array with sort_name and event title */ public static function participantDetails($participantId) { $query = " @@ -804,9 +800,9 @@ WHERE civicrm_participant.id = {$participantId} $details = array(); while ($dao->fetch()) { - $details['name'] = $dao->name; + $details['name'] = $dao->name; $details['title'] = $dao->title; - $details['cid'] = $dao->cid; + $details['cid'] = $dao->cid; } return $details; @@ -821,7 +817,6 @@ WHERE civicrm_participant.id = {$participantId} * 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); @@ -830,7 +825,7 @@ WHERE civicrm_participant.id = {$participantId} } /** - * This function is used to convert associative array names to values + * convert associative array names to values * and vice-versa. * * This function is used by both the web form layer and the api. Note that @@ -865,7 +860,6 @@ WHERE civicrm_participant.id = {$participantId} * 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); @@ -888,8 +882,8 @@ WHERE civicrm_participant.id = {$participantId} CRM_Event_BAO_ParticipantPayment::deleteParticipantPayment($p); // cleanup line items. - $participantsId = array(); - $participantsId = self::getAdditionalParticipantIds($id); + $participantsId = array(); + $participantsId = self::getAdditionalParticipantIds($id); $participantsId[] = $id; CRM_Price_BAO_LineItem::deleteLineItems($participantsId, 'civicrm_participant'); @@ -922,14 +916,13 @@ WHERE civicrm_participant.id = {$participantId} /** * 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 + * from other function + * @param array $duplicates + * (reference ) an assoc array of name/value pairs. * - * @return CRM_Contribute_BAO_Contribution object - * @static + * @return CRM_Contribute_BAO_Contribution */ public static function checkDuplicate($input, &$duplicates) { $eventId = CRM_Utils_Array::value('event_id', $input); @@ -954,8 +947,8 @@ WHERE civicrm_participant.id = {$participantId} $clause = implode(' AND ', $clause); - $query = "SELECT id FROM civicrm_participant WHERE $clause"; - $dao = CRM_Core_DAO::executeQuery($query, $input); + $query = "SELECT id FROM civicrm_participant WHERE $clause"; + $dao = CRM_Core_DAO::executeQuery($query, $input); $result = FALSE; while ($dao->fetch()) { $duplicates[] = $dao->id; @@ -974,7 +967,6 @@ WHERE civicrm_participant.id = {$participantId} * @param string $eventLevel * Event_leval string from db. * - * @static * * @return void */ @@ -990,13 +982,13 @@ WHERE civicrm_participant.id = {$participantId} } elseif ((substr($eventLevel, 0, 1) == CRM_Core_DAO::VALUE_SEPARATOR)) { $eventLevel = implode(', ', explode(CRM_Core_DAO::VALUE_SEPARATOR, - substr($eventLevel, 0, 1) - )); + substr($eventLevel, 0, 1) + )); } elseif ((substr($eventLevel, -1, 1) == CRM_Core_DAO::VALUE_SEPARATOR)) { $eventLevel = implode(', ', explode(CRM_Core_DAO::VALUE_SEPARATOR, - substr($eventLevel, 0, -1) - )); + substr($eventLevel, 0, -1) + )); } } @@ -1010,8 +1002,7 @@ WHERE civicrm_participant.id = {$participantId} * * @param int $oldStatusId * - * @return array $additionalParticipantIds - * @static + * @return array */ public static function getAdditionalParticipantIds($primaryParticipantId, $excludeCancel = TRUE, $oldStatusId = NULL) { $additionalParticipantIds = array(); @@ -1021,9 +1012,9 @@ WHERE civicrm_participant.id = {$participantId} $where = "participant.registered_by_id={$primaryParticipantId}"; if ($excludeCancel) { - $cancelStatusId = 0; + $cancelStatusId = 0; $negativeStatuses = CRM_Event_PseudoConstant::participantStatus(NULL, "class = 'Negative'"); - $cancelStatusId = array_search('Cancelled', $negativeStatuses); + $cancelStatusId = array_search('Cancelled', $negativeStatuses); $where .= " AND participant.status_id != {$cancelStatusId}"; } @@ -1052,8 +1043,7 @@ WHERE civicrm_participant.id = {$participantId} * @param bool $hasLineItems * Do fetch from line items. * - * @return array $feeDetails - * @static + * @return array */ public function getFeeDetails($participantIds, $hasLineItems = FALSE) { $feeDetails = array(); @@ -1089,12 +1079,20 @@ INNER JOIN civicrm_price_field_value value ON ( value.id = lineItem.price_field_ $where = 'WHERE participant.id IN ( ' . implode(', ', $participantIds) . ' )'; $query = "$select $from $where"; - $feeInfo = CRM_Core_DAO::executeQuery($query); - $feeProperties = array('fee_level', 'fee_amount'); + $feeInfo = CRM_Core_DAO::executeQuery($query); + $feeProperties = array('fee_level', 'fee_amount'); $lineProperties = array( - 'lineId', 'label', 'qty', 'unit_price', - 'line_total', 'field_title', 'html_type', - 'price_field_id', 'participant_count', 'price_field_value_id', 'description', + 'lineId', + 'label', + 'qty', + 'unit_price', + 'line_total', + 'field_title', + 'html_type', + 'price_field_id', + 'participant_count', + 'price_field_value_id', + 'description', ); while ($feeInfo->fetch()) { if ($hasLineItems) { @@ -1103,7 +1101,8 @@ INNER JOIN civicrm_price_field_value value ON ( value.id = lineItem.price_field_ } } else { - foreach ($feeProperties as $property) { $feeDetails[$feeInfo->id][$property] = $feeInfo->$property; + foreach ($feeProperties as $property) { + $feeDetails[$feeInfo->id][$property] = $feeInfo->$property; } } } @@ -1118,8 +1117,8 @@ INNER JOIN civicrm_price_field_value value ON ( value.id = lineItem.price_field_ * @param int $primaryParticipantID * Id of primary participant record. * - * @return array $additionalParticipants $displayName => $viewUrl - * @static + * @return array + * $displayName => $viewUrl */ public static function getAdditionalParticipants($primaryParticipantID) { $additionalParticipantIDs = array(); @@ -1150,12 +1149,11 @@ INNER JOIN civicrm_price_field_value value ON ( value.id = lineItem.price_field_ * @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) { @@ -1188,7 +1186,6 @@ INNER JOIN civicrm_price_field_value value ON ( value.id = lineItem.price_field_ * * @return void * - * @static */ public static function updateStatus($participantIds, $statusId, $updateRegisterDate = FALSE) { if (!is_array($participantIds) || empty($participantIds) || !$statusId) { @@ -1224,19 +1221,17 @@ UPDATE civicrm_participant * 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($participantIds, $toStatusId, + 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 @@ -1268,9 +1263,9 @@ UPDATE civicrm_participant $contactIds = $eventIds = $participantDetails = array(); - $statusTypes = CRM_Event_PseudoConstant::participantStatus(); + $statusTypes = CRM_Event_PseudoConstant::participantStatus(); $participantRoles = CRM_Event_PseudoConstant::participantRole(); - $pendingStatuses = CRM_Event_PseudoConstant::participantStatus(NULL, + $pendingStatuses = CRM_Event_PseudoConstant::participantStatus(NULL, "class = 'Pending'" ); @@ -1306,7 +1301,7 @@ UPDATE civicrm_participant // making all tokens available to templates. $domain = CRM_Core_BAO_Domain::getDomain(); $tokens = array( - 'domain' => array('name', 'phone', 'address', 'email'), + 'domain' => array('name', 'phone', 'address', 'email'), 'contact' => CRM_Core_SelectValues::contactTokens(), ); @@ -1347,8 +1342,8 @@ UPDATE civicrm_participant //now we are ready w/ all required data. //take a decision as per statuses. - $emailType = NULL; - $toStatus = $statusTypes[$toStatusId]; + $emailType = NULL; + $toStatus = $statusTypes[$toStatusId]; $fromStatus = CRM_Utils_Array::value($fromStatusId, $statusTypes); switch ($toStatus) { @@ -1465,12 +1460,9 @@ UPDATE civicrm_participant * @param string $mailType * (eg 'approval', 'confirm', 'expired' ). * - * return void - * * @return bool - * @static */ - static function sendTransitionParticipantMail( + public static function sendTransitionParticipantMail( $participantId, $participantValues, $eventDetails, @@ -1538,8 +1530,8 @@ UPDATE civicrm_participant // 3. create activity record. if ($mailSent) { - $now = date('YmdHis'); - $activityType = 'Event Registration'; + $now = date('YmdHis'); + $activityType = 'Event Registration'; $activityParams = array( 'subject' => $subject, 'source_contact_id' => $contactId, @@ -1587,11 +1579,11 @@ UPDATE civicrm_participant array_key_exists($processedId, $results['mailedParticipants']) ) { $statusMsg .= '
' . ts("Participant status has been updated to '%1'. An email has been sent to %2.", - array( - 1 => $allStatuses[$statusChangeTo], - 2 => $results['mailedParticipants'][$processedId], - ) - ); + array( + 1 => $allStatuses[$statusChangeTo], + 2 => $results['mailedParticipants'][$processedId], + ) + ); } } } @@ -1629,7 +1621,8 @@ UPDATE civicrm_participant if (is_string($emptySeats) && $emptySeats !== NULL) { $maxParticipants = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $eventId, 'max_participants'); $eventfullMsg = ts("This event currently has the maximum number of participants registered (%1). However, you can still override this limit and register additional participants using this form.", array( - 1 => $maxParticipants)) . '
'; + 1 => $maxParticipants, + )) . '
'; } $hasWaiting = FALSE; @@ -1666,7 +1659,8 @@ UPDATE civicrm_participant * * @param int $participantId * - * @return true if participant is primary + * @return bool + * true if participant is primary */ public static function isPrimaryParticipant($participantId) { @@ -1689,7 +1683,8 @@ UPDATE civicrm_participant * @param int $newStatusId * New status. * - * @return true if allowed + * @return bool + * true if allowed */ public static function getValidAdditionalIds($participantId, $oldStatusId, $newStatusId) { @@ -1715,8 +1710,8 @@ UPDATE civicrm_participant * * @param int $contactID * - * @return int count of participant records - * @static + * @return int + * count of participant records */ public static function getContactParticipantCount($contactID) { $query = "SELECT count(*) @@ -1734,8 +1729,7 @@ WHERE civicrm_participant.contact_id = {$contactID} AND * @param bool $excludeCancelled * Exclude cancelled additional participant. * - * @return array $participantsId - * @static + * @return array */ public static function getParticipantIds($contributionId, $excludeCancelled = FALSE) { @@ -1751,9 +1745,10 @@ WHERE civicrm_participant.contact_id = {$contactID} AND // get additional participant ids (including cancelled) if ($participantId) { $ids = array_merge(array( - $participantId), self::getAdditionalParticipantIds($participantId, - $excludeCancelled - )); + $participantId, + ), self::getAdditionalParticipantIds($participantId, + $excludeCancelled + )); } return $ids; @@ -1765,12 +1760,12 @@ WHERE civicrm_participant.contact_id = {$contactID} AND * @param array $participantIds * An array of additional participant ids. * - * @return array of Urls. - * @static + * @return array + * Array of Urls. */ public static function getAdditionalParticipantUrl($participantIds) { foreach ($participantIds as $value) { - $links = array(); + $links = array(); $details = self::participantDetails($value); $viewUrl = CRM_Utils_System::url('civicrm/contact/view/participant', "action=view&reset=1&id={$value}&cid={$details['cid']}" @@ -1785,7 +1780,7 @@ WHERE civicrm_participant.contact_id = {$contactID} AND } /** - * To create trxn entry if an event has discount. + * create trxn entry if an event has discount. * * @param int $eventID * Event id. @@ -1794,7 +1789,6 @@ WHERE civicrm_participant.contact_id = {$contactID} AND * * @param $feeLevel * - * @static */ public static function createDiscountTrxn($eventID, $contributionParams, $feeLevel) { // CRM-11124 @@ -1806,22 +1800,25 @@ WHERE civicrm_participant.contact_id = {$contactID} AND LEFT JOIN civicrm_price_field cpf ON cpfv.price_field_id = cpf.id WHERE cpf.price_set_id = %1 AND cpfv.label LIKE %2"; $params = array( - 1 => array($priceSetId, 'Integer'), - 2 => array($feeLevel, 'String')); + 1 => array($priceSetId, 'Integer'), + 2 => array($feeLevel, 'String'), + ); $mainAmount = CRM_Core_DAO::singleValueQuery($query, $params); $relationTypeId = key(CRM_Core_PseudoConstant::accountOptionValues('account_relationship', NULL, " AND v.name LIKE 'Discounts Account is' ")); $contributionParams['trxnParams']['from_financial_account_id'] = CRM_Contribute_PseudoConstant::financialAccountType( $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; } /** @@ -1832,7 +1829,6 @@ WHERE cpf.price_set_id = %1 AND cpfv.label LIKE %2"; * @param int $contactId * Contact id. * - * @static */ public static function deleteContactParticipant($contactId) { $participant = new CRM_Event_DAO_Participant(); @@ -1879,7 +1875,8 @@ WHERE cpf.price_set_id = %1 AND cpfv.label LIKE %2"; unset($insertLines[$previousLineItem['price_field_value_id']]); // for updating the line items i.e. use-case - once deselect-option selecting again if (($previousLineItem['line_total'] != $submittedLineItems[$previousLineItem['price_field_value_id']]['line_total']) || - ($submittedLineItems[$previousLineItem['price_field_value_id']]['line_total'] == 0 && $submittedLineItems[$previousLineItem['price_field_value_id']]['qty'] == 1)) { + ($submittedLineItems[$previousLineItem['price_field_value_id']]['line_total'] == 0 && $submittedLineItems[$previousLineItem['price_field_value_id']]['qty'] == 1) + ) { $updateLines[$previousLineItem['price_field_value_id']] = $submittedLineItems[$previousLineItem['price_field_value_id']]; $updateLines[$previousLineItem['price_field_value_id']]['id'] = $id; } @@ -1924,11 +1921,11 @@ GROUP BY li.entity_table, li.entity_id, price_field_value_id // if not submitted and difference is not 0 make it negative if (!in_array($updateFinancialItemInfoValues['price_field_value_id'], $submittedFieldValueIds) && $updateFinancialItemInfoValues['differenceAmt'] != 0) { // INSERT negative financial_items - $updateFinancialItemInfoValues['amount'] = - $updateFinancialItemInfoValues['amount']; + $updateFinancialItemInfoValues['amount'] = -$updateFinancialItemInfoValues['amount']; CRM_Financial_BAO_FinancialItem::create($updateFinancialItemInfoValues, NULL, $trxnId); // INSERT negative financial_items for tax amount if ($previousLineItems[$updateFinancialItemInfoValues['entity_id']]['tax_amount']) { - $updateFinancialItemInfoValues['amount'] = - ($previousLineItems[$updateFinancialItemInfoValues['entity_id']]['tax_amount']); + $updateFinancialItemInfoValues['amount'] = -($previousLineItems[$updateFinancialItemInfoValues['entity_id']]['tax_amount']); $updateFinancialItemInfoValues['description'] = $taxTerm; if ($updateFinancialItemInfoValues['financial_type_id']) { $updateFinancialItemInfoValues['financial_account_id'] = CRM_Contribute_BAO_Contribution::getFinancialAccountId($updateFinancialItemInfoValues['financial_type_id']); @@ -1954,7 +1951,7 @@ GROUP BY li.entity_table, li.entity_id, price_field_value_id } } } - elseif (empty($submittedFields) && empty($submittedFieldValues)){ + elseif (empty($submittedFields) && empty($submittedFieldValues)) { $updateLineItem = "UPDATE civicrm_line_item li INNER JOIN civicrm_financial_item fi ON (li.id = fi.entity_id AND fi.entity_table = 'civicrm_line_item') @@ -2038,7 +2035,7 @@ WHERE (li.entity_table = 'civicrm_participant' AND li.entity_id = {$participantI $partUpdateFeeAmt['id'] = $participantId; foreach ($lineItems as $lineValue) { if ($lineValue['price_field_value_id']) { - $line[$lineValue['price_field_value_id']] = $lineValue['label'] . ' - '. $lineValue['qty']; + $line[$lineValue['price_field_value_id']] = $lineValue['label'] . ' - ' . $lineValue['qty']; } } @@ -2090,8 +2087,11 @@ WHERE (li.entity_table = 'civicrm_participant' AND li.entity_id = {$participantI $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); @@ -2103,7 +2103,7 @@ WHERE (li.entity_table = 'civicrm_participant' AND li.entity_id = {$participantI 'payment_instrument_id' => $updatedContribution->payment_instrument_id, 'contribution_id' => $updatedContribution->id, 'trxn_date' => date('YmdHis'), - 'currency' => $updatedContribution->currency + 'currency' => $updatedContribution->currency, ); $adjustedTrxn = CRM_Core_BAO_FinancialTrxn::create($adjustedTrxnValues); } @@ -2166,11 +2166,11 @@ WHERE (li.entity_table = 'civicrm_participant' AND li.entity_id = {$participantI * * @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. + * 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()); @@ -2185,4 +2185,5 @@ WHERE (li.entity_table = 'civicrm_participant' AND li.entity_id = {$participantI return CRM_Core_PseudoConstant::get(__CLASS__, $fieldName, $params, $context); } + }