<?php $this->attendees_table->prepare_items(); $event_id = $this->attendees_table->event->ID; $event = $this->attendees_table->event; $tickets = Tribe__Tickets__Tickets::get_event_tickets($event_id); ?> <div class="wrap tribe-attendees-page"> <h1><?php esc_html_e('Attendees', 'event-tickets'); ?> </h1> <div id="tribe-attendees-summary" class="welcome-panel"> <div class="welcome-panel-content"> <div class="welcome-panel-column-container"> <?php /** * Fires before the individual panels within the attendee screen summary * are rendered. * * @param int $event_id */ do_action('tribe_events_tickets_attendees_event_details_top', $event_id); ?> <div class="welcome-panel-column welcome-panel-first"> <h3><?php echo '<a href="' . get_edit_post_link($event_id) . '" title="' . esc_attr__('Edit Event', 'event-tickets') . '">' . wp_kses(apply_filters('tribe_events_tickets_attendees_event_title', $event->post_title, $event->ID), array()) . '</a>'; ?>
/** * Includes the tickets metabox inside the Event edit screen * * @param WP_Post $post */ public function do_meta_box($post) { $startMinuteOptions = Tribe__View_Helpers::getMinuteOptions(null); $endMinuteOptions = Tribe__View_Helpers::getMinuteOptions(null); $startHourOptions = Tribe__View_Helpers::getHourOptions(null, true); $endHourOptions = Tribe__View_Helpers::getHourOptions(null, false); $startMeridianOptions = Tribe__View_Helpers::getMeridianOptions(null, true); $endMeridianOptions = Tribe__View_Helpers::getMeridianOptions(null); $show_global_stock = Tribe__Tickets__Tickets::global_stock_available(); $tickets = Tribe__Tickets__Tickets::get_event_tickets($post->ID); $global_stock = new Tribe__Tickets__Global_Stock($post->ID); include $this->path . 'src/admin-views/meta-box.php'; }
/** * Includes the tickets metabox inside the Event edit screen * * @param $post_id */ public function do_meta_box($post_id) { $startMinuteOptions = Tribe__View_Helpers::getMinuteOptions(null); $endMinuteOptions = Tribe__View_Helpers::getMinuteOptions(null); $startHourOptions = Tribe__View_Helpers::getHourOptions(null, true); $endHourOptions = Tribe__View_Helpers::getHourOptions(null, false); $startMeridianOptions = Tribe__View_Helpers::getMeridianOptions(null, true); $endMeridianOptions = Tribe__View_Helpers::getMeridianOptions(null); $tickets = Tribe__Tickets__Tickets::get_event_tickets($post_id); include $this->path . 'src/admin-views/meta-box.php'; }
/** * Builds a list of ticket types in the designated post and belonging to * the specified provider. * * @param int $target_post_id * @param string $provider * @param array $ticket_ids * * @return array */ protected function get_ticket_type_matches($target_post_id, $provider, $ticket_ids = array()) { $ticket_types = array(); $ticket_ids = array_map('absint', array_filter($ticket_ids, 'is_numeric')); foreach (Tribe__Tickets__Tickets::get_event_tickets($target_post_id) as $ticket) { if ($provider !== $ticket->provider_class) { continue; } if (in_array($ticket->ID, $ticket_ids)) { continue; } $ticket_types[absint($ticket->ID)] = esc_html($ticket->name); } return $ticket_types; }
/** * Renders the Orders page */ public function orders_page_inside() { $this->orders_table->prepare_items(); $event_id = isset($_GET['event_id']) ? intval($_GET['event_id']) : 0; $event = get_post($event_id); $tickets = Tribe__Tickets__Tickets::get_event_tickets($event_id); /** * Filters whether or not fees are being passed to the end user (purchaser) * * @var boolean $pass_fees Whether or not to pass fees to user * @var int $event_id Event post ID */ Tribe__Tickets_Plus__Commerce__WooCommerce__Orders__Table::$pass_fees_to_user = apply_filters('tribe_tickets_pass_fees_to_user', true, $event_id); /** * Filters the fee percentage to apply to a ticket/order * * @var float $fee_percent Fee percentage */ Tribe__Tickets_Plus__Commerce__WooCommerce__Orders__Table::$fee_percent = apply_filters('tribe_tickets_fee_percent', 0, $event_id); /** * Filters the flat fee to apply to a ticket/order * * @var float $fee_flat Flat fee */ Tribe__Tickets_Plus__Commerce__WooCommerce__Orders__Table::$fee_flat = apply_filters('tribe_tickets_fee_flat', 0, $event_id); ob_start(); $this->orders_table->display(); $table = ob_get_clean(); $organizer = get_user_by('id', $event->post_author); $event_revenue = Tribe__Tickets_Plus__Commerce__WooCommerce__Orders__Table::event_revenue($event_id); $event_sales = Tribe__Tickets_Plus__Commerce__WooCommerce__Orders__Table::event_sales($event_id); $event_fees = Tribe__Tickets_Plus__Commerce__WooCommerce__Orders__Table::event_fees($event_id); $tickets_sold = array(); $total_sold = 0; $total_pending = 0; $total_profit = 0; $total_completed = 0; foreach ($tickets as $ticket) { if (empty($tickets_sold[$ticket->name])) { $tickets_sold[$ticket->name] = array('ticket' => $ticket, 'has_stock' => !$ticket->stock(), 'sku' => get_post_meta($ticket->ID, '_sku', true), 'sold' => 0, 'pending' => 0, 'completed' => 0); } $stock = $ticket->stock(); $sold = $ticket->qty_sold(); $cancelled = $ticket->qty_cancelled(); $net_sold = $sold - $cancelled; if ($net_sold < 0) { $net_sold = 0; } $tickets_sold[$ticket->name]['sold'] += $net_sold; $tickets_sold[$ticket->name]['pending'] += absint($ticket->qty_pending()); $tickets_sold[$ticket->name]['completed'] += absint($tickets_sold[$ticket->name]['sold']) - absint($tickets_sold[$ticket->name]['pending']); $total_sold += $net_sold; $total_pending += absint($ticket->qty_pending()); } $total_completed += absint($total_sold) - absint($total_pending); include Tribe__Tickets_Plus__Main::instance()->plugin_path . 'src/admin-views/woocommerce-orders.php'; }
/** * Retrieves the meta fields for all tickets associated with the specified event. * * @param $event_id * * @return array */ public function get_meta_fields_by_event($event_id) { $fields = array(); foreach (Tribe__Tickets__Tickets::get_event_tickets($event_id) as $ticket) { $meta_fields = $this->get_meta_fields_by_ticket($ticket->ID); if (is_array($meta_fields) && !empty($meta_fields)) { $fields = array_merge($fields, $meta_fields); } } /** * Returns a list of meta fields in use with various tickets associated with * a specific event. * * @var array $fields * @var int $event_id */ return apply_filters('tribe_tickets_plus_get_meta_fields_by_event', $fields, $event_id); }