Server IP : 66.29.132.124 / Your IP : 13.59.116.142 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/misswavenigeria.com/wp-content/plugins/event-tickets/src/Tribe/ |
Upload File : |
<?php /** * A decorator of the Event repository to add and replace some tickets related functions. * * @since 4.10.4 */ use Tribe\Tickets\Repositories\Traits\Post_Attendees; use Tribe\Tickets\Repositories\Traits\Post_Tickets; /** * Class Tribe__Tickets__Event_Repository * * @since 4.10.4 */ class Tribe__Tickets__Event_Repository extends Tribe__Repository__Decorator { use Post_Attendees; use Post_Tickets; /** * Tribe__Tickets__Event_Repository constructor. * * Gets the current event repository instance to add or replace some filters in it. * * @since 4.10.4 */ public function __construct() { $this->decorated = $this->get_previously_decorated_repository(); // These filter methods are added by the Post_Tickets trait. $this->decorated->add_schema_entry( 'cost', [ $this, 'filter_by_cost' ] ); $this->decorated->add_schema_entry( 'cost_currency_symbol', [ $this, 'filter_by_cost_currency_symbol' ] ); $this->decorated->add_schema_entry( 'has_tickets', [ $this, 'filter_by_has_tickets' ] ); $this->decorated->add_schema_entry( 'has_rsvp', [ $this, 'filter_by_has_rsvp' ] ); $this->decorated->add_schema_entry( 'has_rsvp_or_tickets', [ $this, 'filter_by_has_rsvp_or_tickets' ] ); // These filter methods are added by the Post_Attendees trait. $this->decorated->add_schema_entry( 'has_attendees', [ $this, 'filter_by_has_attendees' ] ); $this->decorated->add_schema_entry( 'attendee', [ $this, 'filter_by_attendee' ] ); $this->decorated->add_schema_entry( 'attendee__not_in', [ $this, 'filter_by_attendee_not_in' ] ); $this->decorated->add_schema_entry( 'attendee_user', [ $this, 'filter_by_attendee_user' ] ); // This is not yet working, it needs more debugging to determine why it's not functional yet. //$this->decorated->add_schema_entry( 'attendee_user__not_in', [ $this, 'filter_by_attendee_user_not_in' ] ); } /** * Get the previously declared event repository so that we can decorate it. * * @since 5.2.0 * * @return Tribe__Repository */ protected function get_previously_decorated_repository() { /** * Filters the map relating event repository slugs to service container bindings. * * @see tribe_events() * * @since 5.2.0 * * @param array $map A map in the shape [ <repository_slug> => <service_name> ] * @param string $repository The currently requested implementation. * @param array $args An array of additional call arguments used to call the function beside the * repository slug. */ $map = apply_filters( 'tribe_events_event_repository_map', [ 'default' => 'events.event-repository', ], 'default', [] ); return tribe( $map['tickets_event_previous'] ); } /** * Returns an array of the attendee types handled by this repository. * * Extending repository classes should override this to add more attendee types. * * @since 4.12.1 * * @return array */ public function attendee_types() { return [ 'rsvp' => 'tribe_rsvp_attendees', 'tribe-commerce' => 'tribe_tpp_attendees', \TEC\Tickets\Commerce::PROVIDER => \TEC\Tickets\Commerce\Attendee::POSTTYPE, ]; } /** * Returns the list of meta keys relating an Attendee to a Post (Event). * * Extending repository classes should override this to add more keys. * * @since 4.12.1 * * @return array */ public function attendee_to_event_keys() { return [ 'rsvp' => '_tribe_rsvp_event', 'tribe-commerce' => '_tribe_tpp_event', \TEC\Tickets\Commerce::PROVIDER => \TEC\Tickets\Commerce\Attendee::$event_relation_meta_key, ]; } /** * Returns the meta key relating an Attendee to a User. * * @since 4.12.1 * * @return string */ public function attendee_to_user_key() { return '_tribe_tickets_attendee_user_id'; } }