Merge pull request #4917 from eileenmcnaughton/minor-tidies
[civicrm-core.git] / CRM / Event / BAO / Participant.php
index 892657bf5a131788dd00a88f5edec685d845b875..fb282d354f1ac77d9e54983c6057cd36574a6f21 100644 (file)
@@ -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,6 +106,10 @@ 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']);
     }
 
@@ -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) {
 
@@ -352,7 +349,8 @@ 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(
     $eventId,
@@ -495,8 +493,8 @@ 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(
     $eventId,
@@ -573,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;
@@ -622,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) {
@@ -734,8 +732,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) {
@@ -746,44 +744,31 @@ 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',
           'name' => 'participant_note',
-        ),
-      );
+          'type' => CRM_Utils_Type::T_STRING,
+        ));
 
       $participantStatus = array(
         'participant_status' => array(
           'title' => 'Participant Status',
           'name' => 'participant_status',
-        ),
-      );
+          'type' => CRM_Utils_Type::T_STRING,
+        ));
 
       $participantRole = array(
         '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'));
@@ -799,8 +784,8 @@ 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 = "
@@ -831,7 +816,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);
@@ -840,7 +824,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
@@ -875,7 +859,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);
@@ -936,10 +919,9 @@ WHERE  civicrm_participant.id = {$participantId}
    *   (reference ) an assoc array of name/value pairs.
    * @param array $input
    *   An assosiative array of name /value pairs.
-   * from other function
+   *   from other function
    *
-   * @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);
@@ -984,7 +966,6 @@ WHERE  civicrm_participant.id = {$participantId}
    * @param string $eventLevel
    *   Event_leval string from db.
    *
-   * @static
    *
    * @return void
    */
@@ -1020,8 +1001,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();
@@ -1062,8 +1042,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();
@@ -1137,8 +1116,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();
@@ -1170,7 +1149,6 @@ INNER JOIN civicrm_price_field_value value ON ( value.id = lineItem.price_field_
    * @param bool $updatePrimaryStatus
    *
    * @return bool|void
-   * @static
    */
   public static function updateParticipantStatus($participantID, $oldStatusID, $newStatusID = NULL, $updatePrimaryStatus = FALSE) {
     if (!$participantID || !$oldStatusID) {
@@ -1207,7 +1185,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) {
@@ -1243,13 +1220,10 @@ UPDATE  civicrm_participant
    *   Update status id.
    * @param int $fromStatusId
    *   From status id.
-   *
-   * return  void
    * @param bool $returnResult
    * @param bool $skipCascadeRule
    *
    * @return array
-   * @static
    */
   static function transitionParticipants(
     $participantIds, $toStatusId,
@@ -1485,10 +1459,7 @@ UPDATE  civicrm_participant
    * @param string $mailType
    *   (eg 'approval', 'confirm', 'expired' ).
    *
-   * return  void
-   *
    * @return bool
-   * @static
    */
   static function sendTransitionParticipantMail(
     $participantId,
@@ -1687,7 +1658,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) {
 
@@ -1710,7 +1682,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) {
 
@@ -1736,8 +1709,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(*)
@@ -1755,8 +1728,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) {
 
@@ -1787,8 +1759,8 @@ 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) {
@@ -1807,7 +1779,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.
@@ -1816,7 +1788,6 @@ WHERE    civicrm_participant.contact_id = {$contactID} AND
    *
    * @param $feeLevel
    *
-   * @static
    */
   public static function createDiscountTrxn($eventID, $contributionParams, $feeLevel) {
     // CRM-11124
@@ -1855,7 +1826,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();
@@ -2190,9 +2160,9 @@ 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
    */