| Current File : /home/digitaw/www/wp-content/plugins/event-tickets/src/Tickets/Commerce/Compatibility/Events.php |
<?php
/**
* Handles Tickets Commerce compatibility with The Events Calendar.
*
* @since 5.2.0
*
* @package TEC\Tickets\Commerce\Compatibility
*/
namespace TEC\Tickets\Commerce\Compatibility;
use TEC\Tickets\Commerce\Checkout;
/**
* Class Events.
*
* @since 5.2.0
*
* @package TEC\Tickets\Commerce\Compatibility
*/
class Events {
/**
* In cases where Event Tickets is running alongside The Events Calendar and the home page is set to be the Events page, this
* redirect will trigger a hook in The Events Calendar that was designed to prevent funky page loads out of context.
* We don't need those checks to run when redirecting to the Cart page in Tickets Commerce so we
* short-circuit the context.
*
* @since 5.2.0
*
* @param string $location the URL we're redirecting to.
* @param int $status The redirect status code.
*
* @return string
*/
public function prevent_filter_redirect_canonical( $location, $status ) {
if ( 302 !== $status || false === strpos( $location, 'tec-tc-cookie=' ) ) {
return $location;
}
// The complete checkout url must be the first thing in the $location string
if ( 0 !== strpos( $location, tribe( Checkout::class )->get_url() ) ) {
return $location;
}
add_filter( 'tribe_context_view_request', '__return_false' );
return $location;
}
}