File "ical-link.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/the-events-calendar/src/views/v2/components/ical-link.php
File size: 1.61 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Component: iCal Link
*
* Override this template in your own theme by creating a file at:
* [your-theme]/tribe/events/v2/components/ical-link.php
*
* See more documentation about our views templating system.
*
* @link http://evnt.is/1aiy
*
* @version 5.3.0
* @since 5.12.0 Alter template to handle multiple links.
*
* @var array $subscribe_links List of links to display with associated data.
*
* Legacy data:
* @var object $ical Object containing iCal data
*/
use Tribe\Events\Views\V2\iCalendar\iCalendar_Handler;
use Tribe\Events\Views\V2\iCalendar\Links\Link_Abstract;
/* @var Tribe\Events\Views\V2\iCalendar\iCalendar_Handler $handler */
$handler = tribe( iCalendar_Handler::class );
if ( $handler->use_subscribe_links() && empty( $subscribe_links ) ) {
return;
}
if ( ! $handler->use_subscribe_links() && empty( $ical->display_link ) ) {
return;
}
// Users can turn off the link list via a filter, handle that.
if ( ! $handler->use_subscribe_links() ) {
$this->template( 'components/subscribe-links/legacy', [ 'ical' => $ical ] );
return;
}
$view = $this->get_view();
$count = array_filter(
$subscribe_links,
static function( Link_Abstract $link_obj ) use ( $view ) {
return $link_obj->is_visible( $view );
}
);
if ( 1 === count( $count ) ) {
// If we only have one link in the list, show a "button".
$key = array_keys( $count )[0];
$this->template( 'components/subscribe-links/single', [ 'item' => $subscribe_links[ $key ] ] );
} else {
// If we have multiple links in the list, show a "dropdown".
$this->template( 'components/subscribe-links/list', [ 'items' => $subscribe_links ] );
}