%PDF- %PDF-
Direktori : /var/www/html/higroup/wp-content/plugins/event-tickets/src/Tribe/ |
Current File : /var/www/html/higroup/wp-content/plugins/event-tickets/src/Tribe/Attendance.php |
<?php /** * Utilities for tracking ticket provider-agnostic attendance data. */ class Tribe__Tickets__Attendance { /** * Meta key used to track the number of attendees that have been deleted * for each event. */ const DELETED_ATTENDEES_COUNT = '_tribe_deleted_attendees_count'; /** * Container for our instances (one per event/post). * * @var array */ protected static $instances = array(); /** * @var int */ protected $post_id = 0; /** * Returns a Tribe__Tickets__Attendance object for the specified post ID. * * @param int $post_id * * @return Tribe__Tickets__Attendance */ public static function instance( $post_id ) { if ( ! isset( self::$instances[ $post_id ] ) ) { self::$instances[ $post_id ] = new self( $post_id ); } return self::$instances[ $post_id ]; } protected function __construct( $post_id ) { $this->post_id = $post_id; } /** * Increments the count of deleted attendees for an event/post * (defaults to 1 unit). * * @param int $units */ public function increment_deleted_attendees_count( $units = 1 ) { $deleted = absint( get_post_meta( $this->post_id, self::DELETED_ATTENDEES_COUNT, true ) ); update_post_meta( $this->post_id, self::DELETED_ATTENDEES_COUNT, absint( $deleted + $units ) ); } /** * Returns the count of deleted attendees. * * Note that this was not tracked prior to 4.1.4 release, so inaccuracies may * result where attendees were deleted before then. * * @return int */ public function get_deleted_attendees_count() { return absint( get_post_meta( $this->post_id, self::DELETED_ATTENDEES_COUNT, true ) ); } /** * Deletes the attendees caches for a post. * * @param int $post_id The post `ID` field. */ public static function delete_attendees_caches( $post_id ) { $post_transient = Tribe__Post_Transient::instance(); $post_transient->delete( $post_id, Tribe__Tickets__Tickets::ATTENDEES_CACHE ); } }