Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 18.191.67.90
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/misswavenigeria.com/wp-content/plugins/event-tickets/src/Tribe/Global_Stock.php
<?php
/**
 * Management for Global Stock on events and tickets
 *
 * @since  4.1
 */
class Tribe__Tickets__Global_Stock {
	/**
	 * Post meta key used to store the global stock flag on events.
	 *
	 * @since 4.1
	 *
	 * @var   string
	 */
	const GLOBAL_STOCK_ENABLED = '_tribe_ticket_use_global_stock';

	/**
	 * Post meta key used to store the actual global stock level on events.
	 *
	 * @since 4.1
	 *
	 * @var   string
	 */
	const GLOBAL_STOCK_LEVEL = '_tribe_ticket_global_stock_level';

	/**
	 * Flag used to indicate that a ticket will use the global stock.
	 *
	 * @since 4.1
	 *
	 * @var   string
	 */
	const GLOBAL_STOCK_MODE = 'global';

	/**
	 * Flag used to indicate that a ticket will use the global stock,
	 * but that a cap has been placed on the total number of sales for
	 * this ticket type.
	 *
	 * @since 4.1
	 *
	 * @var   string
	 */
	const CAPPED_STOCK_MODE = 'capped';

	/**
	 * Flag used to indicate that, if global stock is in effect for
	 * an event, the specific ticket this flag is applied to will
	 * maintain it's own inventory rather than draw from the global
	 * pool.
	 *
	 * @since 4.1
	 *
	 * @var   string
	 */
	const OWN_STOCK_MODE = 'own';

	/**
	 * Flag used to indicate that a ticket will use the global stock,
	 * but that the stock is unlimited.
	 *
	 * @since 5.8.0
	 *
	 * @var string
	 */
	const UNLIMITED_STOCK_MODE = 'unlimited';

	/**
	 * Post meta key used to store the ticket global stock mode.
	 *
	 * @since 4.6
	 *
	 * @var   string
	 */
	const TICKET_STOCK_MODE = '_global_stock_mode';

	/**
	 * Post meta key used to store the ticket global stock cap.
	 *
	 * @since 4.6
	 *
	 * @var   string
	 */
	const TICKET_STOCK_CAP = '_global_stock_cap';

	/**
	 * Which post we are dealing with for this instance of stock
	 *
	 * @since 4.6
	 *
	 * @var   int $post_id
	 */
	public $post_id;

	/**
	 * Creates an instance for a given Event
	 *
	 * @since  4.1
	 *
	 * @param int $post_id
	 */
	public function __construct( $post_id ) {
		$this->post_id = absint( $post_id );
	}

	/**
	 * Enables global stock control for the current post.
	 *
	 * As a convenience, false can be passed to this method to disable rather
	 * than enable global stock.
	 *
	 * @since  4.1
	 * @since  4.6 Added a return so we can check if it was enabled correctly
	 *
	 * @param  bool $yes
	 *
	 * @return bool|int
	 */
	public function enable( $yes = true ) {
		return update_post_meta( $this->post_id, self::GLOBAL_STOCK_ENABLED, tribe_is_truthy( $yes ) );
	}

	/**
	 * Disables global stock control for the current post.
	 *
	 * As a convenience, false can be passed to this method to enable rather
	 * than disable global stock.
	 *
	 * @since  4.1
	 * @since  4.6 Added a return so we can check if it was enabled correctly
	 *
	 * @param  bool $yes
	 *
	 * @return bool|int
	 */
	public function disable( $yes = true ) {
		return update_post_meta( $this->post_id, self::GLOBAL_STOCK_ENABLED, ! tribe_is_truthy( $yes ) );
	}

	/**
	 * Indicates if global stock is enabled for this post.
	 *
	 * @since  4.1
	 *
	 * @return bool
	 */
	public function is_enabled() {
		return tribe_is_truthy( get_post_meta( $this->post_id, self::GLOBAL_STOCK_ENABLED, true ) );
	}

	/**
	 * Sets the global stock level for the current post.
	 *
	 * @since  4.1
	 * @since  4.6  Added a Return
	 * @since  4.11.4 Added new $force parameter.
	 *
	 * @param int     $quantity Quantity to set for stock.
	 * @param boolean $force    Whether to force setting stock, even if capacity is less.
	 *
	 * @return bool|int
	 */
	public function set_stock_level( $quantity, $force = false ) {
		$capacity = tribe_tickets_get_capacity( $this->post_id );
		$quantity = (int) $quantity;

		// When we are dealing with non-unlimited capacities verify before updating the Post.
		if (
			! $force
			&& ! is_null( $capacity ) // We need to verify null to prevent capacity check when it doesn't exist.
			&& 0 <= $capacity // Only non-unlimited capacities.
			&& $capacity < $quantity // Only if quantity is more than capacity allows.
		) {
			$quantity = $capacity;
		}

		$status = update_post_meta( $this->post_id, self::GLOBAL_STOCK_LEVEL, $quantity );

		/**
		 * Fires when the global stock level is set/changed.
		 *
		 * @since  4.1
		 * @since  4.6 Added $status param
		 *
		 * @param  int  $post_id
		 * @param  int  $quantity
		 * @param  bool $status
		 */
		do_action( 'tribe_tickets_global_stock_level_changed', $this->post_id, $quantity, $status );

		return $status;
	}

	/**
	 * Returns the post's global stock--the shared maximum available, not the remaining available.
	 *
	 * @since  4.1
	 *
	 * @return int
	 */
	public function get_stock_level() {
		return (int) get_post_meta( $this->post_id, self::GLOBAL_STOCK_LEVEL, true );
	}

	/**
	 * Returns a count of the number of global ticket sales for this event.
	 *
	 * @since  4.1
	 * @since  4.6  Introduced $pending Param
	 *
	 * @param  bool  $pending  Includes Pending Tickets on the Sales total
	 *
	 * @return int
	 */
	public function tickets_sold( $pending = false ) {
		$sales = 0;

		/** @var Tribe__Tickets__Tickets_Handler $tickets_handler */
		$tickets_handler = tribe( 'tickets.handler' );
		$tickets = $tickets_handler->get_event_shared_tickets( $this->post_id );

		/** @var Tribe__Tickets__Ticket_Object $ticket */
		foreach ( $tickets as $ticket ) {
			$sales += (int) $ticket->qty_sold();

			// Allow for fetching the pending with the Sold ones
			if ( true === (bool) $pending ) {
				$sales += (int) $ticket->qty_pending();
			}
		}

		return $sales;
	}

	/**
	 * When moving attendees between tickets or tickets between events and the
	 * source is not managing its own stock, we need to update the global stock.
	 *
	 * We also update the target's capacity if it is not already set.
	 *
	 * @see Tribe__Tickets__Admin__Move_Tickets::move_tickets()
	 * @see Tribe__Tickets__Admin__Move_Ticket_Types::move_ticket_type()
	 *
	 * @since  5.16.0
	 *
	 * @param int $source_id The ID of the source event/post.
	 * @param int $target_id The ID of the destination event/post.
	 *
	 * @return void
	 */
	public function update_stock_level_on_move( $source_id, $target_id ) {
		$src_mode = get_post_meta( $this->post_id, self::TICKET_STOCK_MODE, true );

		// When the Mode is not `own` we have to check and modify some stuff.
		if ( self::OWN_STOCK_MODE !== $src_mode ) {

			/** @var Tribe__Tickets__Tickets_Handler $tickets_handler */
			$tickets_handler = tribe( 'tickets.handler' );

			$tgt_event_cap = new Tribe__Tickets__Global_Stock( $target_id );

			// If we have Source cap and not on Target, we set it up.
			if ( ! $tgt_event_cap->is_enabled() ) {
				$src_event_capacity = tribe_tickets_get_capacity( $source_id );

				// Activate Shared Capacity on the Ticket.
				$tgt_event_cap->enable();

				// Setup the Stock level to match Source capacity.
				$tgt_event_cap->set_stock_level( $src_event_capacity );

				// Update the Target event with the Capacity from the Source.
				update_post_meta( $target_id, $tickets_handler->key_capacity, $src_event_capacity );
			} elseif ( self::CAPPED_STOCK_MODE === $src_mode || self::GLOBAL_STOCK_MODE === $src_mode ) {
				// Check if we have capped to avoid ticket cap over event cap.
				$src_ticket_capacity = tribe_tickets_get_capacity( $this->post_id );
				$tgt_event_capacity  = tribe_tickets_get_capacity( $target_id );

				// Don't allow ticket capacity to be bigger than Target Event Cap.
				if ( $src_ticket_capacity > $tgt_event_capacity ) {
					update_post_meta( $this->post_id, $tickets_handler->key_capacity, $tgt_event_capacity );
				}
			}
		}
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit