/** * Returns a formatted multi-dimensional associative array of attendee information for a specific booking ticket. * example : array('Attendee 1' => array('Label'=>'Value', 'Label 2'=>'Value 2'), 'Attendee 2' => array(...)...); * @param EM_Ticket_Booking $EM_Ticket_Booking * @param boolean $padding * @return array $attendees */ public static function get_ticket_attendees($EM_Ticket_Booking, $padding = false) { $attendees = array(); $EM_Form = EM_Attendees_Form::get_form($EM_Ticket_Booking->get_booking()->event_id); //can be repeated since object is stored temporarily if (!empty($EM_Ticket_Booking->get_booking()->booking_meta['attendees'][$EM_Ticket_Booking->ticket_id]) && is_array($EM_Ticket_Booking->get_booking()->booking_meta['attendees'][$EM_Ticket_Booking->ticket_id])) { $i = 1; //counter foreach ($EM_Ticket_Booking->get_booking()->booking_meta['attendees'][$EM_Ticket_Booking->ticket_id] as $field_values) { $EM_Form->field_values = $field_values; //output the field values $key = sprintf(__('Attendee %s', 'em-pro'), $i); $attendees[$key] = array(); foreach ($EM_Form->form_fields as $fieldid => $field) { if (!array_key_exists($fieldid, $EM_Form->user_fields) && $field['type'] != 'html') { $field_value = isset($EM_Form->field_values[$fieldid]) ? $EM_Form->field_values[$fieldid] : 'n/a'; $attendees[$key][$field['label']] = $EM_Form->get_formatted_value($field, $field_value); } } $i++; } } elseif ($padding) { //no attendees so pad with empty values for ($space_no = 1; $space_no <= $EM_Ticket_Booking->ticket_booking_spaces; $space_no++) { $key = sprintf(__('Attendee %s', 'em-pro'), $space_no); $attendees[$key] = array(); foreach ($EM_Form->form_fields as $fieldid => $field) { if (!array_key_exists($fieldid, $EM_Form->user_fields) && $field['type'] != 'html') { $attendees[$key][$field['label']] = $EM_Form->get_formatted_value($field, 'n/a'); } } } } return $attendees; }