File Editor
Directories:
.. (Back)
Admin
Admin_Tables
Cart
Communication
Compatibility
Editor
Flag_Actions
Gateways
Models
Reports
Repositories
Shortcodes
Status
Traits
Utils
Files:
Abstract_Order.php
Assets.php
Attendee.php
Cart.php
Checkout.php
Hooks.php
Legacy_Compat.php
Module.php
Notice_Handler.php
Order.php
Payments_Tab.php
Promoter_Observer.php
Provider.php
Settings.php
Success.php
Ticket.php
Tickets_View.php
Create New File
Create
Edit File: Tickets_View.php
<?php namespace TEC\Tickets\Commerce; /** * Class Tickets_View * * @since 5.1.9 * * @package TEC\Tickets\Commerce */ class Tickets_View extends \Tribe__Tickets__Tickets_View { /** * Groups PayPal ticket attendees by purchaser name/email * * @since 5.1.9 * * @param int $post_id The post ID it relates to * @param int|null $user_id An optional user ID * * @return array Array with the tickets attendees grouped by purchaser name/email */ public function get_post_attendees_by_purchaser( $post_id, $user_id ) { $attendees = $this->get_post_ticket_attendees( $post_id, $user_id ); if ( ! $attendees ) { return array(); } $attendee_groups = array(); foreach ( $attendees as $attendee ) { $key = $attendee['purchaser_name'] . '::' . $attendee['purchaser_email']; if ( ! isset( $attendee_groups[ $key ] ) ) { $attendee_groups[ $key ] = array(); } $attendee_groups[ $key ][] = $attendee; } return $attendee_groups; } /** * Fetches from the Cached attendees list the ones that are relevant for this user and event * * Important to note that this method will bring the attendees from PayPal tickets * * @since 5.1.9 * * @param int $event_id The Event ID it relates to * @param int|null $user_id An Optional User ID * * @return array Array with the PayPal tickets attendees */ public function get_post_ticket_attendees( $event_id, $user_id ) { $module = tribe( Module::class ); if ( $user_id ) { return $module->get_attendees_by_user_id( $user_id, $event_id ); } return $module->get_attendees_by_id( $event_id ); } /** * Verifies if the Given Event has Ticket participation restricted * * @since 5.1.9 * * @param int $event_id The Event/Post ID (optional) * @param int $ticket_id The Ticket/RSVP ID (optional) * @param int $user_id An User ID (optional) * * @return boolean */ public function is_ticket_restricted( $event_id = null, $ticket_id = null, $user_id = null ) { // By default we always pass the current User if ( is_null( $user_id ) ) { $user_id = get_current_user_id(); } /** * Allow users to filter if this Event or Ticket has Restricted Tickets * * @since 4.7.1 * * @param boolean $restricted Is this Event or Ticket Restricted? * @param int $event_id The Event/Post ID (optional) * @param int $ticket_id The Ticket/RSVP ID (optional) * @param int $user_id An User ID (optional) */ return apply_filters( 'tec_tickets_commerce_is_ticket_restricted', false, $event_id, $ticket_id, $user_id ); } /** * Gets a HTML Attribute for input/select/textarea to be disabled * * @since 5.1.9 * * @param int $event_id The Event/Post ID (optional) * @param int $ticket_id The Ticket/RSVP ID (optional) * * @return boolean */ public function get_restriction_attr( $event_id = null, $ticket_id = null ) { $is_disabled = ''; if ( $this->is_ticket_restricted( $event_id, $ticket_id ) ) { $is_disabled = 'disabled title="' . esc_attr__( 'This ticket is no longer active.', 'event-tickets' ) . '"'; } return $is_disabled; } /** * Creates the HTML for the status of the PayPal ticket. * * @since 5.1.9 * * @param string $status The ticket order status * * @return void */ public function render_ticket_status( $status = null ) { $ticket_status = $this->get_ticket_status( $status ); echo sprintf( '<span>%s</span>', esc_html( $ticket_status ) ); } /** * Returns the ticket status corresponding to the ticket status slug. * * @since 5.1.9 * * @param string $status * * @return string */ public function get_ticket_status( $status ) { $ticket_status = __( 'unavailable', 'event-tickets' ); if ( ! empty( $status ) ) { /** @var \Tribe__Tickets__Status__Manager $status_mgr */ $status_mgr = tribe( 'tickets.status' ); $statuses = $status_mgr->get_all_provider_statuses( 'tpp' ); $status_strings = []; foreach ( $statuses as $s ) { $status_strings[ $s->provider_name ] = _x( $s->name, 'a PayPal ticket order status', 'event-tickets' ); } $ticket_status = \Tribe__Utils__Array::get( $status_strings, $status, reset( $status_strings ) ); } return $ticket_status; } }
Save Changes
Rename File
Rename