Version Description
- Fixed bug with queries that included more than one post type. This should resolve issues with "Link to Existing Content" in the WordPress editor, attaching media to posts from the Media Library, and relationship fields in the Advanced Custom Fields plugin (thanks to users KARKS88 and ANDYWILMOT for catching this!)
- Fixed 404 in page title on month view when no events are in the month, and other 404-related tweaks (thanks to CYNTHIA, JOHN and ELLAEARTH for catching these)
- CSS files in the tribe-events directory of your theme are now loaded in addition to TEC css files, instead of replacing them
- Removed Select2 dependency in the Tribe Bar
- Fixed various issues with the Events List widget (thanks to DUVALDEMOCRATS and ZAVASTORONTO for the heads up)
- Tag permalinks are no longer malformed in tag cloud widget and single event pages (thanks to MARC for catching this)
- Addressed some previously non-translatable strings in the Tribe Bar
- Long event costs no longer overflow the designed box in list view
- Various minor bug fixes
Download this release
Release Info
Developer | jazbek |
Plugin | The Events Calendar |
Version | 3.0.2 |
Comparing to | |
See all releases |
Code changes from version 3.0.1 to 3.0.2
- admin-views/tickets/attendees.php +5 -5
- lib/template-classes/month.php +26 -0
- lib/the-events-calendar.class.php +15 -6
- lib/tickets/tribe-tickets.php +2 -2
- lib/tribe-event-query.class.php +17 -1
- lib/tribe-template-factory.class.php +6 -2
- lib/tribe-templates.class.php +10 -0
- lib/tribe-templates.class.php.orig +682 -0
- lib/widget-list.class.php +20 -2
- public/template-tags/general.php +16 -14
- public/template-tags/general.php.orig +1036 -0
- readme.txt +13 -1
- resources/events-admin.min.js +2 -2
- resources/tickets.min.js +9 -9
- resources/tribe-events-bar.js +59 -16
- resources/tribe-events-bar.min.js +11 -10
- resources/tribe-events-full.css +97 -110
- resources/tribe-events-full.min.css +1 -1
- resources/tribe-events-skeleton.css +4 -1
- resources/tribe-events-theme.css +4 -1
- resources/tribe-events.min.js +15 -12
- the-events-calendar.php +1 -1
- views/modules/bar.php +2 -1
- views/widgets/list-widget.php +1 -1
admin-views/tickets/attendees.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
$event_id = isset( $_GET["event_id"] ) ? $_GET["event_id"] : 0;
|
3 |
$event = get_post( $event_id );
|
4 |
$tickets = TribeEventsTickets::get_event_tickets( $event_id );
|
5 |
?>
|
@@ -61,9 +61,9 @@ $tickets = TribeEventsTickets::get_event_tickets( $event_id );
|
|
61 |
$sold = ! empty ( $ticket->qty_sold ) ? $ticket->qty_sold : 0;
|
62 |
|
63 |
if ( empty( $stock ) && $stock !== 0 ) {
|
64 |
-
echo sprintf( __( "Sold %d", 'tribe-events-calendar' ), $sold );
|
65 |
} else {
|
66 |
-
echo sprintf( __( "Sold %d of %d", 'tribe-events-calendar' ), $sold, $sold + $stock );
|
67 |
}
|
68 |
|
69 |
$total_sold += $sold;
|
@@ -93,8 +93,8 @@ $tickets = TribeEventsTickets::get_event_tickets( $event_id );
|
|
93 |
</div>
|
94 |
|
95 |
<form id="topics-filter" method="get">
|
96 |
-
<input type="hidden" name="page" value="<?php echo $_GET['page'] ?>" />
|
97 |
-
<input type="hidden" name="event_id" id="event_id" value="<?php echo $
|
98 |
<input type="hidden" name="post_type" value="<?php echo TribeEvents::POSTTYPE; ?>" />
|
99 |
<?php
|
100 |
$this->attendees_table->prepare_items();
|
1 |
<?php
|
2 |
+
$event_id = isset( $_GET["event_id"] ) ? intval( $_GET["event_id"] ) : 0;
|
3 |
$event = get_post( $event_id );
|
4 |
$tickets = TribeEventsTickets::get_event_tickets( $event_id );
|
5 |
?>
|
61 |
$sold = ! empty ( $ticket->qty_sold ) ? $ticket->qty_sold : 0;
|
62 |
|
63 |
if ( empty( $stock ) && $stock !== 0 ) {
|
64 |
+
echo sprintf( __( "Sold %d", 'tribe-events-calendar' ), esc_html( $sold ) );
|
65 |
} else {
|
66 |
+
echo sprintf( __( "Sold %d of %d", 'tribe-events-calendar' ), esc_html( $sold ), esc_html( $sold + $stock ) );
|
67 |
}
|
68 |
|
69 |
$total_sold += $sold;
|
93 |
</div>
|
94 |
|
95 |
<form id="topics-filter" method="get">
|
96 |
+
<input type="hidden" name="page" value="<?php echo esc_attr( $_GET['page'] ); ?>" />
|
97 |
+
<input type="hidden" name="event_id" id="event_id" value="<?php echo $event_id; ?>" />
|
98 |
<input type="hidden" name="post_type" value="<?php echo TribeEvents::POSTTYPE; ?>" />
|
99 |
<?php
|
100 |
$this->attendees_table->prepare_items();
|
lib/template-classes/month.php
CHANGED
@@ -55,6 +55,32 @@ if( !class_exists('Tribe_Events_Month_Template')){
|
|
55 |
parent::__construct();
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
/**
|
59 |
* Set the notices used on month view
|
60 |
*
|
55 |
parent::__construct();
|
56 |
}
|
57 |
|
58 |
+
/**
|
59 |
+
* Add any special hooks for this view
|
60 |
+
*
|
61 |
+
* @return void
|
62 |
+
* @author Jessica Yazbek
|
63 |
+
* @since 3.0.2
|
64 |
+
**/
|
65 |
+
protected function hooks() {
|
66 |
+
parent::hooks();
|
67 |
+
|
68 |
+
// Since we set is_post_type_archive to true on month view, this prevents 'Events' from being added to the page title
|
69 |
+
add_filter('post_type_archive_title', '__return_false', 10);
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Unhook all the hooks set up on this view
|
74 |
+
*
|
75 |
+
* @return void
|
76 |
+
* @author
|
77 |
+
**/
|
78 |
+
protected function unhook() {
|
79 |
+
parent::unhook();
|
80 |
+
remove_filter('post_type_archive_title', '__return_false', 10);
|
81 |
+
}
|
82 |
+
|
83 |
+
|
84 |
/**
|
85 |
* Set the notices used on month view
|
86 |
*
|
lib/the-events-calendar.class.php
CHANGED
@@ -22,7 +22,7 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
22 |
const VENUE_POST_TYPE = 'tribe_venue';
|
23 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
24 |
const PLUGIN_DOMAIN = 'tribe-events-calendar';
|
25 |
-
const VERSION = '3.0.
|
26 |
const FEED_URL = 'http://tri.be/category/products/feed/';
|
27 |
const INFO_API_URL = 'http://wpapi.org/api/plugin/the-events-calendar.php';
|
28 |
const WP_PLUGIN_URL = 'http://wordpress.org/extend/plugins/the-events-calendar/';
|
@@ -2536,11 +2536,19 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
2536 |
* Returns the full address of an event along with HTML markup. It
|
2537 |
* loads the full-address template to generate the HTML
|
2538 |
*/
|
2539 |
-
public function fullAddress( $
|
|
|
|
|
|
|
|
|
|
|
2540 |
ob_start();
|
2541 |
tribe_get_template_part( 'modules/address' );
|
2542 |
$address = ob_get_contents();
|
2543 |
ob_end_clean();
|
|
|
|
|
|
|
2544 |
return $address;
|
2545 |
}
|
2546 |
|
@@ -4036,7 +4044,7 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
4036 |
public function tag_link($termlink, $term, $taxonomy) {
|
4037 |
global $post;
|
4038 |
if (is_object($post) && $post->post_type == self::POSTTYPE && $taxonomy == 'post_tag') {
|
4039 |
-
$termlink = esc_url(trailingslashit(tribe_get_events_link().'tag/'.$term->
|
4040 |
}
|
4041 |
return $termlink;
|
4042 |
}
|
@@ -4078,8 +4086,9 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
4078 |
|
4079 |
if ( tribe_get_option( 'tribeDisableTribeBar', false ) == false ) {
|
4080 |
$filters['tribe-bar-search'] = array( 'name' => 'tribe-bar-search',
|
4081 |
-
'caption' => 'Search',
|
4082 |
-
|
|
|
4083 |
|
4084 |
}
|
4085 |
return $filters;
|
@@ -4111,7 +4120,7 @@ if ( !class_exists( 'TribeEvents' ) ) {
|
|
4111 |
|
4112 |
$filters['tribe-bar-date'] = array( 'name' => 'tribe-bar-date',
|
4113 |
'caption' => $caption,
|
4114 |
-
'html' => '<input type="text" name="tribe-bar-date" style="position: relative; z-index:10000" id="tribe-bar-date" value="' . esc_attr( $value ) . '" placeholder="Date">
|
4115 |
<input type="hidden" name="tribe-bar-date-day" id="tribe-bar-date-day" class="tribe-no-param" value="">' );
|
4116 |
|
4117 |
return $filters;
|
22 |
const VENUE_POST_TYPE = 'tribe_venue';
|
23 |
const ORGANIZER_POST_TYPE = 'tribe_organizer';
|
24 |
const PLUGIN_DOMAIN = 'tribe-events-calendar';
|
25 |
+
const VERSION = '3.0.2';
|
26 |
const FEED_URL = 'http://tri.be/category/products/feed/';
|
27 |
const INFO_API_URL = 'http://wpapi.org/api/plugin/the-events-calendar.php';
|
28 |
const WP_PLUGIN_URL = 'http://wordpress.org/extend/plugins/the-events-calendar/';
|
2536 |
* Returns the full address of an event along with HTML markup. It
|
2537 |
* loads the full-address template to generate the HTML
|
2538 |
*/
|
2539 |
+
public function fullAddress( $post_id=null, $includeVenueName=false ) {
|
2540 |
+
global $post;
|
2541 |
+
if( !is_null( $post_id ) ){
|
2542 |
+
$tmp_post = $post;
|
2543 |
+
$post = get_post( $post_id );
|
2544 |
+
}
|
2545 |
ob_start();
|
2546 |
tribe_get_template_part( 'modules/address' );
|
2547 |
$address = ob_get_contents();
|
2548 |
ob_end_clean();
|
2549 |
+
if( !empty( $tmp_post ) ){
|
2550 |
+
$post = $tmp_post;
|
2551 |
+
}
|
2552 |
return $address;
|
2553 |
}
|
2554 |
|
4044 |
public function tag_link($termlink, $term, $taxonomy) {
|
4045 |
global $post;
|
4046 |
if (is_object($post) && $post->post_type == self::POSTTYPE && $taxonomy == 'post_tag') {
|
4047 |
+
$termlink = esc_url(trailingslashit(tribe_get_events_link().'tag/'.$term->slug));
|
4048 |
}
|
4049 |
return $termlink;
|
4050 |
}
|
4086 |
|
4087 |
if ( tribe_get_option( 'tribeDisableTribeBar', false ) == false ) {
|
4088 |
$filters['tribe-bar-search'] = array( 'name' => 'tribe-bar-search',
|
4089 |
+
'caption' => __('Search', 'tribe-events-calendar'),
|
4090 |
+
|
4091 |
+
'html' => '<input type="text" name="tribe-bar-search" id="tribe-bar-search" value="' . $value . '" placeholder="'. __('Search', 'tribe-events-calendar') .'">' );
|
4092 |
|
4093 |
}
|
4094 |
return $filters;
|
4120 |
|
4121 |
$filters['tribe-bar-date'] = array( 'name' => 'tribe-bar-date',
|
4122 |
'caption' => $caption,
|
4123 |
+
'html' => '<input type="text" name="tribe-bar-date" style="position: relative; z-index:10000" id="tribe-bar-date" value="' . esc_attr( $value ) . '" placeholder="'. __('Date', 'tribe-events-calendar') .'">
|
4124 |
<input type="hidden" name="tribe-bar-date-day" id="tribe-bar-date-day" class="tribe-no-param" value="">' );
|
4125 |
|
4126 |
return $filters;
|
lib/tickets/tribe-tickets.php
CHANGED
@@ -586,14 +586,14 @@ if ( ! class_exists( 'TribeEventsTickets' ) ) {
|
|
586 |
$template .= '.php';
|
587 |
}
|
588 |
|
589 |
-
if ( $theme_file = locate_template( array( 'events/' . $template ) ) ) {
|
590 |
$file = $theme_file;
|
591 |
} else {
|
592 |
$file = $this->pluginPath . 'views/' . $template;
|
593 |
}
|
|
|
594 |
return apply_filters( 'tribe_events_tickets_template_' . $template, $file );
|
595 |
}
|
596 |
-
|
597 |
// end Helpers
|
598 |
}
|
599 |
}
|
586 |
$template .= '.php';
|
587 |
}
|
588 |
|
589 |
+
if ( $theme_file = locate_template( array( 'tribe-events/' . $template ) ) ) {
|
590 |
$file = $theme_file;
|
591 |
} else {
|
592 |
$file = $this->pluginPath . 'views/' . $template;
|
593 |
}
|
594 |
+
|
595 |
return apply_filters( 'tribe_events_tickets_template_' . $template, $file );
|
596 |
}
|
|
|
597 |
// end Helpers
|
598 |
}
|
599 |
}
|
lib/tribe-event-query.class.php
CHANGED
@@ -35,6 +35,7 @@ if ( !class_exists( 'TribeEventsQuery' ) ) {
|
|
35 |
|
36 |
// if tribe event query add filters
|
37 |
add_filter( 'pre_get_posts', array( __CLASS__, 'pre_get_posts' ), 0 );
|
|
|
38 |
|
39 |
if ( is_admin() ) {
|
40 |
require_once 'tribe-recurring-event-cleanup.php';
|
@@ -44,6 +45,21 @@ if ( !class_exists( 'TribeEventsQuery' ) ) {
|
|
44 |
}
|
45 |
}
|
46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
/**
|
48 |
* Is hooked by init() filter to parse the WP_Query arguments for main and alt queries.
|
49 |
*
|
@@ -60,7 +76,7 @@ if ( !class_exists( 'TribeEventsQuery' ) ) {
|
|
60 |
$query->tribe_is_past = !empty( $query->query_vars['tribe_is_past'] ) ? $query->query_vars['tribe_is_past'] : false ;
|
61 |
|
62 |
// check if any possiblity of this being an event query
|
63 |
-
$query->tribe_is_event = ( in_array( TribeEvents::POSTTYPE, $types ) )
|
64 |
? true // it was an event query
|
65 |
: false;
|
66 |
|
35 |
|
36 |
// if tribe event query add filters
|
37 |
add_filter( 'pre_get_posts', array( __CLASS__, 'pre_get_posts' ), 0 );
|
38 |
+
add_filter( 'parse_query', array( __CLASS__, 'parse_query') );
|
39 |
|
40 |
if ( is_admin() ) {
|
41 |
require_once 'tribe-recurring-event-cleanup.php';
|
45 |
}
|
46 |
}
|
47 |
|
48 |
+
/**
|
49 |
+
* Set any query flags
|
50 |
+
*
|
51 |
+
* @return $query WP_Query
|
52 |
+
* @author Jessica Yazbek
|
53 |
+
* @since 3.0.3
|
54 |
+
**/
|
55 |
+
public function parse_query( $query ) {
|
56 |
+
if ($query->get('eventDisplay') == 'month') {
|
57 |
+
// never allow 404 on month view
|
58 |
+
$query->is_post_type_archive = true;
|
59 |
+
}
|
60 |
+
return $query;
|
61 |
+
}
|
62 |
+
|
63 |
/**
|
64 |
* Is hooked by init() filter to parse the WP_Query arguments for main and alt queries.
|
65 |
*
|
76 |
$query->tribe_is_past = !empty( $query->query_vars['tribe_is_past'] ) ? $query->query_vars['tribe_is_past'] : false ;
|
77 |
|
78 |
// check if any possiblity of this being an event query
|
79 |
+
$query->tribe_is_event = ( in_array( TribeEvents::POSTTYPE, $types ) && count( $types ) < 2 )
|
80 |
? true // it was an event query
|
81 |
: false;
|
82 |
|
lib/tribe-template-factory.class.php
CHANGED
@@ -550,12 +550,13 @@ if( !class_exists('Tribe_Template_Factory') ) {
|
|
550 |
break;
|
551 |
}
|
552 |
|
553 |
-
// Is there a core override file in the theme?
|
554 |
$styleUrl = trailingslashit( $tec->pluginUrl ) . 'resources/' . $event_file_option;
|
555 |
-
$styleUrl = TribeEventsTemplates::locate_stylesheet('tribe-events/'.$event_file, $styleUrl);
|
556 |
$styleUrl = self::getMinFile( $styleUrl, true );
|
557 |
$styleUrl = apply_filters( 'tribe_events_stylesheet_url', $styleUrl );
|
558 |
|
|
|
|
|
|
|
559 |
// Load up stylesheet from theme or plugin
|
560 |
if( $styleUrl && $stylesheet_option == 'tribe' ) {
|
561 |
$full_path = self::getMinFile( trailingslashit( $tec->pluginUrl ) . 'resources/tribe-events-full.css', true );
|
@@ -564,6 +565,9 @@ if( !class_exists('Tribe_Template_Factory') ) {
|
|
564 |
} else {
|
565 |
wp_enqueue_style( TribeEvents::POSTTYPE . '-calendar-style', $styleUrl );
|
566 |
}
|
|
|
|
|
|
|
567 |
break;
|
568 |
default :
|
569 |
do_action($prefix . '-' . $name);
|
550 |
break;
|
551 |
}
|
552 |
|
|
|
553 |
$styleUrl = trailingslashit( $tec->pluginUrl ) . 'resources/' . $event_file_option;
|
|
|
554 |
$styleUrl = self::getMinFile( $styleUrl, true );
|
555 |
$styleUrl = apply_filters( 'tribe_events_stylesheet_url', $styleUrl );
|
556 |
|
557 |
+
// Is there a core override file in the theme?
|
558 |
+
$styleOverrideUrl = TribeEventsTemplates::locate_stylesheet('tribe-events/'.$event_file, $styleUrl);
|
559 |
+
|
560 |
// Load up stylesheet from theme or plugin
|
561 |
if( $styleUrl && $stylesheet_option == 'tribe' ) {
|
562 |
$full_path = self::getMinFile( trailingslashit( $tec->pluginUrl ) . 'resources/tribe-events-full.css', true );
|
565 |
} else {
|
566 |
wp_enqueue_style( TribeEvents::POSTTYPE . '-calendar-style', $styleUrl );
|
567 |
}
|
568 |
+
if( $styleOverrideUrl ) {
|
569 |
+
wp_enqueue_style( TribeEvents::POSTTYPE . '-calendar-override-style', $styleOverrideUrl );
|
570 |
+
}
|
571 |
break;
|
572 |
default :
|
573 |
do_action($prefix . '-' . $name);
|
lib/tribe-templates.class.php
CHANGED
@@ -161,6 +161,16 @@ if (!class_exists('TribeEventsTemplates')) {
|
|
161 |
return $title;
|
162 |
}
|
163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
/**
|
165 |
* This is where the magic happens where we run some ninja code that hooks the query to resolve to an events template.
|
166 |
*
|
161 |
return $title;
|
162 |
}
|
163 |
|
164 |
+
/**
|
165 |
+
* Filter to get rid of the default page title
|
166 |
+
*
|
167 |
+
* @param string $title Title
|
168 |
+
* @return string Title
|
169 |
+
*/
|
170 |
+
public function remove_default_title( $title ) {
|
171 |
+
return '';
|
172 |
+
}
|
173 |
+
|
174 |
/**
|
175 |
* This is where the magic happens where we run some ninja code that hooks the query to resolve to an events template.
|
176 |
*
|
lib/tribe-templates.class.php.orig
ADDED
@@ -0,0 +1,682 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Templating functionality for Tribe Events Calendar
|
4 |
+
*/
|
5 |
+
|
6 |
+
// don't load directly
|
7 |
+
if ( !defined('ABSPATH') )
|
8 |
+
die('-1');
|
9 |
+
|
10 |
+
if (!class_exists('TribeEventsTemplates')) {
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Handle views and template files.
|
14 |
+
*/
|
15 |
+
class TribeEventsTemplates {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @var bool Is wp_head complete?
|
19 |
+
*/
|
20 |
+
public static $wpHeadComplete = false;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* @var bool Is this the main loop?
|
24 |
+
*/
|
25 |
+
public static $isMainLoop = false;
|
26 |
+
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Initialize the Template Yumminess!
|
30 |
+
*/
|
31 |
+
public static function init() {
|
32 |
+
|
33 |
+
// choose the wordpress theme template to use
|
34 |
+
add_filter( 'template_include', array( __CLASS__, 'templateChooser') );
|
35 |
+
|
36 |
+
// include our view class
|
37 |
+
add_action( 'template_redirect', 'tribe_initialize_view' );
|
38 |
+
|
39 |
+
// make sure we enter the loop by always having some posts in $wp_query
|
40 |
+
add_action( 'template_redirect', array( __CLASS__, 'maybeSpoofQuery' ) );
|
41 |
+
|
42 |
+
// there's no template redirect on ajax, so we include the template class right before the view is included
|
43 |
+
if (defined('DOING_AJAX') && DOING_AJAX) {
|
44 |
+
add_action( 'tribe_pre_get_view', 'tribe_initialize_view' );
|
45 |
+
}
|
46 |
+
|
47 |
+
add_action( 'wp_head', array( __CLASS__, 'wpHeadFinished'), 999 );
|
48 |
+
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Pick the correct template to include
|
53 |
+
* @param string $template Path to template
|
54 |
+
*
|
55 |
+
* @return string Path to template
|
56 |
+
*/
|
57 |
+
public static function templateChooser($template) {
|
58 |
+
$events = TribeEvents::instance();
|
59 |
+
do_action('tribe_tec_template_chooser', $template);
|
60 |
+
|
61 |
+
// hijack this method right up front if it's a 404
|
62 |
+
if ( is_404() && $events->displaying == 'single-event' && apply_filters( 'tribe_events_templates_is_404', '__return_true' ) )
|
63 |
+
return get_404_template();
|
64 |
+
|
65 |
+
// no non-events need apply
|
66 |
+
if ( ! in_array( get_query_var( 'post_type' ), array( TribeEvents::POSTTYPE, TribeEvents::VENUE_POST_TYPE, TribeEvents::ORGANIZER_POST_TYPE ) ) && ! is_tax( TribeEvents::TAXONOMY ) ) {
|
67 |
+
return $template;
|
68 |
+
}
|
69 |
+
|
70 |
+
if( tribe_get_option('tribeEventsTemplate', 'default') == '' ) {
|
71 |
+
return self::getTemplateHierarchy('default-template');
|
72 |
+
} else {
|
73 |
+
|
74 |
+
// add_filter( 'wp_title', array(__CLASS__, 'remove_default_title'), 1);
|
75 |
+
|
76 |
+
if ( ! is_single() || ! post_password_required()) {
|
77 |
+
add_action( 'loop_start', array(__CLASS__, 'setup_ecp_template' ) );
|
78 |
+
}
|
79 |
+
|
80 |
+
$template = locate_template( tribe_get_option('tribeEventsTemplate', 'default') == 'default' ? 'page.php' : tribe_get_option('tribeEventsTemplate', 'default') );
|
81 |
+
if ($template == '') $template = get_index_template();
|
82 |
+
|
83 |
+
// remove singular body class if sidebar-page.php
|
84 |
+
if( $template == get_stylesheet_directory() . '/sidebar-page.php' ) {
|
85 |
+
add_filter( 'body_class', array( __CLASS__, 'remove_singular_body_class' ) );
|
86 |
+
} else {
|
87 |
+
add_filter( 'body_class', array( __CLASS__, 'add_singular_body_class' ) );
|
88 |
+
}
|
89 |
+
return $template;
|
90 |
+
}
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Include the class for the current view
|
95 |
+
*
|
96 |
+
* @param bool $class
|
97 |
+
* @return void
|
98 |
+
* @since 3.0
|
99 |
+
**/
|
100 |
+
public static function instantiate_template_class( $class = false ) {
|
101 |
+
|
102 |
+
if ( tribe_is_event_query() ) {
|
103 |
+
if ( ! $class ) {
|
104 |
+
$class = self::get_current_template_class();
|
105 |
+
}
|
106 |
+
if ( class_exists( $class ) ) {
|
107 |
+
new $class;
|
108 |
+
}
|
109 |
+
}
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Remove "singular" from available body class
|
114 |
+
* @param array $classes List of classes to filter
|
115 |
+
*
|
116 |
+
* @return mixed
|
117 |
+
*/
|
118 |
+
public function remove_singular_body_class( $classes ) {
|
119 |
+
$key = array_search('singular', $classes);
|
120 |
+
if( $key ) {
|
121 |
+
unset($classes[ $key ]);
|
122 |
+
}
|
123 |
+
return $classes;
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Add the "singular" body class
|
128 |
+
*
|
129 |
+
* @param array $classes List of classes to filter
|
130 |
+
* @return array
|
131 |
+
*/
|
132 |
+
public function add_singular_body_class( $classes ) {
|
133 |
+
$classes[] = 'singular';
|
134 |
+
return $classes;
|
135 |
+
}
|
136 |
+
|
137 |
+
|
138 |
+
/**
|
139 |
+
* Determine when wp_head has been triggered.
|
140 |
+
*/
|
141 |
+
public static function wpHeadFinished() {
|
142 |
+
self::$wpHeadComplete = true;
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
<<<<<<< HEAD
|
147 |
+
=======
|
148 |
+
* Add event title where appropriate
|
149 |
+
*
|
150 |
+
* @param string $title
|
151 |
+
* @param string|null $sep
|
152 |
+
* @return mixed|void
|
153 |
+
*/
|
154 |
+
public static function maybeAddEventTitle( $title, $sep = null, $sep_location = '' ){
|
155 |
+
$tribe_ecp = TribeEvents::instance();
|
156 |
+
|
157 |
+
$new_title = '';
|
158 |
+
switch( get_query_var('eventDisplay') ) {
|
159 |
+
case 'upcoming':
|
160 |
+
$new_title = apply_filters( 'tribe_upcoming_events_title', __("Upcoming Events", 'tribe-events-calendar') );
|
161 |
+
break;
|
162 |
+
case 'past':
|
163 |
+
$new_title = apply_filters( 'tribe_past_events_title', __("Past Events", 'tribe-events-calendar'));
|
164 |
+
break;
|
165 |
+
case 'month':
|
166 |
+
if(get_query_var('eventDate')){
|
167 |
+
$title_date = date_i18n("F Y",strtotime(get_query_var('eventDate')));
|
168 |
+
$new_title = apply_filters( 'tribe_month_grid_view_title', sprintf(__("Events for %s", 'tribe-events-calendar'), $title_date ) );
|
169 |
+
}else{
|
170 |
+
$new_title = apply_filters( 'tribe_events_this_month_title', __("Events this month", 'tribe-events-calendar') );
|
171 |
+
}
|
172 |
+
break;
|
173 |
+
case 'day':
|
174 |
+
$title_date = date_i18n("l, F jS Y",strtotime(get_query_var('eventDate')));
|
175 |
+
$new_title = apply_filters( 'tribe_events_day_view_title', sprintf(__("Events for %s", 'tribe-events-calendar'), $title_date) );
|
176 |
+
break;
|
177 |
+
default:
|
178 |
+
global $post;
|
179 |
+
if( get_query_var('post_type') == TribeEvents::POSTTYPE && is_single() && $tribe_ecp->getOption('tribeEventsTemplate') != '' ) {
|
180 |
+
$new_title = $post->post_title;
|
181 |
+
} elseif( get_query_var('post_type') == TribeEvents::VENUE_POST_TYPE && $tribe_ecp->getOption('tribeEventsTemplate') != '' ) {
|
182 |
+
$new_title = apply_filters( 'tribe_events_venue_view_title', sprintf(__("Events at %s", 'tribe-events-calendar'), $post->post_title) );
|
183 |
+
}
|
184 |
+
break;
|
185 |
+
}
|
186 |
+
|
187 |
+
// add the separator
|
188 |
+
if ($new_title != '') {
|
189 |
+
if ( 'right' == $sep_location ) {
|
190 |
+
$new_title = $new_title . " $sep ";
|
191 |
+
} else {
|
192 |
+
$new_title = " $sep " . $new_title;
|
193 |
+
}
|
194 |
+
} else {
|
195 |
+
$new_title = $title;
|
196 |
+
}
|
197 |
+
|
198 |
+
$new_title = apply_filters( 'tribe_events_add_title', $new_title, $title, $sep, $sep_location );
|
199 |
+
|
200 |
+
return $new_title;
|
201 |
+
|
202 |
+
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
>>>>>>> d2e51457cee98d37d1e0626e7fd494bdbbc5e614
|
206 |
+
* Set up filter to get rid of the repeating title if the page template is not the default events template.
|
207 |
+
*/
|
208 |
+
public function remove_title_from_page() {
|
209 |
+
add_filter( 'the_title', array( __CLASS__, 'remove_default_title' ), 1 );
|
210 |
+
}
|
211 |
+
|
212 |
+
|
213 |
+
/**
|
214 |
+
* Filter to get rid of the repeating title if the page template is not the default events template.
|
215 |
+
*
|
216 |
+
* @param string $title Title
|
217 |
+
* @return string Title
|
218 |
+
*/
|
219 |
+
public function remove_title_filter( $title ) {
|
220 |
+
remove_filter( 'the_title', array( __CLASS__, 'remove_default_title' ), 1 );
|
221 |
+
return $title;
|
222 |
+
}
|
223 |
+
|
224 |
+
/**
|
225 |
+
* This is where the magic happens where we run some ninja code that hooks the query to resolve to an events template.
|
226 |
+
*
|
227 |
+
* @param WP_Query $query
|
228 |
+
*/
|
229 |
+
public static function setup_ecp_template($query) {
|
230 |
+
|
231 |
+
do_action( 'tribe_events_filter_the_page_title' );
|
232 |
+
|
233 |
+
if( self::is_main_loop($query) && self::$wpHeadComplete) {
|
234 |
+
|
235 |
+
// on loop start, unset the global post so that template tags don't work before the_content()
|
236 |
+
add_action('the_post', array(__CLASS__, 'spoof_the_post'));
|
237 |
+
|
238 |
+
// on the_content, load our events template
|
239 |
+
add_filter('the_content', array(__CLASS__, 'load_ecp_into_page_template') );
|
240 |
+
|
241 |
+
// remove the comments template
|
242 |
+
add_filter('comments_template', array(__CLASS__, 'load_ecp_comments_page_template') );
|
243 |
+
|
244 |
+
// only do this once
|
245 |
+
remove_action( 'loop_start', array(__CLASS__, 'setup_ecp_template') );
|
246 |
+
}
|
247 |
+
}
|
248 |
+
|
249 |
+
/**
|
250 |
+
* Spoof the global post just once
|
251 |
+
*
|
252 |
+
* @return void
|
253 |
+
* @since 3.0
|
254 |
+
**/
|
255 |
+
public static function spoof_the_post() {
|
256 |
+
$GLOBALS['post'] = self::spoofed_post();
|
257 |
+
remove_action('the_post', array(__CLASS__, 'spoof_the_post'));
|
258 |
+
}
|
259 |
+
|
260 |
+
|
261 |
+
/**
|
262 |
+
* Check to see if this is operating in the main loop
|
263 |
+
*
|
264 |
+
* @param WP_Query $query
|
265 |
+
* @return bool
|
266 |
+
*/
|
267 |
+
private static function is_main_loop($query) {
|
268 |
+
if (method_exists($query, 'is_main_query')) // WP 3.3+
|
269 |
+
return $query->is_main_query();
|
270 |
+
|
271 |
+
global $wp_the_query;
|
272 |
+
return $query === $wp_the_query;
|
273 |
+
}
|
274 |
+
|
275 |
+
/**
|
276 |
+
* Get the correct internal page template
|
277 |
+
*
|
278 |
+
* @return string Template path
|
279 |
+
*/
|
280 |
+
public static function get_current_page_template() {
|
281 |
+
|
282 |
+
$template = '';
|
283 |
+
|
284 |
+
// list view
|
285 |
+
if ( tribe_is_list_view() ) {
|
286 |
+
$template = self::getTemplateHierarchy( 'list', array('disable_view_check' => true) );
|
287 |
+
}
|
288 |
+
|
289 |
+
// calendar view
|
290 |
+
if ( tribe_is_month() ) {
|
291 |
+
$template = self::getTemplateHierarchy( 'month', array('disable_view_check' => true) );
|
292 |
+
}
|
293 |
+
|
294 |
+
// single event view
|
295 |
+
if ( is_singular( TribeEvents::POSTTYPE ) && !tribe_is_showing_all() ) {
|
296 |
+
$template = self::getTemplateHierarchy( 'single-event', array('disable_view_check' => true) );
|
297 |
+
}
|
298 |
+
|
299 |
+
// apply filters
|
300 |
+
return apply_filters('tribe_current_events_page_template', $template);
|
301 |
+
|
302 |
+
}
|
303 |
+
|
304 |
+
|
305 |
+
/**
|
306 |
+
* Get the correct internal page template
|
307 |
+
*
|
308 |
+
* @return string Template class
|
309 |
+
*/
|
310 |
+
public static function get_current_template_class() {
|
311 |
+
|
312 |
+
$class = '';
|
313 |
+
|
314 |
+
// list view
|
315 |
+
if ( tribe_is_list_view() || tribe_is_showing_all() ) {
|
316 |
+
$class = 'Tribe_Events_List_Template';
|
317 |
+
}
|
318 |
+
|
319 |
+
// calendar view
|
320 |
+
else if ( tribe_is_month() ) {
|
321 |
+
$class = 'Tribe_Events_Month_Template';
|
322 |
+
}
|
323 |
+
|
324 |
+
// single event view
|
325 |
+
else if ( is_singular( TribeEvents::POSTTYPE ) ) {
|
326 |
+
$class = 'Tribe_Events_Single_Event_Template';
|
327 |
+
}
|
328 |
+
|
329 |
+
// apply filters
|
330 |
+
return apply_filters('tribe_current_events_template_class', $class);
|
331 |
+
|
332 |
+
}
|
333 |
+
|
334 |
+
|
335 |
+
/**
|
336 |
+
* Loads the contents into the page template
|
337 |
+
*
|
338 |
+
* @return string Page content
|
339 |
+
*/
|
340 |
+
public static function load_ecp_into_page_template() {
|
341 |
+
// only run once!!!
|
342 |
+
remove_filter('the_content', array(__CLASS__, 'load_ecp_into_page_template') );
|
343 |
+
|
344 |
+
self::restoreQuery();
|
345 |
+
|
346 |
+
ob_start();
|
347 |
+
|
348 |
+
echo tribe_events_before_html();
|
349 |
+
|
350 |
+
tribe_get_view();
|
351 |
+
|
352 |
+
echo tribe_events_after_html();
|
353 |
+
|
354 |
+
$contents = ob_get_contents();
|
355 |
+
|
356 |
+
ob_end_clean();
|
357 |
+
|
358 |
+
// make sure the loop ends after our template is included
|
359 |
+
if ( ! is_404() )
|
360 |
+
self::endQuery();
|
361 |
+
|
362 |
+
return $contents;
|
363 |
+
}
|
364 |
+
|
365 |
+
|
366 |
+
/**
|
367 |
+
* Loads the title into the page template
|
368 |
+
*
|
369 |
+
* @param string $title Title
|
370 |
+
* @param int $post_id Id of the post
|
371 |
+
*
|
372 |
+
* @return string
|
373 |
+
*/
|
374 |
+
public static function load_ecp_title_into_page_template($title, $post_id) {
|
375 |
+
global $post;
|
376 |
+
|
377 |
+
if ( !is_single() )
|
378 |
+
return tribe_get_events_title();
|
379 |
+
|
380 |
+
// if the helper class for single event template hasn't been loaded fix that
|
381 |
+
if( !class_exists('Tribe_Events_Single_Event_Template') )
|
382 |
+
self::getTemplateHierarchy('single-event');
|
383 |
+
|
384 |
+
// single event title
|
385 |
+
$before_title = apply_filters( 'tribe_events_single_event_before_the_title', '', $post_id );
|
386 |
+
$the_title = apply_filters( 'tribe_events_single_event_the_title', $title, $title, $post_id );
|
387 |
+
$after_title = apply_filters( 'tribe_events_single_event_after_the_title', '', $post_id );
|
388 |
+
return $before_title . $the_title . $after_title;
|
389 |
+
}
|
390 |
+
|
391 |
+
public static function load_ecp_comments_page_template($template) {
|
392 |
+
$tribe_ecp = TribeEvents::instance();
|
393 |
+
|
394 |
+
remove_filter('comments_template', array(__CLASS__, 'load_ecp_comments_page_template') );
|
395 |
+
if (!is_single() || tribe_is_showing_all() || (tribe_get_option('showComments',false) === false)) {
|
396 |
+
return $tribe_ecp->pluginPath . 'admin-views/no-comments.php';
|
397 |
+
}
|
398 |
+
return $template;
|
399 |
+
}
|
400 |
+
|
401 |
+
/**
|
402 |
+
* Checks where we are are and determines if we should show events in the main loop
|
403 |
+
*
|
404 |
+
* @param WP_Query $query
|
405 |
+
* @return WP_Query
|
406 |
+
* @since 2.1
|
407 |
+
*/
|
408 |
+
public static function showInLoops($query) {
|
409 |
+
|
410 |
+
if (!is_admin() && tribe_get_option('showInLoops') && ($query->is_home() || $query->is_tag) && empty($query->query_vars['post_type']) && false == $query->query_vars['suppress_filters']) {
|
411 |
+
|
412 |
+
// 3.3 know-how for main query check
|
413 |
+
// if (method_exists($query, 'is_main_query')) {
|
414 |
+
if (self::is_main_loop($query)) {
|
415 |
+
self::$isMainLoop = true;
|
416 |
+
$post_types = array('post', TribeEvents::POSTTYPE);
|
417 |
+
$query->set('post_type', $post_types);
|
418 |
+
}
|
419 |
+
|
420 |
+
}
|
421 |
+
|
422 |
+
return $query;
|
423 |
+
}
|
424 |
+
|
425 |
+
/**
|
426 |
+
* Filters the_content to show the event when we are in the main loop and showing events
|
427 |
+
*
|
428 |
+
* @param string $content
|
429 |
+
* @return string Filtered content
|
430 |
+
* @since 2.1
|
431 |
+
*/
|
432 |
+
public static function hijackContentInMainLoop($content) {
|
433 |
+
|
434 |
+
// only run once!!!
|
435 |
+
remove_filter('the_content', array(__CLASS__, 'hijackContentInMainLoop') );
|
436 |
+
|
437 |
+
global $post;
|
438 |
+
if (tribe_is_in_main_loop() && tribe_is_event($post->ID)) {
|
439 |
+
ob_start();
|
440 |
+
echo stripslashes(tribe_get_option('tribeEventsBeforeHTML'));
|
441 |
+
include_once(self::getTemplateHierarchy('in-loop'));
|
442 |
+
echo stripslashes(tribe_get_option('tribeEventsAfterHTML'));
|
443 |
+
$content = ob_get_contents();
|
444 |
+
ob_end_clean();
|
445 |
+
}
|
446 |
+
|
447 |
+
return $content;
|
448 |
+
}
|
449 |
+
|
450 |
+
/**
|
451 |
+
* Loads theme files in appropriate hierarchy: 1) child theme,
|
452 |
+
* 2) parent template, 3) plugin resources. will look in the events/
|
453 |
+
* directory in a theme and the views/ directory in the plugin
|
454 |
+
*
|
455 |
+
* @param string $template template file to search for
|
456 |
+
* @param array $args additional arguments to affect the template path
|
457 |
+
* - subfolder
|
458 |
+
* - namespace
|
459 |
+
* - plugin_path
|
460 |
+
* - disable_view_check - bypass the check to see if the view is enabled
|
461 |
+
* @return template path
|
462 |
+
* @author Matt Wiebe
|
463 |
+
**/
|
464 |
+
public static function getTemplateHierarchy( $template, $args = array() ) {
|
465 |
+
if ( !is_array( $args ) ) {
|
466 |
+
$args = array();
|
467 |
+
$passed = func_get_args();
|
468 |
+
$backwards_map = array( 'subfolder', 'namespace', 'plugin_path' );
|
469 |
+
if ( count( $passed > 1 ) ) {
|
470 |
+
for ( $i = 1 ; $i < count($passed) ; $i++ ) {
|
471 |
+
$args[$backwards_map[$i-1]] = $passed[$i];
|
472 |
+
}
|
473 |
+
}
|
474 |
+
}
|
475 |
+
|
476 |
+
$args = wp_parse_args( $args, array(
|
477 |
+
'subfolder' => '',
|
478 |
+
'namespace' => '/',
|
479 |
+
'plugin_path' => '',
|
480 |
+
'disable_view_check' => false,
|
481 |
+
));
|
482 |
+
/**
|
483 |
+
* @var string $subfolder
|
484 |
+
* @var string $namespace
|
485 |
+
* @var string $pluginpath
|
486 |
+
* @var bool $disable_view_check
|
487 |
+
*/
|
488 |
+
extract($args);
|
489 |
+
|
490 |
+
$tec = TribeEvents::instance();
|
491 |
+
|
492 |
+
if ( substr($template, -4) != '.php' ) {
|
493 |
+
$template .= '.php';
|
494 |
+
}
|
495 |
+
|
496 |
+
// setup the meta definitions
|
497 |
+
require_once( $tec->pluginPath . 'public/advanced-functions/meta.php' );
|
498 |
+
|
499 |
+
// Allow base path for templates to be filtered
|
500 |
+
$template_base_paths = apply_filters( 'tribe_events_template_paths', (array) TribeEvents::instance()->pluginPath);
|
501 |
+
|
502 |
+
// backwards compatibility if $plugin_path arg is used
|
503 |
+
if ( $plugin_path && ! in_array($plugin_path, $template_base_paths) ) {
|
504 |
+
$template_base_paths[] = $plugin_path;
|
505 |
+
}
|
506 |
+
|
507 |
+
// ensure that addon plugins look in the right override folder in theme
|
508 |
+
$namespace = !empty($namespace) && $namespace[0] != '/' ? '/' . trailingslashit($namespace) : trailingslashit($namespace);
|
509 |
+
|
510 |
+
// setup subfolder options
|
511 |
+
$subfolder = !empty($subfolder) ? trailingslashit($subfolder) : $subfolder;
|
512 |
+
|
513 |
+
$file = '';
|
514 |
+
foreach ( $template_base_paths as $template_base_path ) {
|
515 |
+
|
516 |
+
if ( $theme_file = locate_template( array('tribe-events' . $namespace . $subfolder . $template ), false, false) ) {
|
517 |
+
$file = $theme_file;
|
518 |
+
} else {
|
519 |
+
// protect from concat folder with filename
|
520 |
+
$subfolder = empty($subfolder) ? trailingslashit($subfolder) : $subfolder;
|
521 |
+
$subfolder = $subfolder[0] != '/' ? '/' . $subfolder : $subfolder;
|
522 |
+
|
523 |
+
$file = $template_base_path . 'views' . $subfolder . $template;
|
524 |
+
// echo $file;
|
525 |
+
}
|
526 |
+
|
527 |
+
if ( !$disable_view_check && in_array( $tec->displaying, tribe_events_disabled_views() ) ) {
|
528 |
+
$file = get_404_template();
|
529 |
+
}
|
530 |
+
|
531 |
+
$file = apply_filters( 'tribe_events_template', $file, $template);
|
532 |
+
|
533 |
+
// return the first one found
|
534 |
+
if (file_exists($file))
|
535 |
+
break;
|
536 |
+
}
|
537 |
+
|
538 |
+
return apply_filters( 'tribe_events_template_'.$template, $file);
|
539 |
+
}
|
540 |
+
|
541 |
+
|
542 |
+
/**
|
543 |
+
* Look for the stylesheets. Fall back to $fallback path if the stylesheets can't be located or the array is empty.
|
544 |
+
* @param array|string $stylesheets Path to the stylesheet
|
545 |
+
* @param bool|string $fallback Path to fallback stylesheet
|
546 |
+
*
|
547 |
+
* @return bool|string Path to stylesheet
|
548 |
+
*/
|
549 |
+
public static function locate_stylesheet( $stylesheets, $fallback = false ) {
|
550 |
+
if ( !is_array($stylesheets) ) {
|
551 |
+
$stylesheets = array( $stylesheets );
|
552 |
+
}
|
553 |
+
if ( empty( $stylesheets ) ) {
|
554 |
+
return $fallback;
|
555 |
+
}
|
556 |
+
foreach ( $stylesheets as $filename ) {
|
557 |
+
if ( file_exists(STYLESHEETPATH . '/' . $filename)) {
|
558 |
+
$located = trailingslashit(get_stylesheet_directory_uri()).$filename;
|
559 |
+
break;
|
560 |
+
} else if ( file_exists(TEMPLATEPATH . '/' . $filename) ) {
|
561 |
+
$located = trailingslashit(get_template_directory_uri()).$filename;
|
562 |
+
break;
|
563 |
+
}
|
564 |
+
}
|
565 |
+
if ( empty( $located ) ) {
|
566 |
+
return $fallback;
|
567 |
+
}
|
568 |
+
return $located;
|
569 |
+
}
|
570 |
+
|
571 |
+
|
572 |
+
/**
|
573 |
+
* Query is complete.
|
574 |
+
*/
|
575 |
+
private static function endQuery() {
|
576 |
+
global $wp_query;
|
577 |
+
|
578 |
+
$wp_query->current_post = 0;
|
579 |
+
$wp_query->post_count = 1;
|
580 |
+
}
|
581 |
+
|
582 |
+
|
583 |
+
/**
|
584 |
+
* Spoof the query so that we can operate independently of what has been queried.
|
585 |
+
*
|
586 |
+
* @return object
|
587 |
+
*/
|
588 |
+
private static function spoofed_post() {
|
589 |
+
$spoofed_post = array(
|
590 |
+
'ID' => -9999,
|
591 |
+
'post_status' => 'draft',
|
592 |
+
'post_author' => 0,
|
593 |
+
'post_parent' => 0,
|
594 |
+
'post_type' => 'page',
|
595 |
+
'post_date' => 0,
|
596 |
+
'post_date_gmt' => 0,
|
597 |
+
'post_modified' => 0,
|
598 |
+
'post_modified_gmt' => 0,
|
599 |
+
'post_content' => '',
|
600 |
+
'post_title' => '',
|
601 |
+
'post_excerpt' => '',
|
602 |
+
'post_content_filtered' => '',
|
603 |
+
'post_mime_type' => '',
|
604 |
+
'post_password' => '',
|
605 |
+
'post_name' => '',
|
606 |
+
'guid' => '',
|
607 |
+
'menu_order' => 0,
|
608 |
+
'pinged' => '',
|
609 |
+
'to_ping' => '',
|
610 |
+
'ping_status' => '',
|
611 |
+
'comment_status' => 'closed',
|
612 |
+
'comment_count' => 0,
|
613 |
+
'is_404' => false,
|
614 |
+
'is_page' => false,
|
615 |
+
'is_single' => false,
|
616 |
+
'is_archive' => false,
|
617 |
+
'is_tax' => false,
|
618 |
+
);
|
619 |
+
return (object) $spoofed_post;
|
620 |
+
}
|
621 |
+
|
622 |
+
|
623 |
+
/**
|
624 |
+
* Decide if we need to spoof the query.
|
625 |
+
*/
|
626 |
+
public static function maybeSpoofQuery() {
|
627 |
+
|
628 |
+
// hijack this method right up front if it's a password protected post and the password isn't entered
|
629 |
+
if (is_single() && post_password_required()) {
|
630 |
+
return;
|
631 |
+
}
|
632 |
+
|
633 |
+
global $wp_query;
|
634 |
+
|
635 |
+
if ( $wp_query->is_main_query() && tribe_is_event_query() && tribe_get_option('tribeEventsTemplate', 'default') != '' ) {
|
636 |
+
|
637 |
+
// we need to ensure that we always enter the loop, whether or not there are any events in the actual query
|
638 |
+
|
639 |
+
$spoofed_post = self::spoofed_post();
|
640 |
+
|
641 |
+
$GLOBALS['post'] = $spoofed_post;
|
642 |
+
$wp_query->posts[] = $spoofed_post;
|
643 |
+
$wp_query->post_count = count($wp_query->posts);
|
644 |
+
|
645 |
+
$wp_query->spoofed = true;
|
646 |
+
$wp_query->rewind_posts();
|
647 |
+
|
648 |
+
}
|
649 |
+
}
|
650 |
+
|
651 |
+
|
652 |
+
/**
|
653 |
+
* Restore the original query after spoofing it.
|
654 |
+
*/
|
655 |
+
public static function restoreQuery() {
|
656 |
+
global $wp_query;
|
657 |
+
if ( isset( $wp_query->spoofed ) && $wp_query->spoofed ) {
|
658 |
+
|
659 |
+
// take the spoofed post out of the posts array
|
660 |
+
array_pop( $wp_query->posts );
|
661 |
+
|
662 |
+
// fix the post_count
|
663 |
+
$wp_query->post_count = count( $wp_query->posts );
|
664 |
+
|
665 |
+
// rewind the posts
|
666 |
+
$wp_query->rewind_posts();
|
667 |
+
|
668 |
+
if ( $wp_query->have_posts() ) {
|
669 |
+
wp_reset_postdata();
|
670 |
+
} else {
|
671 |
+
// there are no posts, unset the current post
|
672 |
+
unset ( $wp_query->post );
|
673 |
+
}
|
674 |
+
|
675 |
+
// don't do this again
|
676 |
+
unset( $wp_query->spoofed );
|
677 |
+
}
|
678 |
+
}
|
679 |
+
}
|
680 |
+
|
681 |
+
TribeEventsTemplates::init();
|
682 |
+
}
|
lib/widget-list.class.php
CHANGED
@@ -57,6 +57,16 @@ if( !class_exists( 'TribeEventsListWidget' ) ) {
|
|
57 |
'title' => '',
|
58 |
));
|
59 |
extract( $instance, EXTR_SKIP );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
// extracting $instance provides $title, $limit
|
61 |
$title = apply_filters('widget_title', $title );
|
62 |
if ( ! isset( $category ) || $category === '-1' ) {
|
@@ -105,8 +115,8 @@ if( !class_exists( 'TribeEventsListWidget' ) ) {
|
|
105 |
/* Display list of events. */
|
106 |
echo '<ol class="hfeed vcalendar">';
|
107 |
foreach( $posts as $post ) :
|
108 |
-
setup_postdata($post);
|
109 |
-
|
110 |
endforeach;
|
111 |
echo "</ol><!-- .hfeed -->";
|
112 |
|
@@ -120,6 +130,14 @@ if( !class_exists( 'TribeEventsListWidget' ) ) {
|
|
120 |
/* After widget (defined by themes). */
|
121 |
echo $after_widget;
|
122 |
wp_reset_query();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
}
|
124 |
|
125 |
/**
|
57 |
'title' => '',
|
58 |
));
|
59 |
extract( $instance, EXTR_SKIP );
|
60 |
+
|
61 |
+
// temporarily unset the tribe bar params so they don't apply
|
62 |
+
$hold_tribe_bar_args = array();
|
63 |
+
foreach ( $_REQUEST as $key => $value ) {
|
64 |
+
if ( $value && strpos( $key, 'tribe-bar-' ) === 0 ) {
|
65 |
+
$hold_tribe_bar_args[$key] = $value;
|
66 |
+
unset( $_REQUEST[$key] );
|
67 |
+
}
|
68 |
+
}
|
69 |
+
|
70 |
// extracting $instance provides $title, $limit
|
71 |
$title = apply_filters('widget_title', $title );
|
72 |
if ( ! isset( $category ) || $category === '-1' ) {
|
115 |
/* Display list of events. */
|
116 |
echo '<ol class="hfeed vcalendar">';
|
117 |
foreach( $posts as $post ) :
|
118 |
+
setup_postdata( $post );
|
119 |
+
tribe_get_template_part( 'widgets/list-widget' );
|
120 |
endforeach;
|
121 |
echo "</ol><!-- .hfeed -->";
|
122 |
|
130 |
/* After widget (defined by themes). */
|
131 |
echo $after_widget;
|
132 |
wp_reset_query();
|
133 |
+
|
134 |
+
// reinstate the tribe bar params
|
135 |
+
if ( ! empty( $hold_tribe_bar_args ) ) {
|
136 |
+
foreach ( $hold_tribe_bar_args as $key => $value ) {
|
137 |
+
$_REQUEST[$key] = $value;
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
}
|
142 |
|
143 |
/**
|
public/template-tags/general.php
CHANGED
@@ -104,7 +104,7 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
104 |
*/
|
105 |
function tribe_get_option( $optionName, $default = '' ) {
|
106 |
$tribe_ecp = TribeEvents::instance();
|
107 |
-
return apply_filters( 'tribe_get_option', $tribe_ecp->getOption( $optionName, $default ) );
|
108 |
}
|
109 |
|
110 |
/**
|
@@ -148,7 +148,7 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
148 |
* @since 2.0
|
149 |
*/
|
150 |
function tribe_is_event( $postId = null ) {
|
151 |
-
return apply_filters( 'tribe_is_event', TribeEvents::instance()->isEvent( $postId ) );
|
152 |
}
|
153 |
|
154 |
/**
|
@@ -165,7 +165,7 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
165 |
* @since 2.0
|
166 |
*/
|
167 |
function tribe_get_events( $args = array() ) {
|
168 |
-
return apply_filters( 'tribe_get_events', TribeEventsQuery::getEvents( $args ) );
|
169 |
}
|
170 |
|
171 |
/**
|
@@ -180,7 +180,7 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
180 |
function tribe_event_is_all_day( $postId = null ) {
|
181 |
$postId = TribeEvents::postIdHelper( $postId );
|
182 |
$output = !! tribe_get_event_meta( $postId, '_EventAllDay', true );
|
183 |
-
return apply_filters( 'tribe_event_is_all_day', $output );
|
184 |
}
|
185 |
|
186 |
/**
|
@@ -199,7 +199,7 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
199 |
$start = strtotime( $start[0] );
|
200 |
$end = strtotime( tribe_get_event_meta( $postId, '_EventEndDate', true ) );
|
201 |
$output = date( 'd-m-Y', $start ) != date( 'd-m-Y', $end );
|
202 |
-
return apply_filters( 'tribe_event_is_multiday', $output );
|
203 |
}
|
204 |
|
205 |
/**
|
@@ -225,7 +225,8 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
225 |
*/
|
226 |
function tribe_get_event_cat_slugs( $post_id = 0 ) {
|
227 |
$post_id = TribeEvents::postIdHelper( $post_id );
|
228 |
-
|
|
|
229 |
}
|
230 |
|
231 |
/**
|
@@ -245,7 +246,7 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
245 |
$args = wp_parse_args( $args, $defaults );
|
246 |
extract( $args, EXTR_SKIP );
|
247 |
$taxonomy = get_the_term_list( $post_id, $taxonomy, $before, $sep, $after );
|
248 |
-
return apply_filters( 'tribe_get_event_taxonomy', $taxonomy );
|
249 |
}
|
250 |
|
251 |
/**
|
@@ -284,9 +285,9 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
284 |
$args['wrap_after']
|
285 |
) : '';
|
286 |
if ( $args['echo'] ) {
|
287 |
-
echo apply_filters( 'tribe_get_event_categories', $html );
|
288 |
} else {
|
289 |
-
return apply_filters( 'tribe_get_event_categories', $html );
|
290 |
}
|
291 |
}
|
292 |
|
@@ -306,7 +307,8 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
306 |
if ( !$label ) { $label = __( 'Tags:', 'tribe-events-calendar' ); }
|
307 |
|
308 |
$tribe_ecp = TribeEvents::instance();
|
309 |
-
$list =
|
|
|
310 |
if ( $echo ) {
|
311 |
echo $list;
|
312 |
} else {
|
@@ -329,7 +331,7 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
329 |
//$postId = TribeEvents::postIdHelper( $postId );
|
330 |
$tribe_ecp = TribeEvents::instance();
|
331 |
$output = $tribe_ecp->getEventMeta( $postId, $meta, $single );
|
332 |
-
return apply_filters( 'tribe_get_event_meta', $output );
|
333 |
}
|
334 |
|
335 |
/**
|
@@ -345,7 +347,7 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
345 |
$current_cat = get_query_var( 'tribe_events_cat' );
|
346 |
if ( $current_cat ) {
|
347 |
$term_info = get_term_by( 'slug', $current_cat, $tribe_ecp->get_event_taxonomy() );
|
348 |
-
return apply_filters( 'tribe_meta_event_category_name', $term_info->name );
|
349 |
}
|
350 |
}
|
351 |
|
@@ -373,7 +375,7 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
373 |
*/
|
374 |
function tribe_is_venue( $postId = null ) {
|
375 |
$tribe_ecp = TribeEvents::instance();
|
376 |
-
return apply_filters( 'tribe_is_venue', $tribe_ecp->isVenue( $postId ) );
|
377 |
}
|
378 |
|
379 |
/**
|
@@ -678,7 +680,7 @@ if ( class_exists( 'TribeEvents' ) ) {
|
|
678 |
if ( !empty( $image_src ) ) {
|
679 |
$featured_image .= '<div class="tribe-events-event-image"><a href="'. tribe_get_event_link() .'" title="'. get_the_title( $post_id ) .'"><img src="'. $image_src[0] .'" title="'. get_the_title( $post_id ) .'" /></a></div>';
|
680 |
}
|
681 |
-
return apply_filters( 'tribe_event_featured_image', $featured_image );
|
682 |
}
|
683 |
|
684 |
/**
|
104 |
*/
|
105 |
function tribe_get_option( $optionName, $default = '' ) {
|
106 |
$tribe_ecp = TribeEvents::instance();
|
107 |
+
return apply_filters( 'tribe_get_option', $tribe_ecp->getOption( $optionName, $default ), $optionName, $default );
|
108 |
}
|
109 |
|
110 |
/**
|
148 |
* @since 2.0
|
149 |
*/
|
150 |
function tribe_is_event( $postId = null ) {
|
151 |
+
return apply_filters( 'tribe_is_event', TribeEvents::instance()->isEvent( $postId ), $postId );
|
152 |
}
|
153 |
|
154 |
/**
|
165 |
* @since 2.0
|
166 |
*/
|
167 |
function tribe_get_events( $args = array() ) {
|
168 |
+
return apply_filters( 'tribe_get_events', TribeEventsQuery::getEvents( $args ), $args );
|
169 |
}
|
170 |
|
171 |
/**
|
180 |
function tribe_event_is_all_day( $postId = null ) {
|
181 |
$postId = TribeEvents::postIdHelper( $postId );
|
182 |
$output = !! tribe_get_event_meta( $postId, '_EventAllDay', true );
|
183 |
+
return apply_filters( 'tribe_event_is_all_day', $output, $postId );
|
184 |
}
|
185 |
|
186 |
/**
|
199 |
$start = strtotime( $start[0] );
|
200 |
$end = strtotime( tribe_get_event_meta( $postId, '_EventEndDate', true ) );
|
201 |
$output = date( 'd-m-Y', $start ) != date( 'd-m-Y', $end );
|
202 |
+
return apply_filters( 'tribe_event_is_multiday', $output, $postId, $start, $end );
|
203 |
}
|
204 |
|
205 |
/**
|
225 |
*/
|
226 |
function tribe_get_event_cat_slugs( $post_id = 0 ) {
|
227 |
$post_id = TribeEvents::postIdHelper( $post_id );
|
228 |
+
$slugs = wp_list_pluck( (array) get_the_terms( $post_id, TribeEvents::TAXONOMY ), 'slug' );
|
229 |
+
return apply_filters( 'tribe_get_event_cat_slugs', $slugs, $post_id );
|
230 |
}
|
231 |
|
232 |
/**
|
246 |
$args = wp_parse_args( $args, $defaults );
|
247 |
extract( $args, EXTR_SKIP );
|
248 |
$taxonomy = get_the_term_list( $post_id, $taxonomy, $before, $sep, $after );
|
249 |
+
return apply_filters( 'tribe_get_event_taxonomy', $taxonomy, $post_id, $args );
|
250 |
}
|
251 |
|
252 |
/**
|
285 |
$args['wrap_after']
|
286 |
) : '';
|
287 |
if ( $args['echo'] ) {
|
288 |
+
echo apply_filters( 'tribe_get_event_categories', $html, $post_id, $args, $categories );
|
289 |
} else {
|
290 |
+
return apply_filters( 'tribe_get_event_categories', $html, $post_id, $args, $categories );
|
291 |
}
|
292 |
}
|
293 |
|
307 |
if ( !$label ) { $label = __( 'Tags:', 'tribe-events-calendar' ); }
|
308 |
|
309 |
$tribe_ecp = TribeEvents::instance();
|
310 |
+
$list = get_the_term_list( get_the_ID(), 'post_tag', '<dt>'.$label.'</dt><dd class="tribe-event-tags">', $separator, '</dd>' );
|
311 |
+
$list = apply_filters( 'tribe_meta_event_tags', $list, $label, $separator, $echo );
|
312 |
if ( $echo ) {
|
313 |
echo $list;
|
314 |
} else {
|
331 |
//$postId = TribeEvents::postIdHelper( $postId );
|
332 |
$tribe_ecp = TribeEvents::instance();
|
333 |
$output = $tribe_ecp->getEventMeta( $postId, $meta, $single );
|
334 |
+
return apply_filters( 'tribe_get_event_meta', $output, $postId, $meta, $single );
|
335 |
}
|
336 |
|
337 |
/**
|
347 |
$current_cat = get_query_var( 'tribe_events_cat' );
|
348 |
if ( $current_cat ) {
|
349 |
$term_info = get_term_by( 'slug', $current_cat, $tribe_ecp->get_event_taxonomy() );
|
350 |
+
return apply_filters( 'tribe_meta_event_category_name', $term_info->name, $current_cat, $term_info );
|
351 |
}
|
352 |
}
|
353 |
|
375 |
*/
|
376 |
function tribe_is_venue( $postId = null ) {
|
377 |
$tribe_ecp = TribeEvents::instance();
|
378 |
+
return apply_filters( 'tribe_is_venue', $tribe_ecp->isVenue( $postId ), $postId );
|
379 |
}
|
380 |
|
381 |
/**
|
680 |
if ( !empty( $image_src ) ) {
|
681 |
$featured_image .= '<div class="tribe-events-event-image"><a href="'. tribe_get_event_link() .'" title="'. get_the_title( $post_id ) .'"><img src="'. $image_src[0] .'" title="'. get_the_title( $post_id ) .'" /></a></div>';
|
682 |
}
|
683 |
+
return apply_filters( 'tribe_event_featured_image', $featured_image, $post_id, $size, $image_src );
|
684 |
}
|
685 |
|
686 |
/**
|
public/template-tags/general.php.orig
ADDED
@@ -0,0 +1,1036 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The Events Calendar Template Tags
|
4 |
+
*
|
5 |
+
* Display functions (template-tags) for use in WordPress templates.
|
6 |
+
*/
|
7 |
+
|
8 |
+
// Don't load directly
|
9 |
+
if ( !defined( 'ABSPATH' ) ) { die( '-1' ); }
|
10 |
+
|
11 |
+
if ( class_exists( 'TribeEvents' ) ) {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Instantiate the template class, preparing a view file for use. If no name is passed, defaults to the class for the current view
|
15 |
+
*
|
16 |
+
* @param bool|string $class Classname you want to instantiate
|
17 |
+
* @return void
|
18 |
+
* @author Jessica Yazbek
|
19 |
+
* @uses TribeEventsTemplates::instantiate_template_class()
|
20 |
+
* @since 3.0
|
21 |
+
**/
|
22 |
+
function tribe_initialize_view( $class = false ) {
|
23 |
+
do_action( 'tribe_pre_initialize_view' );
|
24 |
+
TribeEventsTemplates::instantiate_template_class( $class );
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Includes a view file, runs hooks around the view
|
29 |
+
*
|
30 |
+
* @param bool|string $view View slug
|
31 |
+
* @return void
|
32 |
+
* @author Jessica Yazbek
|
33 |
+
* @since 3.0
|
34 |
+
**/
|
35 |
+
function tribe_get_view( $view = false ) {
|
36 |
+
|
37 |
+
do_action( 'tribe_pre_get_view' );
|
38 |
+
|
39 |
+
if ( ! $view ) {
|
40 |
+
$template_file = tribe_get_current_template();
|
41 |
+
} else {
|
42 |
+
$template_file = TribeEventsTemplates::getTemplateHierarchy( $view, array('disable_view_check' => true) );
|
43 |
+
}
|
44 |
+
|
45 |
+
if (file_exists($template_file)) {
|
46 |
+
do_action('tribe_events_before_view', $template_file);
|
47 |
+
include( $template_file );
|
48 |
+
do_action('tribe_events_after_view', $template_file);
|
49 |
+
}
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Includes a template part, similar to the WP get template part, but looks
|
54 |
+
* in the correct directories for Tribe Events templates
|
55 |
+
*
|
56 |
+
* @param string $slug
|
57 |
+
* @param null|string $name
|
58 |
+
* @uses TribeEventsTemplates::getTemplateHierarchy
|
59 |
+
* @author Jessica Yazbek
|
60 |
+
* @since 3.0
|
61 |
+
**/
|
62 |
+
function tribe_get_template_part( $slug, $name = null ) {
|
63 |
+
|
64 |
+
// Execute code for this part
|
65 |
+
do_action( 'tribe_pre_get_template_part_' . $slug, $slug, $name );
|
66 |
+
// Setup possible parts
|
67 |
+
$templates = array();
|
68 |
+
if ( isset( $name ) ) {
|
69 |
+
$templates[] = $slug . '-' . $name . '.php';
|
70 |
+
}
|
71 |
+
$templates[] = $slug . '.php';
|
72 |
+
|
73 |
+
// Allow template parts to be filtered
|
74 |
+
$templates = apply_filters( 'tribe_get_template_part_templates', $templates, $slug, $name );
|
75 |
+
|
76 |
+
|
77 |
+
// loop through templates, return first one found.
|
78 |
+
foreach( $templates as $template ) {
|
79 |
+
$file = TribeEventsTemplates::getTemplateHierarchy( $template, array('disable_view_check' => true) );
|
80 |
+
$file = apply_filters( 'tribe_get_template_part_path', $file, $template, $slug, $name );
|
81 |
+
$file = apply_filters( 'tribe_get_template_part_path_'.$template, $file, $slug, $name );
|
82 |
+
if (file_exists($file)) {
|
83 |
+
ob_start();
|
84 |
+
do_action( 'tribe_before_get_template_part', $template, $file, $template, $slug, $name );
|
85 |
+
include($file);
|
86 |
+
do_action( 'tribe_after_get_template_part', $template, $file, $slug, $name );
|
87 |
+
$html = ob_get_clean();
|
88 |
+
echo apply_filters( 'tribe_get_template_part_content', $html, $template, $file, $slug, $name );
|
89 |
+
}
|
90 |
+
}
|
91 |
+
do_action( 'tribe_post_get_template_part_' . $slug, $slug, $name );
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Get Options
|
96 |
+
*
|
97 |
+
* Retrieve specific key from options array, optionally provide a default return value
|
98 |
+
*
|
99 |
+
* @param string $optionName Name of the option to retrieve.
|
100 |
+
* @param string $default Value to return if no such option is found.
|
101 |
+
* @return mixed Value of the option if found.
|
102 |
+
* @todo Abstract this function out of template tags or otherwise secure it from other namespace conflicts.
|
103 |
+
* @since 2.0
|
104 |
+
*/
|
105 |
+
function tribe_get_option( $optionName, $default = '' ) {
|
106 |
+
$tribe_ecp = TribeEvents::instance();
|
107 |
+
return apply_filters( 'tribe_get_option', $tribe_ecp->getOption( $optionName, $default ), $optionName, $default );
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Update Option
|
112 |
+
*
|
113 |
+
* Set specific key from options array, optionally provide a default return value
|
114 |
+
*
|
115 |
+
* @param string $optionName Name of the option to retrieve.
|
116 |
+
* @param string $value Value to save
|
117 |
+
* @return void
|
118 |
+
* @since 2.0.3
|
119 |
+
*/
|
120 |
+
function tribe_update_option( $optionName, $value ) {
|
121 |
+
$tribe_ecp = TribeEvents::instance();
|
122 |
+
$tribe_ecp->setOption( $optionName, $value );
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Get Network Options
|
127 |
+
*
|
128 |
+
* Retrieve specific key from options array, optionally provide a default return value
|
129 |
+
*
|
130 |
+
* @param string $optionName Name of the option to retrieve.
|
131 |
+
* @param string $default Value to return if no such option is found.
|
132 |
+
* @return mixed Value of the option if found.
|
133 |
+
* @todo Abstract this function out of template tags or otherwise secure it from other namespace conflicts.
|
134 |
+
* @since 2.0
|
135 |
+
*/
|
136 |
+
function tribe_get_network_option( $optionName, $default = '' ) {
|
137 |
+
$tribe_ecp = TribeEvents::instance();
|
138 |
+
return $tribe_ecp->getNetworkOption( $optionName, $default );
|
139 |
+
}
|
140 |
+
|
141 |
+
/**
|
142 |
+
* Event Type Test
|
143 |
+
*
|
144 |
+
* Checks type of $postId to determine if it is an Event
|
145 |
+
*
|
146 |
+
* @param int $postId (optional)
|
147 |
+
* @return bool true if this post is an Event post type
|
148 |
+
* @since 2.0
|
149 |
+
*/
|
150 |
+
function tribe_is_event( $postId = null ) {
|
151 |
+
return apply_filters( 'tribe_is_event', TribeEvents::instance()->isEvent( $postId ) );
|
152 |
+
}
|
153 |
+
|
154 |
+
/**
|
155 |
+
* Get Event
|
156 |
+
*
|
157 |
+
* Queries the events using WordPress get_posts() by setting the post type and sorting by event date.
|
158 |
+
*
|
159 |
+
* @param array $args query vars with added defaults including post_type of events, sorted (orderby) by event date (order) ascending
|
160 |
+
* @return array List of posts.
|
161 |
+
* @link http://codex.wordpress.org/Template_Tags/get_posts
|
162 |
+
* @link http://codex.wordpress.org/Function_Reference/get_post
|
163 |
+
* @uses get_posts()
|
164 |
+
* @see get_posts()
|
165 |
+
* @since 2.0
|
166 |
+
*/
|
167 |
+
function tribe_get_events( $args = array() ) {
|
168 |
+
return apply_filters( 'tribe_get_events', TribeEventsQuery::getEvents( $args ) );
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* All Day Event Test
|
173 |
+
*
|
174 |
+
* Returns true if the event is an all day event
|
175 |
+
*
|
176 |
+
* @param int $postId (optional)
|
177 |
+
* @return bool
|
178 |
+
* @since 2.0
|
179 |
+
*/
|
180 |
+
function tribe_event_is_all_day( $postId = null ) {
|
181 |
+
$postId = TribeEvents::postIdHelper( $postId );
|
182 |
+
$output = !! tribe_get_event_meta( $postId, '_EventAllDay', true );
|
183 |
+
return apply_filters( 'tribe_event_is_all_day', $output );
|
184 |
+
}
|
185 |
+
|
186 |
+
/**
|
187 |
+
* Multi-day Event Test
|
188 |
+
*
|
189 |
+
* Returns true if the event spans multiple days
|
190 |
+
*
|
191 |
+
* @param int $postId (optional)
|
192 |
+
* @return bool true if event spans multiple days
|
193 |
+
* @since 2.0
|
194 |
+
*/
|
195 |
+
function tribe_event_is_multiday( $postId = null ) {
|
196 |
+
$postId = TribeEvents::postIdHelper( $postId );
|
197 |
+
$start = (array)tribe_get_event_meta( $postId, '_EventStartDate', false );
|
198 |
+
sort( $start );
|
199 |
+
$start = strtotime( $start[0] );
|
200 |
+
$end = strtotime( tribe_get_event_meta( $postId, '_EventEndDate', true ) );
|
201 |
+
$output = date( 'd-m-Y', $start ) != date( 'd-m-Y', $end );
|
202 |
+
return apply_filters( 'tribe_event_is_multiday', $output );
|
203 |
+
}
|
204 |
+
|
205 |
+
/**
|
206 |
+
* Event Category ID's
|
207 |
+
*
|
208 |
+
* Display the event category ID as a class for events wrapper
|
209 |
+
*
|
210 |
+
* @uses wp_get_object_terms()
|
211 |
+
* @since 2.1
|
212 |
+
*/
|
213 |
+
function tribe_get_event_cat_ids( $post_id = 0 ) {
|
214 |
+
$post_id = TribeEvents::postIdHelper( $post_id );
|
215 |
+
return wp_list_pluck( (array) get_the_terms( $post_id, TribeEvents::TAXONOMY ), 'term_id' );
|
216 |
+
}
|
217 |
+
|
218 |
+
/**
|
219 |
+
* Event Category slugs
|
220 |
+
*
|
221 |
+
* Display the event category ID as a class for events wrapper
|
222 |
+
*
|
223 |
+
* @uses wp_get_object_terms()
|
224 |
+
* @since 2.1
|
225 |
+
*/
|
226 |
+
function tribe_get_event_cat_slugs( $post_id = 0 ) {
|
227 |
+
$post_id = TribeEvents::postIdHelper( $post_id );
|
228 |
+
return wp_list_pluck( (array) get_the_terms( $post_id, TribeEvents::TAXONOMY ), 'slug' );
|
229 |
+
}
|
230 |
+
|
231 |
+
/**
|
232 |
+
* get the term list by taxonomy (default categories) for a single event
|
233 |
+
* @param int $post_id
|
234 |
+
* @param array $args
|
235 |
+
* @return string HTML string of taxonomy terms
|
236 |
+
*/
|
237 |
+
function tribe_get_event_taxonomy( $post_id = null, $args = array() ) {
|
238 |
+
$post_id = TribeEvents::postIdHelper( $post_id );
|
239 |
+
$tribe_ecp = TribeEvents::instance();
|
240 |
+
$defaults = array(
|
241 |
+
'taxonomy' => $tribe_ecp->get_event_taxonomy(),
|
242 |
+
'before' => '<li>',
|
243 |
+
'sep' => '</li><li>',
|
244 |
+
'after' => '</li>' );
|
245 |
+
$args = wp_parse_args( $args, $defaults );
|
246 |
+
extract( $args, EXTR_SKIP );
|
247 |
+
$taxonomy = get_the_term_list( $post_id, $taxonomy, $before, $sep, $after );
|
248 |
+
return apply_filters( 'tribe_get_event_taxonomy', $taxonomy );
|
249 |
+
}
|
250 |
+
|
251 |
+
/**
|
252 |
+
* Event Categories (Display)
|
253 |
+
*
|
254 |
+
* Display the event categories with display param
|
255 |
+
*
|
256 |
+
* @uses tribe_get_event_taxonomy()
|
257 |
+
* @replaces tribe_meta_event_cats()
|
258 |
+
* @param int $post_id
|
259 |
+
* @param array $args
|
260 |
+
* @return string $html (echo if provided in $args)
|
261 |
+
* @since 3.0
|
262 |
+
*/
|
263 |
+
function tribe_get_event_categories( $post_id = null, $args = array() ) {
|
264 |
+
$post_id = is_null( $post_id ) ? get_the_ID() : $post_id;
|
265 |
+
$defaults = array(
|
266 |
+
'echo' => false,
|
267 |
+
'label' => null,
|
268 |
+
'label_before' => '<div>',
|
269 |
+
'label_after' => '</div>',
|
270 |
+
'wrap_before' => '<ul class="tribe-event-categories">',
|
271 |
+
'wrap_after' => '</ul>' );
|
272 |
+
$args = wp_parse_args( $args, $defaults );
|
273 |
+
$categories = tribe_get_event_taxonomy( $post_id, $args );
|
274 |
+
|
275 |
+
// check for the occurances of links in the returned string
|
276 |
+
$label = is_null( $args['label'] ) ? _n( 'Event Category', 'Event Categories', substr_count( $categories, "<a href" ), 'tribe-events-calendar' ) : $args['label'];
|
277 |
+
|
278 |
+
$html = !empty( $categories ) ? sprintf( '%s%s:%s %s%s%s',
|
279 |
+
$args['label_before'],
|
280 |
+
$label,
|
281 |
+
$args['label_after'],
|
282 |
+
$args['wrap_before'],
|
283 |
+
$categories,
|
284 |
+
$args['wrap_after']
|
285 |
+
) : '';
|
286 |
+
if ( $args['echo'] ) {
|
287 |
+
echo apply_filters( 'tribe_get_event_categories', $html );
|
288 |
+
} else {
|
289 |
+
return apply_filters( 'tribe_get_event_categories', $html );
|
290 |
+
}
|
291 |
+
}
|
292 |
+
|
293 |
+
/**
|
294 |
+
* Event Tags (Display)
|
295 |
+
*
|
296 |
+
* Display the event tags
|
297 |
+
*
|
298 |
+
* @param null|string $label
|
299 |
+
* @param string $separator
|
300 |
+
* @param bool $echo
|
301 |
+
* @return array
|
302 |
+
* @uses the_terms()
|
303 |
+
* @since 2.1
|
304 |
+
*/
|
305 |
+
function tribe_meta_event_tags( $label=null, $separator=', ', $echo = true ) {
|
306 |
+
if ( !$label ) { $label = __( 'Tags:', 'tribe-events-calendar' ); }
|
307 |
+
|
308 |
+
$tribe_ecp = TribeEvents::instance();
|
309 |
+
$list = apply_filters( 'tribe_meta_event_tags', get_the_term_list( get_the_ID(), 'post_tag', '<dt>'.$label.'</dt><dd class="tribe-event-tags">', $separator, '</dd>' ) );
|
310 |
+
if ( $echo ) {
|
311 |
+
echo $list;
|
312 |
+
} else {
|
313 |
+
return $list;
|
314 |
+
}
|
315 |
+
}
|
316 |
+
|
317 |
+
/**
|
318 |
+
* Event Post Meta
|
319 |
+
*
|
320 |
+
* Get event post meta.
|
321 |
+
*
|
322 |
+
* @param int|null $postId (optional)
|
323 |
+
* @param string|bool $meta name of the meta_key
|
324 |
+
* @param bool $single determines if the results should be a single item or an array of items.
|
325 |
+
* @return mixed meta value(s)
|
326 |
+
* @since 2.0
|
327 |
+
*/
|
328 |
+
function tribe_get_event_meta( $postId = null, $meta = false, $single = true ) {
|
329 |
+
//$postId = TribeEvents::postIdHelper( $postId );
|
330 |
+
$tribe_ecp = TribeEvents::instance();
|
331 |
+
$output = $tribe_ecp->getEventMeta( $postId, $meta, $single );
|
332 |
+
return apply_filters( 'tribe_get_event_meta', $output );
|
333 |
+
}
|
334 |
+
|
335 |
+
/**
|
336 |
+
* Event Category Name
|
337 |
+
*
|
338 |
+
* Return the current event category name based the url.
|
339 |
+
*
|
340 |
+
* @return string Name of the Event Category
|
341 |
+
* @since 2.0
|
342 |
+
*/
|
343 |
+
function tribe_meta_event_category_name() {
|
344 |
+
$tribe_ecp = TribeEvents::instance();
|
345 |
+
$current_cat = get_query_var( 'tribe_events_cat' );
|
346 |
+
if ( $current_cat ) {
|
347 |
+
$term_info = get_term_by( 'slug', $current_cat, $tribe_ecp->get_event_taxonomy() );
|
348 |
+
return apply_filters( 'tribe_meta_event_category_name', $term_info->name );
|
349 |
+
}
|
350 |
+
}
|
351 |
+
|
352 |
+
/**
|
353 |
+
* Current Template
|
354 |
+
*
|
355 |
+
* Get the current page template that we are on
|
356 |
+
*
|
357 |
+
* @todo Update the function name to ensure there are no namespace conflicts.
|
358 |
+
* @return string Page template
|
359 |
+
* @since 2.0
|
360 |
+
*/
|
361 |
+
function tribe_get_current_template() {
|
362 |
+
return apply_filters( 'tribe_get_current_template', TribeEventsTemplates::get_current_page_template() );
|
363 |
+
}
|
364 |
+
|
365 |
+
/**
|
366 |
+
* Venue Type Test
|
367 |
+
*
|
368 |
+
* Checks type of $postId to determine if it is a Venue
|
369 |
+
*
|
370 |
+
* @param int $postId (optional)
|
371 |
+
* @return bool True if post type id Venue
|
372 |
+
* @since 2.0
|
373 |
+
*/
|
374 |
+
function tribe_is_venue( $postId = null ) {
|
375 |
+
$tribe_ecp = TribeEvents::instance();
|
376 |
+
return apply_filters( 'tribe_is_venue', $tribe_ecp->isVenue( $postId ) );
|
377 |
+
}
|
378 |
+
|
379 |
+
/**
|
380 |
+
* HTML Before Event (Display)
|
381 |
+
*
|
382 |
+
* Display HTML to output before the event template
|
383 |
+
*
|
384 |
+
* @since 2.0
|
385 |
+
*/
|
386 |
+
function tribe_events_before_html() {
|
387 |
+
$before = stripslashes( tribe_get_option( 'tribeEventsBeforeHTML', '' ) );
|
388 |
+
$before = wptexturize( $before );
|
389 |
+
$before = convert_chars( $before );
|
390 |
+
$before = wpautop( $before );
|
391 |
+
$before = '<div class="tribe-events-before-html">'. stripslashes( shortcode_unautop( $before ) ) .'</div>';
|
392 |
+
$before = $before.'<span class="tribe-events-ajax-loading"><img class="tribe-events-spinner-medium" src="'.tribe_events_resource_url('images/tribe-loading.gif').'" alt="'.__('Loading Events', 'tribe-events').'" /></span>';
|
393 |
+
$before = apply_filters( 'tribe_events_before_html', $before );
|
394 |
+
|
395 |
+
echo apply_filters( 'tribe_events_before_html', $before );
|
396 |
+
}
|
397 |
+
|
398 |
+
/**
|
399 |
+
* HTML After Event (Display)
|
400 |
+
*
|
401 |
+
* Display HTML to output after the event template
|
402 |
+
*
|
403 |
+
* @since 2.0
|
404 |
+
*/
|
405 |
+
function tribe_events_after_html() {
|
406 |
+
$after = stripslashes( tribe_get_option( 'tribeEventsAfterHTML', '' ) );
|
407 |
+
$after = wptexturize( $after );
|
408 |
+
$after = convert_chars( $after );
|
409 |
+
$after = wpautop( $after );
|
410 |
+
$after = '<div class="tribe-events-after-html">'. stripslashes( shortcode_unautop( $after ) ) .'</div>';
|
411 |
+
|
412 |
+
echo apply_filters( 'tribe_events_after_html', $after );
|
413 |
+
}
|
414 |
+
|
415 |
+
/**
|
416 |
+
* Prints out classes on an event wrapper
|
417 |
+
*
|
418 |
+
* @return void
|
419 |
+
* @since 3.0
|
420 |
+
**/
|
421 |
+
function tribe_events_event_classes() {
|
422 |
+
$classes = apply_filters('tribe_events_event_classes', array());
|
423 |
+
echo implode(' ', $classes);
|
424 |
+
}
|
425 |
+
|
426 |
+
/**
|
427 |
+
* Prints out data attributes used in the template header tags
|
428 |
+
*
|
429 |
+
* @param string|null $current_view
|
430 |
+
* @return void
|
431 |
+
* @since 3.0
|
432 |
+
**/
|
433 |
+
function tribe_events_the_header_attributes( $current_view = null ) {
|
434 |
+
$attrs = array();
|
435 |
+
$current_view = !empty( $current_view ) ? $current_view : basename(tribe_get_current_template());
|
436 |
+
<<<<<<< HEAD
|
437 |
+
$attrs['data-title'] = TribeEventsTemplates::maybeAddEventTitle(wp_title('', false));
|
438 |
+
=======
|
439 |
+
$attrs['data-title'] = wp_title('»', false);
|
440 |
+
>>>>>>> parent of dd42fe2... Fixed problems with title filter
|
441 |
+
switch($current_view) {
|
442 |
+
case 'month.php' :
|
443 |
+
$attrs['data-view'] = 'month';
|
444 |
+
$attrs['data-date'] = date( 'Y-m', strtotime( tribe_get_month_view_date() ) );
|
445 |
+
$attrs['data-baseurl'] = tribe_get_gridview_link(false);
|
446 |
+
break;
|
447 |
+
case 'list.php' :
|
448 |
+
$attrs['data-view']= 'list';
|
449 |
+
if ( tribe_is_upcoming() ) {
|
450 |
+
$attrs['data-baseurl'] = tribe_get_listview_link(false);
|
451 |
+
} elseif( tribe_is_past() ) {
|
452 |
+
$attrs['data-view']= 'past';
|
453 |
+
$attrs['data-baseurl'] = tribe_get_listview_past_link(false);
|
454 |
+
}
|
455 |
+
break;
|
456 |
+
}
|
457 |
+
$attrs = apply_filters('tribe_events_header_attributes', $attrs, $current_view);
|
458 |
+
foreach ($attrs as $attr => $value) {
|
459 |
+
echo " $attr=".'"'.$value.'"';
|
460 |
+
}
|
461 |
+
}
|
462 |
+
|
463 |
+
/**
|
464 |
+
* Returns or echoes a url to a file in the Events Calendar plugin resources directory
|
465 |
+
*
|
466 |
+
* @param string $resource the filename of the resource
|
467 |
+
* @param bool $echo whether or not to echo the url
|
468 |
+
* @return string
|
469 |
+
* @author Jessica Yazbek
|
470 |
+
* @since 3.0
|
471 |
+
**/
|
472 |
+
function tribe_events_resource_url($resource, $echo = false) {
|
473 |
+
$url = apply_filters('tribe_events_resource_url', trailingslashit( TribeEvents::instance()->pluginUrl ).'resources/'.$resource, $resource);
|
474 |
+
if ($echo) {
|
475 |
+
echo $url;
|
476 |
+
}
|
477 |
+
return $url;
|
478 |
+
}
|
479 |
+
|
480 |
+
/**
|
481 |
+
* Return an array with the days of the week, numbered with respect to the start_of_week WP option
|
482 |
+
* @param string $format the display format for the days of the week
|
483 |
+
* @return array Days of the week.
|
484 |
+
* @since 3.0
|
485 |
+
**/
|
486 |
+
function tribe_events_get_days_of_week( $format = null ) {
|
487 |
+
if ( $format == 'short' ) {
|
488 |
+
$days_of_week = TribeEvents::instance()->daysOfWeekShort;
|
489 |
+
} else {
|
490 |
+
$days_of_week = TribeEvents::instance()->daysOfWeek;
|
491 |
+
}
|
492 |
+
$start_of_week = get_option('start_of_week', 0);
|
493 |
+
for ($i = 0; $i < $start_of_week; $i++) {
|
494 |
+
$day = $days_of_week[$i];
|
495 |
+
unset($days_of_week[$i]);
|
496 |
+
$days_of_week[$i] = $day;
|
497 |
+
}
|
498 |
+
// $days_of_week = array_values($days_of_week);
|
499 |
+
return apply_filters('tribe_events_get_days_of_week', $days_of_week);
|
500 |
+
}
|
501 |
+
|
502 |
+
/**
|
503 |
+
* conditional tag to determine if the cost field should be shown in the admin editors.
|
504 |
+
* @author tim@imaginesimplicity.com
|
505 |
+
* @since 3.0
|
506 |
+
* @return bool
|
507 |
+
*/
|
508 |
+
function tribe_events_admin_show_cost_field(){
|
509 |
+
$modules = apply_filters( 'tribe_events_tickets_modules', NULL );
|
510 |
+
$event_origin = get_post_meta( get_the_ID(), '_EventOrigin', true );
|
511 |
+
$show_cost = empty( $modules ) ||
|
512 |
+
class_exists( 'Event_Tickets_PRO' ) ||
|
513 |
+
in_array( $event_origin, apply_filters( 'tribe_events_admin_show_cost_field_origin', array( 'community-events' ) ) );
|
514 |
+
return apply_filters( 'tribe_events_admin_show_cost_field', $show_cost, $modules );
|
515 |
+
}
|
516 |
+
|
517 |
+
/**
|
518 |
+
* Get an event's cost
|
519 |
+
*
|
520 |
+
*
|
521 |
+
* @param null|int $postId (optional)
|
522 |
+
* @param bool $withCurrencySymbol Include the currency symbol
|
523 |
+
* @return string Cost of the event.
|
524 |
+
*/
|
525 |
+
function tribe_get_cost( $postId = null, $withCurrencySymbol = false ) {
|
526 |
+
$tribe_ecp = TribeEvents::instance();
|
527 |
+
$postId = TribeEvents::postIdHelper( $postId );
|
528 |
+
|
529 |
+
$cost = tribe_get_event_meta( $postId, '_EventCost', true );
|
530 |
+
|
531 |
+
if ( $cost === '' ) {
|
532 |
+
$cost = '';
|
533 |
+
} elseif ( $cost === '0' ) {
|
534 |
+
$cost = __( "Free", 'tribe-events-calendar' );
|
535 |
+
} else {
|
536 |
+
$cost = esc_html( $cost );
|
537 |
+
}
|
538 |
+
|
539 |
+
if ( $withCurrencySymbol && is_numeric( $cost ) ) {
|
540 |
+
$currency = tribe_get_event_meta( $postId, '_EventCurrencySymbol', true );
|
541 |
+
|
542 |
+
if ( !$currency ) {
|
543 |
+
$currency = tribe_get_option( 'defaultCurrencySymbol', '$' );
|
544 |
+
}
|
545 |
+
|
546 |
+
$cost = $currency . $cost;
|
547 |
+
}
|
548 |
+
|
549 |
+
return apply_filters( 'tribe_get_cost', $cost, $postId, $withCurrencySymbol );
|
550 |
+
}
|
551 |
+
|
552 |
+
/**
|
553 |
+
* Get the minimum cost of all events.
|
554 |
+
*
|
555 |
+
* @author PaulHughes01
|
556 |
+
* @since 2.1
|
557 |
+
* @return int the minimum cost.
|
558 |
+
*/
|
559 |
+
function tribe_get_minimum_cost() {
|
560 |
+
global $wpdb;
|
561 |
+
|
562 |
+
$costs = $wpdb->get_col( 'SELECT meta_value FROM ' . $wpdb->postmeta . ' WHERE meta_key = \'_EventCost\';' );
|
563 |
+
|
564 |
+
$costs = array_map( 'tribe_map_cost_array_callback', $costs );
|
565 |
+
foreach ( $costs as $index => $value ) {
|
566 |
+
$costs[$index] = preg_replace( '/^[^\d]+(\d+\.?\d*)?.*$/', '$1', $value );
|
567 |
+
}
|
568 |
+
if ( empty( $costs ) )
|
569 |
+
$costs = array( '0' );
|
570 |
+
|
571 |
+
$min = min( $costs );
|
572 |
+
if ( $min == '' )
|
573 |
+
$min = 0;
|
574 |
+
|
575 |
+
return $min;
|
576 |
+
}
|
577 |
+
|
578 |
+
/**
|
579 |
+
* Get the maximum cost of all events.
|
580 |
+
*
|
581 |
+
* @author PaulHughes01
|
582 |
+
* @since 2.1
|
583 |
+
* @return int the maximum cost.
|
584 |
+
*/
|
585 |
+
function tribe_get_maximum_cost() {
|
586 |
+
global $wpdb;
|
587 |
+
|
588 |
+
$costs = $wpdb->get_col( 'SELECT meta_value FROM ' . $wpdb->postmeta . ' WHERE meta_key = \'_EventCost\';' );
|
589 |
+
|
590 |
+
$costs = array_map( 'tribe_map_cost_array_callback', $costs );
|
591 |
+
foreach ( $costs as $index => $value ) {
|
592 |
+
$costs[$index] = preg_replace( '/^[^\d]+(\d+\.?\d*)?.*$/', '$1', $value );
|
593 |
+
}
|
594 |
+
|
595 |
+
if ( empty( $costs ) )
|
596 |
+
$costs = array( '0' );
|
597 |
+
|
598 |
+
$max = max( $costs );
|
599 |
+
if ( $max == '' )
|
600 |
+
$max = 0;
|
601 |
+
|
602 |
+
return $max;
|
603 |
+
}
|
604 |
+
|
605 |
+
/**
|
606 |
+
* Maps the cost array to make finding the minimum and maximum costs possible.
|
607 |
+
*
|
608 |
+
* @param array $costs
|
609 |
+
* @return array $costs
|
610 |
+
*/
|
611 |
+
function tribe_map_cost_array_callback( $costs ) {
|
612 |
+
return $costs;
|
613 |
+
}
|
614 |
+
|
615 |
+
/**
|
616 |
+
* Event in Category Conditional
|
617 |
+
*
|
618 |
+
* Returns true if the event is in the specified catagory slug
|
619 |
+
*
|
620 |
+
* @param string $event_cat_slug
|
621 |
+
* @param int $event_id
|
622 |
+
* @return boolean
|
623 |
+
* @since 2.0.2
|
624 |
+
*/
|
625 |
+
function tribe_event_in_category( $event_cat_slug, $event_id = null ) {
|
626 |
+
|
627 |
+
if ( empty( $event_id ) )
|
628 |
+
$event_id = get_the_ID();
|
629 |
+
|
630 |
+
$term = term_exists( $event_cat_slug, TribeEvents::TAXONOMY );
|
631 |
+
|
632 |
+
if ( tribe_is_event( $event_id ) && is_object_in_term( $event_id, TribeEvents::TAXONOMY, array( $term['term_id'] ) ) ) {
|
633 |
+
$return = true;
|
634 |
+
}else {
|
635 |
+
$return = false;
|
636 |
+
}
|
637 |
+
return apply_filters( 'tribe_event_in_category', $return );
|
638 |
+
}
|
639 |
+
|
640 |
+
/**
|
641 |
+
* Placeholder function that is used for ticketing plugins meant to be filtered by such plugins
|
642 |
+
*
|
643 |
+
* @author jkudish
|
644 |
+
* @since 2.1
|
645 |
+
* @return void
|
646 |
+
*/
|
647 |
+
function tribe_get_ticket_form() {
|
648 |
+
$ticket_form = apply_filters( 'tribe_get_ticket_form', false );
|
649 |
+
if ( $ticket_form && is_string( $ticket_form ) ) {
|
650 |
+
echo $ticket_form;
|
651 |
+
} else {
|
652 |
+
return $ticket_form;
|
653 |
+
}
|
654 |
+
}
|
655 |
+
|
656 |
+
/**
|
657 |
+
* helper function to remove empty lines from multi-line strings
|
658 |
+
*
|
659 |
+
* @since 2.0.5
|
660 |
+
* @author jkudish
|
661 |
+
* @link http://stackoverflow.com/questions/709669/how-do-i-remove-blank-lines-from-text-in-php
|
662 |
+
* @param string $multi_line_string a multiline string
|
663 |
+
* @return string the same string without empty lines
|
664 |
+
*/
|
665 |
+
function tribe_multi_line_remove_empty_lines( $multi_line_string ) {
|
666 |
+
return preg_replace( "/^\n+|^[\t\s]*\n+/m", '', $multi_line_string );
|
667 |
+
}
|
668 |
+
|
669 |
+
/**
|
670 |
+
* return the featured image html to an event (within the loop automatically will get event ID)
|
671 |
+
*
|
672 |
+
* @since 3.0
|
673 |
+
* @param int $post_id
|
674 |
+
* @param string $size
|
675 |
+
* @return string
|
676 |
+
*/
|
677 |
+
function tribe_event_featured_image( $post_id = null, $size = 'full' ) {
|
678 |
+
if ( is_null( $post_id ) )
|
679 |
+
$post_id = get_the_ID();
|
680 |
+
$image_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), $size );
|
681 |
+
$featured_image = '';
|
682 |
+
if ( !empty( $image_src ) ) {
|
683 |
+
$featured_image .= '<div class="tribe-events-event-image"><a href="'. tribe_get_event_link() .'" title="'. get_the_title( $post_id ) .'"><img src="'. $image_src[0] .'" title="'. get_the_title( $post_id ) .'" /></a></div>';
|
684 |
+
}
|
685 |
+
return apply_filters( 'tribe_event_featured_image', $featured_image, $post_id, $size, $image_src );
|
686 |
+
}
|
687 |
+
|
688 |
+
/**
|
689 |
+
* show the recurring event info in a tooltip
|
690 |
+
*
|
691 |
+
* return the details of the start/end date/time
|
692 |
+
*
|
693 |
+
* @since 3.0
|
694 |
+
* @param int $post_id
|
695 |
+
* @return string
|
696 |
+
*/
|
697 |
+
function tribe_events_event_recurring_info_tooltip( $post_id = null ) {
|
698 |
+
if ( is_null( $post_id ) )
|
699 |
+
$post_id = get_the_ID();
|
700 |
+
$tooltip = '';
|
701 |
+
if ( class_exists( 'TribeEventsPro' ) ) { // should this be a template tag?
|
702 |
+
if ( tribe_is_recurring_event( $post_id ) ) {
|
703 |
+
$tooltip .= '<div class="recurringinfo">';
|
704 |
+
$tooltip .= '<div class="event-is-recurring">';
|
705 |
+
$tooltip .= '<span class="tribe-events-divider">|</span>';
|
706 |
+
$tooltip .= __( 'Recurring Event', 'tribe-events-calendar' );
|
707 |
+
$tooltip .= sprintf(' <a href="%s">%s</a>',
|
708 |
+
tribe_all_occurences_link( $post_id, false ),
|
709 |
+
__( '(See all)', 'tribe-events-calendar' )
|
710 |
+
);
|
711 |
+
$tooltip .= '<div id="tribe-events-tooltip-'. $post_id .'" class="tribe-events-tooltip recurring-info-tooltip">';
|
712 |
+
$tooltip .= '<div class="tribe-events-event-body">';
|
713 |
+
$tooltip .= tribe_get_recurrence_text( $post_id );
|
714 |
+
$tooltip .= '</div>';
|
715 |
+
$tooltip .= '<span class="tribe-events-arrow"></span>';
|
716 |
+
$tooltip .= '</div>';
|
717 |
+
$tooltip .= '</div>';
|
718 |
+
$tooltip .= '</div>';
|
719 |
+
}
|
720 |
+
}
|
721 |
+
return apply_filters( 'tribe_events_event_recurring_info_tooltip', $tooltip );
|
722 |
+
}
|
723 |
+
|
724 |
+
/**
|
725 |
+
* Return the details of the start/end date/time
|
726 |
+
*
|
727 |
+
* @since 3.0
|
728 |
+
* @param int|null $event
|
729 |
+
* @return string
|
730 |
+
*/
|
731 |
+
function tribe_events_event_schedule_details( $event = null ) {
|
732 |
+
if ( is_null( $event ) ) {
|
733 |
+
global $post;
|
734 |
+
$event = $post;
|
735 |
+
}
|
736 |
+
if ( is_numeric( $event ) )
|
737 |
+
$event = get_post( $event );
|
738 |
+
|
739 |
+
$format = '';
|
740 |
+
$timeFormat = get_option( 'time_format' );
|
741 |
+
$microformatStartFormat = tribe_get_start_date( $event, false, 'Y-m-dTh:i' );
|
742 |
+
$microformatEndFormat = tribe_get_end_date( $event, false, 'Y-m-dTh:i' );
|
743 |
+
|
744 |
+
// If the WordPress date setting matches DATEONLYFORMAT, make the string more readable
|
745 |
+
if ( get_option( 'date_format' ) == TribeDateUtils::DATEONLYFORMAT ) {
|
746 |
+
/* If the event happens this year, no need to show the year, unless it ends on another year (multi-day) */
|
747 |
+
if ( tribe_get_start_date( $event, false, 'Y' ) === date( 'Y' ) && tribe_get_end_date( $event, false, 'Y' ) === date( 'Y' ) ) {
|
748 |
+
$format = 'F j';
|
749 |
+
}
|
750 |
+
}
|
751 |
+
|
752 |
+
$schedule = '';
|
753 |
+
|
754 |
+
if ( tribe_event_is_multiday( $event ) ) { // multi-date event
|
755 |
+
|
756 |
+
$format2ndday = $format;
|
757 |
+
|
758 |
+
// If the WordPress date setting matches DATEONLYFORMAT, make the string more readable
|
759 |
+
if ( get_option( 'date_format' ) == TribeDateUtils::DATEONLYFORMAT ) {
|
760 |
+
//If it's all day and the end date is in the same month and year, just show the day.
|
761 |
+
if ( tribe_event_is_all_day( $event ) && tribe_get_end_date( $event, false, 'm' ) === tribe_get_start_date( $event, false, 'm' ) && tribe_get_end_date( $event, false, 'Y' ) === date( 'Y' ) ) {
|
762 |
+
$format2ndday = 'j';
|
763 |
+
}
|
764 |
+
}
|
765 |
+
|
766 |
+
if ( tribe_event_is_all_day( $event ) ) {
|
767 |
+
// If the multi-day event begins and ends in the same month, just show the month once.
|
768 |
+
if ( tribe_get_end_date( $event, false, 'm' ) === tribe_get_start_date( $event, false, 'm' ) && tribe_get_end_date( $event, false, 'Y' ) === date( 'Y' ) ) {
|
769 |
+
$schedule .= '<span class="date-start dtstart">';
|
770 |
+
$schedule .= tribe_get_start_date( $event, true, $format );
|
771 |
+
$schedule .= '<span class="value-title" title="'. $microformatStartFormat .'"></span>';
|
772 |
+
$schedule .= '</span> - ';
|
773 |
+
$schedule .= '<span class="date-end dtend">';
|
774 |
+
$schedule .= tribe_get_end_date( $event, true, $format2ndday );
|
775 |
+
$schedule .= '<span class="value-title" title="'. $microformatEndFormat .'"></span>';
|
776 |
+
$schedule .= '</span>';
|
777 |
+
} else {
|
778 |
+
$schedule .= '<span class="date-start dtstart">';
|
779 |
+
$schedule .= tribe_get_start_date( $event, true, $format );
|
780 |
+
$schedule .= '<span class="value-title" title="'. $microformatStartFormat .'"></span>';
|
781 |
+
$schedule .= '</span> - ';
|
782 |
+
$schedule .= '<span class="date-end dtend">';
|
783 |
+
$schedule .= tribe_get_end_date( $event, true, $format2ndday );
|
784 |
+
$schedule .= '<span class="value-title" title="'. $microformatEndFormat .'"></span>';
|
785 |
+
$schedule .= '</span>';
|
786 |
+
}
|
787 |
+
} else {
|
788 |
+
$schedule .= '<span class="date-start dtstart">';
|
789 |
+
$schedule .= tribe_get_start_date( $event, false, $format ) . ' @ ' . tribe_get_start_date( $event, false, $timeFormat );
|
790 |
+
$schedule .= '<span class="value-title" title="'. $microformatStartFormat .'"></span>';
|
791 |
+
$schedule .= '</span> - ';
|
792 |
+
$schedule .= '<span class="date-end dtend">';
|
793 |
+
$schedule .= tribe_get_end_date( $event, false, $format2ndday ) . ' @ ' . tribe_get_end_date( $event, false, $timeFormat );
|
794 |
+
$schedule .= '<span class="value-title" title="'. $microformatEndFormat .'"></span>';
|
795 |
+
$schedule .= '</span>';
|
796 |
+
}
|
797 |
+
|
798 |
+
|
799 |
+
} elseif ( tribe_event_is_all_day( $event ) ) { // all day event
|
800 |
+
$schedule .= '<span class="date-start dtstart">';
|
801 |
+
$schedule .= tribe_get_start_date( $event, true, $format );
|
802 |
+
$schedule .= '<span class="value-title" title="'. $microformatStartFormat .'"></span>';
|
803 |
+
$schedule .= '</span>';
|
804 |
+
} else { // single day event
|
805 |
+
if ( tribe_get_start_date( $event, false, 'g:i A' ) === tribe_get_end_date( $event, false, 'g:i A' ) ) { // Same start/end time
|
806 |
+
$schedule .= '<span class="date-start dtstart">';
|
807 |
+
$schedule .= tribe_get_start_date( $event, false, $format ) . ' @ ' . tribe_get_start_date( $event, false, $timeFormat );
|
808 |
+
$schedule .= '<span class="value-title" title="'. $microformatStartFormat .'"></span>';
|
809 |
+
$schedule .= '</span>';
|
810 |
+
} else { // defined start/end time
|
811 |
+
$schedule .= '<span class="date-start dtstart">';
|
812 |
+
$schedule .= tribe_get_start_date( $event, false, $format ) . ' @ ' . tribe_get_start_date( $event, false, $timeFormat );
|
813 |
+
$schedule .= '<span class="value-title" title="'. $microformatStartFormat .'"></span>';
|
814 |
+
$schedule .= '</span> - ';
|
815 |
+
$schedule .= '<span class="end-time dtend">';
|
816 |
+
$schedule .= tribe_get_end_date( $event, false, $timeFormat ) . '<span class="value-title" title="'. $microformatEndFormat .'"></span>';
|
817 |
+
$schedule .= '</span>';
|
818 |
+
}
|
819 |
+
}
|
820 |
+
|
821 |
+
return apply_filters( 'tribe_events_event_schedule_details', $schedule );
|
822 |
+
}
|
823 |
+
|
824 |
+
/**
|
825 |
+
* Accepts two dates and returns the number of days between them
|
826 |
+
*
|
827 |
+
* @param string $start_date
|
828 |
+
* @param string $end_date
|
829 |
+
* @return int
|
830 |
+
* @author Modern Tribe
|
831 |
+
* @see TribeEventsQuery::dateDiff()
|
832 |
+
**/
|
833 |
+
function tribe_get_days_between( $start_date, $end_date ) {
|
834 |
+
|
835 |
+
$start_date = new DateTime( $start_date );
|
836 |
+
$end_date = new DateTime( $end_date );
|
837 |
+
// This doesn't work on php 5.2
|
838 |
+
// $interval = $start_date->diff($end_date);
|
839 |
+
|
840 |
+
return TribeEventsQuery::dateDiff( $start_date->format( 'Y-m-d' ), $end_date->format( 'Y-m-d' ) );
|
841 |
+
}
|
842 |
+
|
843 |
+
/**
|
844 |
+
* Accepts an array of query arguments, retrieves them, and returns the html for those events in list view
|
845 |
+
*
|
846 |
+
* Optional inline example:
|
847 |
+
* < code >
|
848 |
+
* <?php
|
849 |
+
* echo myfunction();
|
850 |
+
* ?>
|
851 |
+
* </ code >
|
852 |
+
*
|
853 |
+
* @param array $args Args to be passed to TribeEventsQuery::getEvents()
|
854 |
+
* @param bool $initialize Whether the list view template class needs to be included and initialized
|
855 |
+
* @return string
|
856 |
+
* @author Modern Tribe
|
857 |
+
**/
|
858 |
+
function tribe_include_view_list( $args = null, $initialize = true ) {
|
859 |
+
global $wp_query;
|
860 |
+
|
861 |
+
// hijack the main query to load the events via provided $args
|
862 |
+
if ( !is_null( $args ) || ! ( $wp_query->tribe_is_event || $wp_query->tribe_is_event_category ) ) {
|
863 |
+
$reset_q = $wp_query;
|
864 |
+
$wp_query = TribeEventsQuery::getEvents( $args, true );
|
865 |
+
}
|
866 |
+
|
867 |
+
// single-event notices are jumping in on this init when loading as a module
|
868 |
+
TribeEvents::removeNotice( 'event-past' );
|
869 |
+
|
870 |
+
// get the list view template
|
871 |
+
ob_start();
|
872 |
+
if ( $initialize ) {
|
873 |
+
tribe_initialize_view('Tribe_Events_List_Template');
|
874 |
+
}
|
875 |
+
tribe_get_view('list/content');
|
876 |
+
$list_view_html = ob_get_clean();
|
877 |
+
|
878 |
+
// fix the error of our ways
|
879 |
+
if ( !empty( $reset_q ) ) {
|
880 |
+
$wp_query = $reset_q;
|
881 |
+
}
|
882 |
+
|
883 |
+
// return the parsed template
|
884 |
+
return $list_view_html;
|
885 |
+
}
|
886 |
+
|
887 |
+
/**
|
888 |
+
* Generates html for any notices that have been queued on the current view
|
889 |
+
*
|
890 |
+
* @param bool $echo Whether or not to echo the notices html
|
891 |
+
* @return void | string
|
892 |
+
* @author Modern Tribe
|
893 |
+
* @see TribeEvents::getNotices()
|
894 |
+
**/
|
895 |
+
function tribe_events_the_notices( $echo = true ) {
|
896 |
+
$notices = TribeEvents::getNotices();
|
897 |
+
|
898 |
+
$html = !empty( $notices ) ? '<div class="tribe-events-notices"><ul><li>' . implode( '</li><li>', $notices ) . '</li></ul></div>' : '';
|
899 |
+
$the_notices = apply_filters( 'tribe_events_the_notices', $html, $notices );
|
900 |
+
if ( $echo ) {
|
901 |
+
echo $the_notices;
|
902 |
+
} else {
|
903 |
+
return $the_notices;
|
904 |
+
}
|
905 |
+
}
|
906 |
+
|
907 |
+
/**
|
908 |
+
* Get a list of the views that are enabled
|
909 |
+
*
|
910 |
+
* @param array $views Default list of views
|
911 |
+
* @return array
|
912 |
+
* @author Modern Tribe
|
913 |
+
* @see tribeEnableViews option
|
914 |
+
**/
|
915 |
+
function tribe_events_enabled_views( $views ) {
|
916 |
+
$enabled_views_defaults = array();
|
917 |
+
foreach ( $views as $view ) {
|
918 |
+
$enabled_views_defaults[] = $view['displaying'];
|
919 |
+
}
|
920 |
+
return tribe_get_option( 'tribeEnableViews', $enabled_views_defaults );
|
921 |
+
}
|
922 |
+
|
923 |
+
/**
|
924 |
+
* Get a list of the views that are disabled
|
925 |
+
*
|
926 |
+
* @return array
|
927 |
+
* @author Modern Tribe
|
928 |
+
**/
|
929 |
+
function tribe_events_disabled_views() {
|
930 |
+
static $disabled;
|
931 |
+
if ( isset( $disabled ) ) {
|
932 |
+
return $disabled;
|
933 |
+
}
|
934 |
+
$views = apply_filters( 'tribe-events-bar-views', array(), false );
|
935 |
+
$enabled = tribe_events_enabled_views( $views );
|
936 |
+
$disabled = array();
|
937 |
+
foreach ( $views as $view ) {
|
938 |
+
if ( !in_array( $view['displaying'], $enabled ) ) {
|
939 |
+
if ( $view['displaying'] == 'upcoming' )
|
940 |
+
$disabled[] = 'past';
|
941 |
+
$disabled[] = $view['displaying'];
|
942 |
+
}
|
943 |
+
}
|
944 |
+
return $disabled;
|
945 |
+
}
|
946 |
+
|
947 |
+
/**
|
948 |
+
* tribe_is_bot checks if the visitor is a bot and returns status
|
949 |
+
*
|
950 |
+
* @return bool
|
951 |
+
*/
|
952 |
+
function tribe_is_bot() {
|
953 |
+
// get the current user agent
|
954 |
+
$user_agent = strtolower( $_SERVER['HTTP_USER_AGENT'] );
|
955 |
+
|
956 |
+
// check if the user agent is empty since most browsers identify themselves, so possibly a bot
|
957 |
+
if ( empty( $user_agent ) )
|
958 |
+
return apply_filters( 'tribe_is_bot_status', true, $user_agent, null );
|
959 |
+
|
960 |
+
// declare known bot user agents (lowercase)
|
961 |
+
$user_agent_bots = (array) apply_filters( 'tribe_is_bot_list', array( 'bot', 'slurp', 'spider', 'crawler', 'yandex' ) );
|
962 |
+
|
963 |
+
foreach( $user_agent_bots as $bot ){
|
964 |
+
if( stripos($user_agent, $bot) !== false )
|
965 |
+
return apply_filters( 'tribe_is_bot_status', true, $user_agent, $bot );
|
966 |
+
}
|
967 |
+
|
968 |
+
// we think this is probably a real human
|
969 |
+
return apply_filters( 'tribe_is_bot_status', false, $user_agent, null );
|
970 |
+
}
|
971 |
+
|
972 |
+
/**
|
973 |
+
* Display the Events Calendar promo banner
|
974 |
+
*
|
975 |
+
* @param bool $echo Whether or not to echo the banner, if false, it's returned
|
976 |
+
* @return void|string
|
977 |
+
**/
|
978 |
+
function tribe_events_promo_banner( $echo = true ){
|
979 |
+
if ( tribe_get_option( 'donate-link', false ) == true && !tribe_is_bot() ) {
|
980 |
+
$promo = apply_filters( 'tribe_events_promo_banner_message', sprintf( __( 'Calendar powered by %sThe Events Calendar%s', 'tribe-events-calendar' ), '<a class="vcard url org fn" href="' . TribeEvents::$tribeUrl . 'wordpress-events-calendar/?utm_medium=plugin-tec&utm_source=banner&utm_campaign=in-app">', '</a>' ) );
|
981 |
+
$html = apply_filters( 'tribe_events_promo_banner', sprintf( '<p class="tribe-events-promo">%s</p>', $promo ), $promo );
|
982 |
+
if( $echo ) {
|
983 |
+
echo $html;
|
984 |
+
} else {
|
985 |
+
return $html;
|
986 |
+
}
|
987 |
+
}
|
988 |
+
}
|
989 |
+
|
990 |
+
/**
|
991 |
+
* Return the filters registered in the tribe bar
|
992 |
+
*
|
993 |
+
* @return array
|
994 |
+
* @author Jessica Yazbek
|
995 |
+
* @since 3.0
|
996 |
+
**/
|
997 |
+
function tribe_events_get_filters() {
|
998 |
+
return apply_filters('tribe-events-bar-filters', array());
|
999 |
+
}
|
1000 |
+
|
1001 |
+
/**
|
1002 |
+
* Return the views registered in the tribe bar
|
1003 |
+
*
|
1004 |
+
* @return array
|
1005 |
+
* @author Jessica Yazbek
|
1006 |
+
* @since 3.0
|
1007 |
+
**/
|
1008 |
+
function tribe_events_get_views() {
|
1009 |
+
return apply_filters('tribe-events-bar-views', array());
|
1010 |
+
}
|
1011 |
+
|
1012 |
+
/**
|
1013 |
+
* Count keys in a hierarchical array
|
1014 |
+
*
|
1015 |
+
* @param $value
|
1016 |
+
* @param $key
|
1017 |
+
*/
|
1018 |
+
function tribe_count_hierarchical_keys( $value, $key ) {
|
1019 |
+
global $tribe_count_hierarchical_increment;
|
1020 |
+
$tribe_count_hierarchical_increment++;
|
1021 |
+
}
|
1022 |
+
|
1023 |
+
/**
|
1024 |
+
* Count items in a hierarchical array
|
1025 |
+
*
|
1026 |
+
* @param array $walk
|
1027 |
+
* @return int
|
1028 |
+
*/
|
1029 |
+
function tribe_count_hierarchical( array $walk ) {
|
1030 |
+
global $tribe_count_hierarchical_increment;
|
1031 |
+
$tribe_count_hierarchical_increment = 0;
|
1032 |
+
array_walk_recursive( $walk, 'tribe_count_hierarchical_keys' );
|
1033 |
+
return $tribe_count_hierarchical_increment;
|
1034 |
+
}
|
1035 |
+
|
1036 |
+
}
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: events, calendar, event, venue, organizer, dates, date, google maps, confe
|
|
5 |
Donate link: http://m.tri.be/29
|
6 |
Requires at least: 3.5
|
7 |
Tested up to: 3.6
|
8 |
-
Stable tag: 3.0.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -259,6 +259,18 @@ Our Premium Plugins:
|
|
259 |
|
260 |
3.0 is a complete overhaul of the plugin, and as a result we're starting the changelog fresh. For release notes from the 2.x lifecycle, see <a href="http://m.tri.be/k">our 2.x release notes.</a>
|
261 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
262 |
= 3.0.1 =
|
263 |
|
264 |
* Added setting for number of events per day on month view (under Events > Settings > Display)
|
5 |
Donate link: http://m.tri.be/29
|
6 |
Requires at least: 3.5
|
7 |
Tested up to: 3.6
|
8 |
+
Stable tag: 3.0.2
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
259 |
|
260 |
3.0 is a complete overhaul of the plugin, and as a result we're starting the changelog fresh. For release notes from the 2.x lifecycle, see <a href="http://m.tri.be/k">our 2.x release notes.</a>
|
261 |
|
262 |
+
= 3.0.2 =
|
263 |
+
|
264 |
+
* Fixed bug with queries that included more than one post type. This should resolve issues with "Link to Existing Content" in the WordPress editor, attaching media to posts from the Media Library, and relationship fields in the Advanced Custom Fields plugin (thanks to users KARKS88 and ANDYWILMOT for catching this!)
|
265 |
+
* Fixed 404 in page title on month view when no events are in the month, and other 404-related tweaks (thanks to CYNTHIA, JOHN and ELLAEARTH for catching these)
|
266 |
+
* CSS files in the tribe-events directory of your theme are now loaded in addition to TEC css files, instead of replacing them
|
267 |
+
* Removed Select2 dependency in the Tribe Bar
|
268 |
+
* Fixed various issues with the Events List widget (thanks to DUVALDEMOCRATS and ZAVASTORONTO for the heads up)
|
269 |
+
* Tag permalinks are no longer malformed in tag cloud widget and single event pages (thanks to MARC for catching this)
|
270 |
+
* Addressed some previously non-translatable strings in the Tribe Bar
|
271 |
+
* Long event costs no longer overflow the designed box in list view
|
272 |
+
* Various minor bug fixes
|
273 |
+
|
274 |
= 3.0.1 =
|
275 |
|
276 |
* Added setting for number of events per day on month view (under Events > Settings > Display)
|
resources/events-admin.min.js
CHANGED
@@ -4,7 +4,7 @@ d=a(this).data("datepicker");b=a.datepicker.parseDate(d.settings.dateFormat||a.d
|
|
4 |
var m=[29,31,28,31,30,31,30,31,31,30,31,30,31],p=[a("#28StartDays"),a("#29StartDays"),a("#30StartDays"),a("#31StartDays")],q=[a("#28EndDays"),a("#29EndDays"),a("#30EndDays"),a("#31EndDays")];a("select[name='EventStartMonth'], select[name='EventEndMonth']").change(function(){var b=a(this),c=b.attr("name"),c="EventStartMonth"==c?"Start":"End",b=b.attr("value");"0"==b.charAt(0)&&(b=b.replace("0",""));var d=a("select[name='Event"+c+"Year']").attr("value")%4;2==b&&0==d&&(b=0);d=a("select[name='Event"+
|
5 |
c+"Day']");a(".event"+c+"DateField").remove();"Start"==c?(c=p[m[b]-28],c.val(d.val()),a("select[name='EventStartMonth']").after(c)):(c=q[m[b]-28],c.val(d.val()),a('select[name="EventEndMonth"]').after(c))});a("select[name='EventStartMonth'], select[name='EventEndMonth']").change();a("select[name='EventStartYear']").change(function(){a("select[name='EventStartMonth']").change()});a("select[name='EventEndYear']").change(function(){a("select[name='EventEndMonth']").change()});a("form[name='post']").submit(function(){!0===
|
6 |
a("#isEventNo").attr("checked")||a("#isEventNo").attr("checked");return!0});var k=a(".venue"),d=a("#saved_venue");0<d.size()&&("0"!=d.val()&&!a(".nosaved").get(0))&&(k.hide(),a('[name="venue[Venue]"]').val(""));d.change(function(){"0"==a(this).val()?(k.fadeIn(),a("#EventCountry").val(0).trigger("liszt:updated"),a("#StateProvinceSelect").val(0).trigger("liszt:updated"),g("")):k.fadeOut()});var h=a(".organizer"),d=a("#saved_organizer");0<d.size()&&("0"!=d.val()&&!a(".nosaved_organizer").get(0))&&(h.hide(),
|
7 |
-
a("input",h).val(""));d.change(function(){"0"==a(this).val()?h.fadeIn():h.fadeOut()})}g(a("#EventCountry > option:selected").val());a("#EventCountry").change(function(){var b=a(this).find("option:selected").val();g(b)});"true"
|
8 |
a('[name="recurrence[end]"]').datepicker("option","onSelect",d));a('[name="recurrence[end]"]').datepicker("option","onSelect",function(){a('[name="recurrence[end]"]').removeClass("placeholder")});a(".wp-admin.events-cal.edit-php #doaction").click(function(b){if("trash"==a("[name='action'] option:selected").val())if(confirm("Are you sure you want to trash all occurrences of these events? All recurrence data will be lost.")){var c=[];a('[name="post[]"]:checked').each(function(){var b=a(this).val();
|
9 |
c[b]&&a(this).prop("checked",!1);c[b]=!0})}else b.preventDefault()});a("#EventInfo input, #EventInfo select").change(function(){a(".rec-error").hide()});var e=a('.wp-admin.events-cal #post #publishing-action input[type="submit"]');e.click(function(b){a(this).data("clicked",!0)});a(".wp-admin.events-cal #post").submit(function(b){var c=a(this);f()&&(b.preventDefault(),a("#recurring-dialog").dialog({modal:!0,buttons:[{text:"Only This Event",click:function(){a('[name="recurrence_action"]').val(3);e.data("clicked")&&
|
10 |
a('<input type="hidden" name="'+e.attr("name")+'" value="'+e.val()+'"/>').appendTo(c);a(this).dialog("close");c.submit()}},{text:"All Events",click:function(){a('[name="recurrence_action"]').val(2);e.data("clicked")&&a('<input type="hidden" name="'+e.attr("name")+'" value="'+e.val()+'"/>').appendTo(c);a(this).dialog("close");c.submit()}}],close:function(){e.data("clicked",null)}}))});a(".wp-admin.events-cal .submitdelete").click(function(b){var c=a(this);f()&&(b.preventDefault(),a("#deletion-dialog").dialog({modal:!0,
|
@@ -13,5 +13,5 @@ a("#recurrence-end").show(),a("#custom-recurrence-frequency").hide())});a('[name
|
|
13 |
a("#recurrence_end_count").change(function(){a('[name="recurrence[type]"]').change()});a('[name="recurrence[type]"]').change(function(){var b=a(this).find("option:selected"),c=a("#recurrence_end_count").val();a("#occurence-count-text").text(1==c?b.data("single"):b.data("plural"));a('[name="recurrence[occurrence-count-text]"]').val(a("#occurence-count-text").text())});a('[name="recurrence[custom-month-number]"]').change(function(){var b=a(this).find("option:selected"),c=a('[name="recurrence[custom-month-day]"]');
|
14 |
isNaN(b.val())?c.show():c.hide()});a("#icon-edit").hasClass("icon32-posts-tribe_venue")&&a("#menu-posts-tribe_events, #menu-posts-tribe_events a.wp-has-submenu").addClass("wp-menu-open wp-has-current-submenu").removeClass("wp-not-current-submenu").find("li:contains('Venues')").addClass("current");a("#icon-edit").hasClass("icon32-posts-tribe_organizer")&&a("#menu-posts-tribe_events, #menu-posts-tribe_events a.wp-has-submenu").addClass("wp-menu-open wp-has-current-submenu").removeClass("wp-not-current-submenu").find("li:contains('Organizers')").addClass("current");
|
15 |
if(a("#tribe-field-tribeEnableViews").length)a("#tribe-field-tribeEnableViews").on("change","input:checkbox",function(){reset_val=!1;1>jQuery('[name="tribeEnableViews[]"]:checked').size()?(a(this).attr("checked",!0),a("#tribe-field-tribeEnableViews .tribe-field-wrap p.description").css("color","red")):a("#tribe-field-tribeEnableViews .tribe-field-wrap p.description").removeAttr("style");a('select[name="viewOption"] option').each(function(b,c){option_val=a(this).val();a("#tribe-field-tribeEnableViews input[value="+
|
16 |
-
option_val+"]").is(":checked")?a(this).prop("disabled",!1):(a(this).removeProp("selected"),a(this).prop("disabled",!0))});views=[];a('[name="tribeEnableViews[]"]:checked').each(function(){views.push(a(this).val())});
|
17 |
jQuery(document).ajaxSuccess(function(a,g,f){"undefined"!==typeof f&&("undefined"!==typeof f.data&&-1!=f.data.search("action=save-widget"))&&jQuery("#widgets-right .chosen").chosen()});
|
4 |
var m=[29,31,28,31,30,31,30,31,31,30,31,30,31],p=[a("#28StartDays"),a("#29StartDays"),a("#30StartDays"),a("#31StartDays")],q=[a("#28EndDays"),a("#29EndDays"),a("#30EndDays"),a("#31EndDays")];a("select[name='EventStartMonth'], select[name='EventEndMonth']").change(function(){var b=a(this),c=b.attr("name"),c="EventStartMonth"==c?"Start":"End",b=b.attr("value");"0"==b.charAt(0)&&(b=b.replace("0",""));var d=a("select[name='Event"+c+"Year']").attr("value")%4;2==b&&0==d&&(b=0);d=a("select[name='Event"+
|
5 |
c+"Day']");a(".event"+c+"DateField").remove();"Start"==c?(c=p[m[b]-28],c.val(d.val()),a("select[name='EventStartMonth']").after(c)):(c=q[m[b]-28],c.val(d.val()),a('select[name="EventEndMonth"]').after(c))});a("select[name='EventStartMonth'], select[name='EventEndMonth']").change();a("select[name='EventStartYear']").change(function(){a("select[name='EventStartMonth']").change()});a("select[name='EventEndYear']").change(function(){a("select[name='EventEndMonth']").change()});a("form[name='post']").submit(function(){!0===
|
6 |
a("#isEventNo").attr("checked")||a("#isEventNo").attr("checked");return!0});var k=a(".venue"),d=a("#saved_venue");0<d.size()&&("0"!=d.val()&&!a(".nosaved").get(0))&&(k.hide(),a('[name="venue[Venue]"]').val(""));d.change(function(){"0"==a(this).val()?(k.fadeIn(),a("#EventCountry").val(0).trigger("liszt:updated"),a("#StateProvinceSelect").val(0).trigger("liszt:updated"),g("")):k.fadeOut()});var h=a(".organizer"),d=a("#saved_organizer");0<d.size()&&("0"!=d.val()&&!a(".nosaved_organizer").get(0))&&(h.hide(),
|
7 |
+
a("input",h).val(""));d.change(function(){"0"==a(this).val()?h.fadeIn():h.fadeOut()})}g(a("#EventCountry > option:selected").val());a("#EventCountry").change(function(){var b=a(this).find("option:selected").val();g(b)});"true"!=a('[name="is_recurring"]').val()||a('[name="recurrence_action"]').val()||(d=function(){a("#recurrence-changed-row").show();a('[name="recurrence_action"]').val(2)},a(".recurrence-row input, .custom-recurrence-row input,.recurrence-row select, .custom-recurrence-row select").change(d),
|
8 |
a('[name="recurrence[end]"]').datepicker("option","onSelect",d));a('[name="recurrence[end]"]').datepicker("option","onSelect",function(){a('[name="recurrence[end]"]').removeClass("placeholder")});a(".wp-admin.events-cal.edit-php #doaction").click(function(b){if("trash"==a("[name='action'] option:selected").val())if(confirm("Are you sure you want to trash all occurrences of these events? All recurrence data will be lost.")){var c=[];a('[name="post[]"]:checked').each(function(){var b=a(this).val();
|
9 |
c[b]&&a(this).prop("checked",!1);c[b]=!0})}else b.preventDefault()});a("#EventInfo input, #EventInfo select").change(function(){a(".rec-error").hide()});var e=a('.wp-admin.events-cal #post #publishing-action input[type="submit"]');e.click(function(b){a(this).data("clicked",!0)});a(".wp-admin.events-cal #post").submit(function(b){var c=a(this);f()&&(b.preventDefault(),a("#recurring-dialog").dialog({modal:!0,buttons:[{text:"Only This Event",click:function(){a('[name="recurrence_action"]').val(3);e.data("clicked")&&
|
10 |
a('<input type="hidden" name="'+e.attr("name")+'" value="'+e.val()+'"/>').appendTo(c);a(this).dialog("close");c.submit()}},{text:"All Events",click:function(){a('[name="recurrence_action"]').val(2);e.data("clicked")&&a('<input type="hidden" name="'+e.attr("name")+'" value="'+e.val()+'"/>').appendTo(c);a(this).dialog("close");c.submit()}}],close:function(){e.data("clicked",null)}}))});a(".wp-admin.events-cal .submitdelete").click(function(b){var c=a(this);f()&&(b.preventDefault(),a("#deletion-dialog").dialog({modal:!0,
|
13 |
a("#recurrence_end_count").change(function(){a('[name="recurrence[type]"]').change()});a('[name="recurrence[type]"]').change(function(){var b=a(this).find("option:selected"),c=a("#recurrence_end_count").val();a("#occurence-count-text").text(1==c?b.data("single"):b.data("plural"));a('[name="recurrence[occurrence-count-text]"]').val(a("#occurence-count-text").text())});a('[name="recurrence[custom-month-number]"]').change(function(){var b=a(this).find("option:selected"),c=a('[name="recurrence[custom-month-day]"]');
|
14 |
isNaN(b.val())?c.show():c.hide()});a("#icon-edit").hasClass("icon32-posts-tribe_venue")&&a("#menu-posts-tribe_events, #menu-posts-tribe_events a.wp-has-submenu").addClass("wp-menu-open wp-has-current-submenu").removeClass("wp-not-current-submenu").find("li:contains('Venues')").addClass("current");a("#icon-edit").hasClass("icon32-posts-tribe_organizer")&&a("#menu-posts-tribe_events, #menu-posts-tribe_events a.wp-has-submenu").addClass("wp-menu-open wp-has-current-submenu").removeClass("wp-not-current-submenu").find("li:contains('Organizers')").addClass("current");
|
15 |
if(a("#tribe-field-tribeEnableViews").length)a("#tribe-field-tribeEnableViews").on("change","input:checkbox",function(){reset_val=!1;1>jQuery('[name="tribeEnableViews[]"]:checked').size()?(a(this).attr("checked",!0),a("#tribe-field-tribeEnableViews .tribe-field-wrap p.description").css("color","red")):a("#tribe-field-tribeEnableViews .tribe-field-wrap p.description").removeAttr("style");a('select[name="viewOption"] option').each(function(b,c){option_val=a(this).val();a("#tribe-field-tribeEnableViews input[value="+
|
16 |
+
option_val+"]").is(":checked")?a(this).prop("disabled",!1):(a(this).removeProp("selected"),a(this).prop("disabled",!0))});views=[];a('[name="tribeEnableViews[]"]:checked').each(function(){views.push(a(this).val())});"undefined"!=typeof a('select[name="viewOption"] option:selected').first().val()&&a.inArray(a('select[name="viewOption"] option:selected').first().val(),views)||a('select[name="viewOption"] option').not(":disabled").first().attr("selected","selected");a('select[name="viewOption"]').trigger("change")})});
|
17 |
jQuery(document).ajaxSuccess(function(a,g,f){"undefined"!==typeof f&&("undefined"!==typeof f.data&&-1!=f.data.search("action=save-widget"))&&jQuery("#widgets-right .chosen").chosen()});
|
resources/tickets.min.js
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
var ticketHeaderImage=window.ticketHeaderImage||{};
|
2 |
(function(m,a,n){ticketHeaderImage={uploader:function(){var a=wp.media({title:HeaderImageData.title,multiple:!1,library:{type:"image"},button:{text:HeaderImageData.button}});a.on("close",function(){var c=a.state().get("selection").toJSON();c.length&&ticketHeaderImage.render(c[0])});a.open();return!1},render:function(e){a("#tribe_ticket_header_preview").html(ticketHeaderImage.imgHTML(e));a("#tribe_ticket_header_image_id").val(e.id);a("#tribe_ticket_header_remove").show()},imgHTML:function(a){var c=
|
3 |
'<img src="'+a.url+'" ',c=c+('width="'+a.width+'" '),c=c+('height="'+a.height+'" ');return c+"/>"}};a(document).ready(function(){function e(){a("a#ticket_form_toggle").show();a("#ticket_form input:not(:button):not(:radio):not(:checkbox)").val("");a("#ticket_form input:checkbox").attr("checked",!1);a("#ticket_form textarea").val("");a("#ticket_form").hide()}function c(){jQuery("#event_tickets").css("opacity","0.5");jQuery("#tribe-loading").show()}function g(){jQuery("#event_tickets").css("opacity",
|
4 |
-
"1");jQuery("#tribe-loading").hide()}var f={dateFormat:"yy-mm-dd",showAnim:"fadeIn",changeMonth:!0,changeYear:!0,numberOfMonths:3,showButtonPanel:!0,onChange:function(){alert("lala")},onSelect:function(b,l){var d=a.datepicker.parseDate("yy-mm-dd",b);"ticket_start_date"===l.id?a("#ticket_end_date").datepicker("option","minDate",d):a("#ticket_start_date").datepicker("option","maxDate",d)}};a("#ticket_start_date").datepicker(f).keyup(function(b){
|
5 |
-
a("#ticket_end_date").datepicker(f).keyup(function(b){
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
a("#
|
10 |
-
|
11 |
-
|
12 |
-
f.
|
1 |
var ticketHeaderImage=window.ticketHeaderImage||{};
|
2 |
(function(m,a,n){ticketHeaderImage={uploader:function(){var a=wp.media({title:HeaderImageData.title,multiple:!1,library:{type:"image"},button:{text:HeaderImageData.button}});a.on("close",function(){var c=a.state().get("selection").toJSON();c.length&&ticketHeaderImage.render(c[0])});a.open();return!1},render:function(e){a("#tribe_ticket_header_preview").html(ticketHeaderImage.imgHTML(e));a("#tribe_ticket_header_image_id").val(e.id);a("#tribe_ticket_header_remove").show()},imgHTML:function(a){var c=
|
3 |
'<img src="'+a.url+'" ',c=c+('width="'+a.width+'" '),c=c+('height="'+a.height+'" ');return c+"/>"}};a(document).ready(function(){function e(){a("a#ticket_form_toggle").show();a("#ticket_form input:not(:button):not(:radio):not(:checkbox)").val("");a("#ticket_form input:checkbox").attr("checked",!1);a("#ticket_form textarea").val("");a("#ticket_form").hide()}function c(){jQuery("#event_tickets").css("opacity","0.5");jQuery("#tribe-loading").show()}function g(){jQuery("#event_tickets").css("opacity",
|
4 |
+
"1");jQuery("#tribe-loading").hide()}var f={dateFormat:"yy-mm-dd",showAnim:"fadeIn",changeMonth:!0,changeYear:!0,numberOfMonths:3,showButtonPanel:!0,onChange:function(){alert("lala")},onSelect:function(b,l){var d=a.datepicker.parseDate("yy-mm-dd",b);"ticket_start_date"===l.id?a("#ticket_end_date").datepicker("option","minDate",d):a("#ticket_start_date").datepicker("option","maxDate",d)}};a("#ticket_start_date").datepicker(f).keyup(function(b){8!=b.keyCode&&46!=b.keyCode||a.datepicker._clearDate(this)});
|
5 |
+
a("#ticket_end_date").datepicker(f).keyup(function(b){8!=b.keyCode&&46!=b.keyCode||a.datepicker._clearDate(this)});a("input[name=ticket_provider]:radio").change(function(){a("tr.ticket_advanced").hide();a("tr.ticket_advanced_"+this.value).show()});a("input[name=ticket_provider]:checked").each(function(){a("tr.ticket_advanced").hide();a("tr.ticket_advanced_"+this.value).show()});a("a#ticket_form_toggle").click(function(b){a("h4.ticket_form_title_edit").hide();a("h4.ticket_form_title_add").show();a(this).hide();
|
6 |
+
e();a("#ticket_form").show();a("html, body").animate({scrollTop:a("#ticket_form_table").offset().top-50},500);b.preventDefault()});a("#ticket_form_cancel").click(function(){e();a("html, body").animate({scrollTop:a("#event_tickets").offset().top-50},500)});a("#ticket_form_save").click(function(){c();var b={action:"tribe-ticket-add-"+a("input[name=ticket_provider]:checked").val(),formdata:a(".ticket_field").serialize(),post_ID:a("#post_ID").val(),nonce:TribeTickets.add_ticket_nonce};a.post(ajaxurl,
|
7 |
+
b,function(b){b.success&&(e(),a("td.ticket_list_container").empty().html(b.data))},"json").complete(function(){a("html, body").animate({scrollTop:a("#event_tickets").offset().top-50},500);g()})});a("#tribetickets").on("click",".ticket_delete",function(b){b.preventDefault();c();b={action:"tribe-ticket-delete-"+a(this).attr("attr-provider"),post_ID:a("#post_ID").val(),ticket_id:a(this).attr("attr-ticket-id"),nonce:TribeTickets.remove_ticket_nonce};a.post(ajaxurl,b,function(b){b.success&&(e(),a("td.ticket_list_container").empty().html(b.data))},
|
8 |
+
"json").complete(function(){g()})});a("#tribetickets").on("click",".ticket_edit",function(b){b.preventDefault();a("h4.ticket_form_title_edit").show();a("h4.ticket_form_title_add").hide();c();b={action:"tribe-ticket-edit-"+a(this).attr("attr-provider"),post_ID:a("#post_ID").val(),ticket_id:a(this).attr("attr-ticket-id"),nonce:TribeTickets.edit_ticket_nonce};a.post(ajaxurl,b,function(b){e();a("#ticket_id").val(b.data.ID);a("#ticket_name").val(b.data.name);a("#ticket_description").val(b.data.description);
|
9 |
+
a("#ticket_price").val(b.data.price);a("#ticket_start_date").val(b.data.start_date.substring(0,10));a("#ticket_end_date").val(b.data.end_date.substring(0,10));if(b.data.start_date){var d=b.data.start_date.substring(11,13),c="am";12<parseInt(d)&&(c="pm",d=parseInt(d)-12,d=("0"+d).slice(-2));12===parseInt(d)&&(c="pm");a("#ticket_start_hour").val(d);a("#ticket_start_meridian").val(c)}b.data.end_date&&(d=b.data.end_date.substring(11,13),c="am",12<parseInt(d)&&(c="pm",d=parseInt(d)-12,d=("0"+d).slice(-2)),
|
10 |
+
12===parseInt(d)&&(c="pm"),a("#ticket_end_hour").val(d),a("#ticket_end_meridian").val(c),a("#ticket_start_minute").val(b.data.start_date.substring(14,16)),a("#ticket_end_minute").val(b.data.end_date.substring(14,16)));a("tr.ticket_advanced_"+b.data.provider_class).remove();a("tr.ticket.bottom").before(b.data.advanced_fields);a("input:radio[name=ticket_provider]").filter("[value="+b.data.provider_class+"]").click();a("a#ticket_form_toggle").hide();a("#ticket_form").show()},"json").complete(function(){a("html, body").animate({scrollTop:a("#ticket_form_table").offset().top-
|
11 |
+
50},500);g()})}).on("click","#tribe_ticket_header_image",function(a){a.preventDefault();ticketHeaderImage.uploader("","")});var h=a("#tribe_ticket_header_remove"),k=a("#tribe_ticket_header_preview");k.find("img").length&&h.show();h.live("click",function(b){b.preventDefault();k.html("");h.hide();a("#tribe_ticket_header_image_id").val("")});a("#tribe_ticket_header_preview img").length&&(f=a("#tribe_ticket_header_preview img"),f.removeAttr("width").removeAttr("height"),a("#tribetickets").width()<f.width()&&
|
12 |
+
f.css("width","95%"))})})(window,jQuery);
|
resources/tribe-events-bar.js
CHANGED
@@ -38,6 +38,7 @@ var tribe_events_bar_action;
|
|
38 |
$(document).ready(function () {
|
39 |
var $tribebar = $('#tribe-bar-form'),
|
40 |
$tribedate = $('#tribe-bar-date');
|
|
|
41 |
|
42 |
/**
|
43 |
* @function eventsBarWidth
|
@@ -102,13 +103,67 @@ var tribe_events_bar_action;
|
|
102 |
$('#tribe-events-bar').addClass('tribe-has-datepicker');
|
103 |
}
|
104 |
|
105 |
-
// Implement placeholder
|
106 |
-
$('input[name*="tribe-bar-"]').placeholder();
|
107 |
-
|
108 |
// Implement select2
|
109 |
function format(view) {
|
110 |
return '<span class="tribe-icon-' + $.trim(view.text.toLowerCase()) + '">' + view.text + '</span>';
|
111 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
|
113 |
|
114 |
// trying to add a unique class to the select2 dropdown if the tribe bar is mini
|
@@ -133,18 +188,6 @@ var tribe_events_bar_action;
|
|
133 |
}
|
134 |
}
|
135 |
|
136 |
-
$('#tribe-bar-views .tribe-select2').select2(select2_opts);
|
137 |
-
|
138 |
-
$tribebar.on('click', '#tribe-bar-views', function (e) {
|
139 |
-
e.stopPropagation();
|
140 |
-
var $this = $(this);
|
141 |
-
$this.toggleClass('tribe-bar-views-open');
|
142 |
-
if (!$this.is('.tribe-bar-views-open'))
|
143 |
-
$('#tribe-bar-views .tribe-select2').select2('close');
|
144 |
-
else
|
145 |
-
$('#tribe-bar-views .tribe-select2').select2('open');
|
146 |
-
});
|
147 |
-
|
148 |
$tribebar.on('click', '#tribe-bar-collapse-toggle', function () {
|
149 |
$(this).toggleClass('tribe-bar-filters-open');
|
150 |
$('.tribe-bar-filters').slideToggle('fast');
|
@@ -162,7 +205,7 @@ var tribe_events_bar_action;
|
|
162 |
|
163 |
|
164 |
// Implement our views bit
|
165 |
-
$
|
166 |
ts.cur_url = $(this).val();
|
167 |
ts.view_target = $('select[name=tribe-bar-view] option[value="' + ts.cur_url + '"]').data('view');
|
168 |
tribe_events_bar_action = 'change_view';
|
38 |
$(document).ready(function () {
|
39 |
var $tribebar = $('#tribe-bar-form'),
|
40 |
$tribedate = $('#tribe-bar-date');
|
41 |
+
$tribebarselect = $('select[name=tribe-bar-view]');
|
42 |
|
43 |
/**
|
44 |
* @function eventsBarWidth
|
103 |
$('#tribe-events-bar').addClass('tribe-has-datepicker');
|
104 |
}
|
105 |
|
|
|
|
|
|
|
106 |
// Implement select2
|
107 |
function format(view) {
|
108 |
return '<span class="tribe-icon-' + $.trim(view.text.toLowerCase()) + '">' + view.text + '</span>';
|
109 |
}
|
110 |
+
// Implement placeholder
|
111 |
+
$('input[name*="tribe-bar-"]').placeholder();
|
112 |
+
|
113 |
+
// Create list
|
114 |
+
$('<ul class="tribe-bar-views-list" />').insertAfter( $tribebarselect );
|
115 |
+
|
116 |
+
var $tribebarviews = $('.tribe-bar-views-list');
|
117 |
+
|
118 |
+
// Create list from select options
|
119 |
+
$tribebarselect.find('option').each(function(i){
|
120 |
+
view = this;
|
121 |
+
// build list items and append them
|
122 |
+
$('<li></li>', {
|
123 |
+
'class': 'tribe-bar-views-option',
|
124 |
+
'data-tribe-bar-order': i,
|
125 |
+
'data-view': $(view).data('view')
|
126 |
+
}).html([
|
127 |
+
' <a href="#" onclick="return false;">',
|
128 |
+
' <span class="tribe-icon-' + $.trim(view.text.toLowerCase()) + '">' + view.text + '</span>',
|
129 |
+
'</a>'].join("")
|
130 |
+
).appendTo( '.tribe-bar-views-list' );
|
131 |
+
|
132 |
+
});
|
133 |
+
|
134 |
+
//find the current view and select it in the bar
|
135 |
+
var selectedView = $tribebarselect.find(':selected').data('view');
|
136 |
+
$selectedListItem = $tribebarviews.find('li[data-view='+ selectedView +']');
|
137 |
+
$selectedListItem.prependTo($tribebarviews).addClass('tribe-bar-active');
|
138 |
+
|
139 |
+
// toggle the views dropdown
|
140 |
+
$tribebar.on('click', '#tribe-bar-views', function (e) {
|
141 |
+
e.stopPropagation();
|
142 |
+
var $this = $(this);
|
143 |
+
$this.toggleClass('tribe-bar-views-open');
|
144 |
+
});
|
145 |
+
|
146 |
+
// change views
|
147 |
+
$tribebar.on('click', '.tribe-bar-views-option', function(e) {
|
148 |
+
var $this = $(this);
|
149 |
+
if ( !$this.is('.tribe-bar-active') ) {
|
150 |
+
|
151 |
+
//when selecting a new view, move the current view back to it's original spot
|
152 |
+
$currentView = $('.tribe-bar-active');
|
153 |
+
currentViewOrder = $currentView.data('tribe-bar-order');
|
154 |
+
moveCurrentTo = currentViewOrder - 1;
|
155 |
+
|
156 |
+
$currentView.removeClass('tribe-bar-active').insertAfter('li[data-tribe-bar-order=' + moveCurrentTo + ']');
|
157 |
+
$this.prependTo('ul.tribe-bar-views-list').addClass('tribe-bar-active');
|
158 |
+
|
159 |
+
// select new view
|
160 |
+
newView = $this.data('view');
|
161 |
+
$('option:selected', $tribebarselect).removeAttr('selected');
|
162 |
+
$('option[data-view='+ newView +']').attr('selected', true);
|
163 |
+
$tribebarselect.change();
|
164 |
+
|
165 |
+
}
|
166 |
+
});
|
167 |
|
168 |
|
169 |
// trying to add a unique class to the select2 dropdown if the tribe bar is mini
|
188 |
}
|
189 |
}
|
190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
$tribebar.on('click', '#tribe-bar-collapse-toggle', function () {
|
192 |
$(this).toggleClass('tribe-bar-filters-open');
|
193 |
$('.tribe-bar-filters').slideToggle('fast');
|
205 |
|
206 |
|
207 |
// Implement our views bit
|
208 |
+
$tribebarselect.change(function () {
|
209 |
ts.cur_url = $(this).val();
|
210 |
ts.view_target = $('select[name=tribe-bar-view] option[value="' + ts.cur_url + '"]').data('view');
|
211 |
tribe_events_bar_action = 'change_view';
|
resources/tribe-events-bar.min.js
CHANGED
@@ -1,11 +1,12 @@
|
|
1 |
var tribe_events_bar_action;
|
2 |
-
(function(
|
3 |
-
800<
|
4 |
-
b
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
a.
|
10 |
-
(
|
11 |
-
|
|
1 |
var tribe_events_bar_action;
|
2 |
+
(function(s,m,a,f,g,t,c,h,l){l&&(a().bootstrapDatepicker||debug.warn("TEC Debug: vendor bootstrapDatepicker was not loaded before its dependant file tribe-events-bar.js"),a().placeholder||debug.warn("TEC Debug: vendor placeholder was not loaded before its dependant file tribe-events-bar.js"),a().select2||debug.warn("TEC Debug: vendor select2 was not loaded before its dependant file tribe-events-bar.js"));a(m).ready(function(){function n(a){if(!a.parents(".tribe-bar-disabled").length){var c=a.width();
|
3 |
+
800<c?a.removeClass("tribe-bar-mini tribe-bar-collapse").addClass("tribe-bar-full"):a.removeClass("tribe-bar-full").addClass("tribe-bar-mini");670>c?a.removeClass("tribe-bar-mini").addClass("tribe-bar-collapse"):a.removeClass("tribe-bar-collapse")}}function p(){tribe_events_bar_action="change_view";if("month"===c.view&&d.length){var b=d.val();7===b.length&&d.val(b+t.get_day())}c.url_params={};a(g).trigger("tribe_ev_preCollectBarParams");a("#tribe-bar-form input").each(function(){var b=a(this);b.val().length&&
|
4 |
+
!b.hasClass("tribe-no-param")&&(b.is(":checkbox")?b.is(":checked")&&(c.url_params[b.attr("name")]=b.val()):c.url_params[b.attr("name")]=b.val())});c.url_params=a.param(c.url_params);a(g).trigger("tribe_ev_postCollectBarParams");c.url_params.length&&(c.cur_url+=h.starting_delim()+c.url_params);s.location.href=c.cur_url}var e=a("#tribe-bar-form"),d=a("#tribe-bar-date");$tribebarselect=a("select[name=tribe-bar-view]");n(e);e.resize(function(){n(e)});if(!a(".tribe-events-week-grid").length&&(!a(".events-gridview").length||
|
5 |
+
h.map_view())){l&&debug.info('TEC Debug: bootstrapDatepicker was just initialized in "tribe-events-bar.js" on:',d);var u=d.bootstrapDatepicker({format:"yyyy-mm-dd",showAnim:"fadeIn"}).on("changeDate",function(){u.hide()}).data("datepicker")}d.blur(function(){""===d.val()&&(a(".datepicker.dropdown-menu").is(":hidden")&&h.live_ajax()&&h.pushstate)&&(c.date=f.cur_date,f.cur_url=f.base_url,a(g).trigger("tribe_ev_runAjax"))});a(".tribe-bar-settings").length&&a("#tribe-events-bar").addClass("tribe-has-settings");
|
6 |
+
a("#tribe-events-bar .hasDatepicker").length&&a("#tribe-events-bar").addClass("tribe-has-datepicker");a('input[name*="tribe-bar-"]').placeholder();a('<ul class="tribe-bar-views-list" />').insertAfter($tribebarselect);var q=a(".tribe-bar-views-list");$tribebarselect.find("option").each(function(b){view=this;a("<li></li>",{"class":"tribe-bar-views-option","data-tribe-bar-order":b,"data-view":a(view).data("view")}).html([' <a href="#" onclick="return false;">',' <span class="tribe-icon-'+a.trim(view.text.toLowerCase())+
|
7 |
+
'">'+view.text+"</span>","</a>"].join("")).appendTo(".tribe-bar-views-list")});var v=$tribebarselect.find(":selected").data("view");$selectedListItem=q.find("li[data-view="+v+"]");$selectedListItem.prependTo(q).addClass("tribe-bar-active");e.on("click","#tribe-bar-views",function(b){b.stopPropagation();a(this).toggleClass("tribe-bar-views-open")});e.on("click",".tribe-bar-views-option",function(b){b=a(this);b.is(".tribe-bar-active")||($currentView=a(".tribe-bar-active"),currentViewOrder=$currentView.data("tribe-bar-order"),
|
8 |
+
moveCurrentTo=currentViewOrder-1,$currentView.removeClass("tribe-bar-active").insertAfter("li[data-tribe-bar-order="+moveCurrentTo+"]"),b.prependTo("ul.tribe-bar-views-list").addClass("tribe-bar-active"),newView=b.data("view"),a("option:selected",$tribebarselect).removeAttr("selected"),a("option[data-view="+newView+"]").attr("selected",!0),$tribebarselect.change())});e.is(".tribe-bar-mini");e.on("click","#tribe-bar-collapse-toggle",function(){a(this).toggleClass("tribe-bar-filters-open");a(".tribe-bar-filters").slideToggle("fast")});
|
9 |
+
a("body").on("click",function(){a("#tribe-bar-views").removeClass("tribe-bar-views-closed")});a('label[for="tribe-bar-date"], input[name="tribe-bar-date"]').wrapAll('<div id="tribe-bar-dates" />');a("#tribe-bar-filters").before(a("#tribe-bar-dates"));$tribebarselect.change(function(){c.cur_url=a(this).val();c.view_target=a('select[name=tribe-bar-view] option[value="'+c.cur_url+'"]').data("view");tribe_events_bar_action="change_view";p()});a("a.tribe-bar-view").on("click",function(b){b.preventDefault();
|
10 |
+
b=a(this);var c=b.data("view");p(b.attr("href"),c)});a(g).on("tribe_ev_serializeBar",function(){a("form#tribe-bar-form input, #tribeHideRecurrence").each(function(){var b=a(this);b.is("#tribe-bar-date")&&(b.val().length?(c.params[b.attr("name")]=b.val(),c.url_params[b.attr("name")]=b.val()):c.date=f.cur_date);!b.val().length||(b.hasClass("tribe-no-param")||b.is("#tribe-bar-date"))||(b.is(":checkbox")?b.is(":checked")&&(c.params[b.attr("name")]=b.val(),"map"!==c.view&&(c.url_params[b.attr("name")]=
|
11 |
+
b.val()),("month"===c.view||"day"===c.view||"week"===c.view||c.recurrence)&&c.pushcount++):(c.params[b.attr("name")]=b.val(),"map"!==c.view&&(c.url_params[b.attr("name")]=b.val()),"month"!==c.view&&"day"!==c.view&&"week"!==c.view||c.pushcount++))})});var k=a('#tribe-events-bar [class^="tribe-bar-button-"]'),r=k.next(".tribe-bar-drop-content");k.click(function(){var b=a(this);b.toggleClass("open");b.next(".tribe-bar-drop-content").toggle();return!1});a(m).click(function(){k.hasClass("open")&&(k.removeClass("open"),
|
12 |
+
r.hide())});r.click(function(a){a.stopPropagation()});l&&debug.info("TEC Debug: tribe-events-bar.js successfully loaded")})})(window,document,jQuery,tribe_ev.data,tribe_ev.events,tribe_ev.fn,tribe_ev.state,tribe_ev.tests,tribe_debug);
|
resources/tribe-events-full.css
CHANGED
@@ -2,8 +2,11 @@
|
|
2 |
* The Events Calendar Full Stylesheet
|
3 |
* (Some of these styles may override your current theme's styles)
|
4 |
*
|
5 |
-
*
|
6 |
* tribe-events.css in the tribe-events/ directory of your theme.
|
|
|
|
|
|
|
7 |
*
|
8 |
* @package TribeEventsCalendar
|
9 |
* @since 1.0
|
@@ -533,7 +536,7 @@ select.tribe-events-dropdown {
|
|
533 |
}
|
534 |
|
535 |
.tribe-events-list h2.tribe-events-list-event-title {
|
536 |
-
margin: 0
|
537 |
padding: 0;
|
538 |
font-size: 1.4em;
|
539 |
line-height: 1.4em;
|
@@ -543,13 +546,9 @@ select.tribe-events-dropdown {
|
|
543 |
border: none;
|
544 |
}
|
545 |
|
546 |
-
.tribe-events-list
|
547 |
float: none;
|
548 |
-
|
549 |
-
}
|
550 |
-
|
551 |
-
.tribe-events-list .tribe-events-event-cost + h2.tribe-events-list-event-title + .tribe-events-event-meta {
|
552 |
-
padding-right: 90px;
|
553 |
}
|
554 |
|
555 |
.tribe-events-event-details .tribe-events-event-meta address.tribe-events-address {
|
@@ -585,7 +584,7 @@ select.tribe-events-dropdown {
|
|
585 |
float: none;
|
586 |
clear: both;
|
587 |
border: 0;
|
588 |
-
margin:
|
589 |
line-height: 1.5;
|
590 |
font-size: 14px;
|
591 |
font-weight: bold;
|
@@ -624,11 +623,8 @@ select.tribe-events-dropdown {
|
|
624 |
|
625 |
/* Cost */
|
626 |
.tribe-events-list .tribe-events-event-cost {
|
627 |
-
|
628 |
-
|
629 |
-
margin: 0;
|
630 |
-
width: 75px;
|
631 |
-
word-wrap: break-word;
|
632 |
}
|
633 |
|
634 |
.tribe-events-list .tribe-events-event-cost span {
|
@@ -641,7 +637,6 @@ select.tribe-events-dropdown {
|
|
641 |
line-height: 1.3;
|
642 |
font-style: normal;
|
643 |
text-overflow: ellipsis;
|
644 |
-
white-space: nowrap;
|
645 |
}
|
646 |
|
647 |
/* Content */
|
@@ -1351,65 +1346,86 @@ input[name*="tribe-bar-"]:-moz-placeholder {
|
|
1351 |
}
|
1352 |
|
1353 |
.tribe-bar-views-inner {
|
1354 |
-
padding: 15px 0;
|
1355 |
background: #E0E0E0;
|
1356 |
margin: 0;
|
1357 |
}
|
1358 |
|
1359 |
#tribe-bar-form .tribe-bar-views-inner label {
|
1360 |
padding: 0 15px;
|
|
|
1361 |
}
|
1362 |
|
1363 |
.tribe-bar-views-inner .select2-container {
|
1364 |
padding: 0 15px;
|
1365 |
}
|
1366 |
|
1367 |
-
|
1368 |
-
background:
|
1369 |
-
filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)";
|
1370 |
border: none;
|
1371 |
-
|
1372 |
-
}
|
1373 |
-
#tribe-bar-views .select2-dropdown-open .select2-choice {
|
1374 |
box-shadow: none;
|
1375 |
-moz-box-shadow: none;
|
1376 |
-webkit-box-shadow: none;
|
1377 |
}
|
1378 |
|
1379 |
-
.tribe-
|
1380 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1381 |
border: none;
|
1382 |
-
|
|
|
1383 |
box-shadow: none;
|
1384 |
-moz-box-shadow: none;
|
1385 |
-
-webkit-box-shadow: none;
|
1386 |
}
|
1387 |
|
1388 |
-
.tribe-
|
1389 |
-
|
|
|
1390 |
}
|
1391 |
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
|
|
|
|
|
|
|
|
1395 |
}
|
1396 |
|
1397 |
-
#tribe-bar-
|
1398 |
-
|
|
|
1399 |
}
|
1400 |
|
1401 |
-
#tribe-bar-views .tribe-bar-
|
1402 |
-
|
1403 |
-
margin: 0;
|
1404 |
-
padding: 0;
|
1405 |
-
text-align: right;
|
1406 |
-
line-height: 32px;
|
1407 |
}
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
1411 |
-
|
1412 |
-
|
1413 |
}
|
1414 |
|
1415 |
/* Views Select */
|
@@ -1419,48 +1435,10 @@ input[name*="tribe-bar-"]:-moz-placeholder {
|
|
1419 |
#tribe-bar-views [name="tribe-bar-view"] {
|
1420 |
display: none;
|
1421 |
}
|
1422 |
-
#tribe-bar-views .tribe-
|
1423 |
-
width: 100
|
1424 |
float: left;
|
1425 |
}
|
1426 |
-
#tribe-bar-views .select2-container-active .select2-choice,
|
1427 |
-
#tribe-bar-views .select2-container-active .select2-choices {
|
1428 |
-
outline: none;
|
1429 |
-
box-shadow: none;
|
1430 |
-
}
|
1431 |
-
.tribe-select2-results-views .select2-results {
|
1432 |
-
margin: 0;
|
1433 |
-
padding: 0;
|
1434 |
-
}
|
1435 |
-
.tribe-select2-results-views .select2-results .select2-result-label {
|
1436 |
-
padding: 4px 0;
|
1437 |
-
}
|
1438 |
-
.tribe-select2-results .select2-results {
|
1439 |
-
margin: 4px 0;
|
1440 |
-
padding: 0;
|
1441 |
-
}
|
1442 |
-
.tribe-select2-results .select2-results .select2-result-label {
|
1443 |
-
padding: 6px 8px;
|
1444 |
-
color: #444;
|
1445 |
-
line-height: 14px;
|
1446 |
-
}
|
1447 |
-
.tribe-select2-results .select2-results .select2-highlighted {
|
1448 |
-
background: #ddd;
|
1449 |
-
color: #444;
|
1450 |
-
}
|
1451 |
-
#tribe-bar-views .select2-container .select2-choice div {
|
1452 |
-
display: none;
|
1453 |
-
}
|
1454 |
-
#tribe-bar-views .select2-container .select2-choice span {
|
1455 |
-
margin-right: 18px;
|
1456 |
-
}
|
1457 |
-
#tribe-bar-views .select2-container .select2-choice span span {
|
1458 |
-
margin-right: 0;
|
1459 |
-
}
|
1460 |
-
#tribe-bar-views .select2-arrow {
|
1461 |
-
display: none;
|
1462 |
-
}
|
1463 |
-
|
1464 |
#tribe-bar-views .tribe-bar-settings {
|
1465 |
display: none;
|
1466 |
}
|
@@ -1509,21 +1487,18 @@ input[name*="tribe-bar-"]:-moz-placeholder {
|
|
1509 |
}
|
1510 |
|
1511 |
.tribe-bar-mini .tribe-bar-views-inner {
|
1512 |
-
padding: 10px 0;
|
1513 |
}
|
1514 |
|
1515 |
.tribe-bar-mini .tribe-bar-views-inner label {
|
1516 |
padding: 0 10px;
|
1517 |
}
|
1518 |
|
1519 |
-
.tribe-bar-mini .tribe-bar-views-
|
1520 |
-
padding:
|
1521 |
}
|
1522 |
|
1523 |
-
|
1524 |
-
padding: 0 10px;
|
1525 |
-
font-size: 12px;
|
1526 |
-
}
|
1527 |
|
1528 |
/* Tribe Bar Collapse Styles */
|
1529 |
|
@@ -1602,7 +1577,7 @@ input[name*="tribe-bar-"]:-moz-placeholder {
|
|
1602 |
}
|
1603 |
|
1604 |
#tribe-bar-form.tribe-bar-collapse .tribe-bar-views-inner {
|
1605 |
-
padding: 10px 0;
|
1606 |
}
|
1607 |
|
1608 |
#tribe-bar-form.tribe-bar-collapse .tribe-bar-views-inner label {
|
@@ -1681,14 +1656,24 @@ input[name*="tribe-bar-"]:-moz-placeholder {
|
|
1681 |
}
|
1682 |
|
1683 |
.tribe-bar-disabled .tribe-bar-views-inner {
|
1684 |
-
|
|
|
1685 |
border-radius: 0 3px 3px 0;
|
1686 |
}
|
1687 |
|
1688 |
-
.tribe-bar-disabled #tribe-bar-
|
1689 |
-
.tribe-bar-disabled #tribe-bar-form .tribe-bar-views-inner label {
|
1690 |
padding: 0 10px;
|
1691 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1692 |
.tribe-bar-disabled #tribe-bar-views .select2-container .select2-choice {
|
1693 |
line-height: 18px;
|
1694 |
height: auto;
|
@@ -1706,11 +1691,13 @@ input[name*="tribe-bar-"]:-moz-placeholder {
|
|
1706 |
|
1707 |
/* Events Bar Icons */
|
1708 |
.tribe-select2-results-views span[class^="tribe-icon-"],
|
1709 |
-
.tribe-
|
1710 |
.tribe-bar-view-list a[class*="tribe-icon-"] {
|
1711 |
padding-left: 24px;
|
1712 |
background-repeat: no-repeat;
|
1713 |
background-position: 0 50%;
|
|
|
|
|
1714 |
}
|
1715 |
.tribe-select2-results-views span[class^="tribe-icon-"] {
|
1716 |
min-height: 16px;
|
@@ -1719,7 +1706,7 @@ input[name*="tribe-bar-"]:-moz-placeholder {
|
|
1719 |
|
1720 |
/* default icon */
|
1721 |
.tribe-select2-results-views span[class^="tribe-icon-"],
|
1722 |
-
.tribe-
|
1723 |
.tribe-bar-view-list a[class^="tribe-icon-"] {
|
1724 |
background-image: url(images/events-bar/icon-month.png);
|
1725 |
-webkit-background-size: 15px 16px;
|
@@ -1727,7 +1714,7 @@ input[name*="tribe-bar-"]:-moz-placeholder {
|
|
1727 |
}
|
1728 |
|
1729 |
.tribe-select2-results-views span.tribe-icon-list,
|
1730 |
-
.tribe-
|
1731 |
.tribe-bar-view-list a.tribe-icon-list {
|
1732 |
background-image: url(images/events-bar/icon-list.png);
|
1733 |
-webkit-background-size: 15px 10px;
|
@@ -1740,32 +1727,32 @@ input[name*="tribe-bar-"]:-moz-placeholder {
|
|
1740 |
}
|
1741 |
|
1742 |
.tribe-select2-results-views .tribe-icon-month,
|
1743 |
-
.tribe-
|
1744 |
.tribe-bar-view-list a.tribe-icon-month {
|
1745 |
background-image: url(images/events-bar/icon-month.png);
|
1746 |
-webkit-background-size: 15px 16px;
|
1747 |
background-size: 15px 16px;
|
1748 |
}
|
1749 |
.tribe-select2-results-views span.tribe-icon-week,
|
1750 |
-
.tribe-
|
1751 |
background-image: url(images/events-bar/icon-week.png);
|
1752 |
-webkit-background-size: 15px 16px;
|
1753 |
background-size: 15px 16px;
|
1754 |
}
|
1755 |
.tribe-select2-results-views span.tribe-icon-day,
|
1756 |
-
.tribe-
|
1757 |
background-image: url(images/events-bar/icon-day.png);
|
1758 |
-webkit-background-size: 15px 16px;
|
1759 |
background-size: 15px 16px;
|
1760 |
}
|
1761 |
.tribe-select2-results-views span.tribe-icon-photo,
|
1762 |
-
.tribe-
|
1763 |
background-image: url(images/events-bar/icon-photo.png);
|
1764 |
-webkit-background-size: 15px 14px;
|
1765 |
background-size: 15px 14px;
|
1766 |
}
|
1767 |
.tribe-select2-results-views span.tribe-icon-map,
|
1768 |
-
.tribe-
|
1769 |
background-image: url(images/events-bar/icon-map.png);
|
1770 |
-webkit-background-size: 12px 16px;
|
1771 |
background-size: 12px 16px;
|
@@ -1793,34 +1780,34 @@ only screen and (min-device-pixel-ratio: 2) {
|
|
1793 |
|
1794 |
/* default icon */
|
1795 |
.tribe-select2-results-views span[class^="tribe-icon-"],
|
1796 |
-
.tribe-
|
1797 |
.tribe-bar-view-list a[class^="tribe-icon-"] {
|
1798 |
background-image: url(images/events-bar/icon-month@2x.png);
|
1799 |
}
|
1800 |
.tribe-select2-results-views span.tribe-icon-list,
|
1801 |
-
.tribe-
|
1802 |
.tribe-bar-view-list a.tribe-icon-upcoming {
|
1803 |
background-image: url(images/events-bar/icon-list@2x.png);
|
1804 |
}
|
1805 |
.tribe-select2-results-views span.tribe-icon-month,
|
1806 |
-
.tribe-
|
1807 |
.tribe-bar-view-list a.tribe-icon-month {
|
1808 |
background-image: url(images/events-bar/icon-month@2x.png);
|
1809 |
}
|
1810 |
.tribe-select2-results-views span.tribe-icon-week,
|
1811 |
-
.tribe-
|
1812 |
background-image: url(images/events-bar/icon-week@2x.png);
|
1813 |
}
|
1814 |
.tribe-select2-results-views span.tribe-icon-day,
|
1815 |
-
.tribe-
|
1816 |
background-image: url(images/events-bar/icon-day@2x.png);
|
1817 |
}
|
1818 |
.tribe-select2-results-views span.tribe-icon-photo,
|
1819 |
-
.tribe-
|
1820 |
background-image: url(images/events-bar/icon-photo@2x.png);
|
1821 |
}
|
1822 |
.tribe-select2-results-views span.tribe-icon-map,
|
1823 |
-
.tribe-
|
1824 |
background-image: url(images/events-bar/icon-map@2x.png);
|
1825 |
}
|
1826 |
}
|
2 |
* The Events Calendar Full Stylesheet
|
3 |
* (Some of these styles may override your current theme's styles)
|
4 |
*
|
5 |
+
* To add your own custom styles, create a stylesheet with the name
|
6 |
* tribe-events.css in the tribe-events/ directory of your theme.
|
7 |
+
* Your new stylesheet will be loaded after our own stylesheet.
|
8 |
+
*
|
9 |
+
* To replace our stylsheet altogether, you can use the 'tribe_events_stylesheet_url' filter.
|
10 |
*
|
11 |
* @package TribeEventsCalendar
|
12 |
* @since 1.0
|
536 |
}
|
537 |
|
538 |
.tribe-events-list h2.tribe-events-list-event-title {
|
539 |
+
margin: 0;
|
540 |
padding: 0;
|
541 |
font-size: 1.4em;
|
542 |
line-height: 1.4em;
|
546 |
border: none;
|
547 |
}
|
548 |
|
549 |
+
.tribe-events-list h2.tribe-events-list-event-title {
|
550 |
float: none;
|
551 |
+
display: inline;
|
|
|
|
|
|
|
|
|
552 |
}
|
553 |
|
554 |
.tribe-events-event-details .tribe-events-event-meta address.tribe-events-address {
|
584 |
float: none;
|
585 |
clear: both;
|
586 |
border: 0;
|
587 |
+
margin: 5px 0 15px 0;
|
588 |
line-height: 1.5;
|
589 |
font-size: 14px;
|
590 |
font-weight: bold;
|
623 |
|
624 |
/* Cost */
|
625 |
.tribe-events-list .tribe-events-event-cost {
|
626 |
+
float: right;
|
627 |
+
margin: 0 0 5px 5px;
|
|
|
|
|
|
|
628 |
}
|
629 |
|
630 |
.tribe-events-list .tribe-events-event-cost span {
|
637 |
line-height: 1.3;
|
638 |
font-style: normal;
|
639 |
text-overflow: ellipsis;
|
|
|
640 |
}
|
641 |
|
642 |
/* Content */
|
1346 |
}
|
1347 |
|
1348 |
.tribe-bar-views-inner {
|
1349 |
+
padding: 15px 0 45px 0;
|
1350 |
background: #E0E0E0;
|
1351 |
margin: 0;
|
1352 |
}
|
1353 |
|
1354 |
#tribe-bar-form .tribe-bar-views-inner label {
|
1355 |
padding: 0 15px;
|
1356 |
+
text-align: left;
|
1357 |
}
|
1358 |
|
1359 |
.tribe-bar-views-inner .select2-container {
|
1360 |
padding: 0 15px;
|
1361 |
}
|
1362 |
|
1363 |
+
.tribe-select2-results-views.select2-drop {
|
1364 |
+
background: #DBDBDB;
|
|
|
1365 |
border: none;
|
1366 |
+
z-index: 10001;
|
|
|
|
|
1367 |
box-shadow: none;
|
1368 |
-moz-box-shadow: none;
|
1369 |
-webkit-box-shadow: none;
|
1370 |
}
|
1371 |
|
1372 |
+
#tribe-bar-form.tribe-bar-mini #tribe-bar-views {
|
1373 |
+
width: 16.66667%;
|
1374 |
+
}
|
1375 |
+
|
1376 |
+
#tribe-bar-views .tribe-bar-views-list {
|
1377 |
+
list-style-type: none;
|
1378 |
+
margin: 0 0 0 5px;
|
1379 |
+
padding: 0;
|
1380 |
+
position: absolute;
|
1381 |
+
left: 0;
|
1382 |
+
top: auto;
|
1383 |
+
z-index: 99;
|
1384 |
+
border-radius: 0 0 3px 3px;
|
1385 |
+
}
|
1386 |
+
#tribe-bar-views li.tribe-bar-views-option {
|
1387 |
+
line-height: 14px;
|
1388 |
+
margin: 0 5px 0 0;
|
1389 |
+
padding: 0;
|
1390 |
+
list-style: none;
|
1391 |
+
background: none;
|
1392 |
+
filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)";
|
1393 |
+
list-style: none;
|
1394 |
border: none;
|
1395 |
+
padding: 0;
|
1396 |
+
display: none;
|
1397 |
box-shadow: none;
|
1398 |
-moz-box-shadow: none;
|
1399 |
+
-webkit-box-shadow: none;
|
1400 |
}
|
1401 |
|
1402 |
+
#tribe-bar-views .tribe-bar-views-option:first-child, #tribe-bar-views .tribe-bar-views-option.tribe-bar-active,
|
1403 |
+
#tribe-bar-views.tribe-bar-views-open .tribe-bar-views-option {
|
1404 |
+
display: list-item;
|
1405 |
}
|
1406 |
|
1407 |
+
#tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option a {
|
1408 |
+
color: #444;
|
1409 |
+
text-align: left;
|
1410 |
+
display: block;
|
1411 |
+
text-decoration: none;
|
1412 |
+
padding: 6px 15px;
|
1413 |
+
background: #E0E0E0;
|
1414 |
}
|
1415 |
|
1416 |
+
#tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option a:hover {
|
1417 |
+
background: #cacaca;
|
1418 |
+
color: inherit;
|
1419 |
}
|
1420 |
|
1421 |
+
#tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option.tribe-bar-active a:hover {
|
1422 |
+
background: #e0e0e0;
|
|
|
|
|
|
|
|
|
1423 |
}
|
1424 |
+
|
1425 |
+
#tribe-bar-views .tribe-bar-views-option:last-child a {
|
1426 |
+
border-radius: 0 0 3px 3px;
|
1427 |
+
-webkit-border-radius: 0 0 3px 3px;
|
1428 |
+
-moz-border-radius: 0 0 3px 3px;
|
1429 |
}
|
1430 |
|
1431 |
/* Views Select */
|
1435 |
#tribe-bar-views [name="tribe-bar-view"] {
|
1436 |
display: none;
|
1437 |
}
|
1438 |
+
#tribe-bar-views .tribe-bar-views-list {
|
1439 |
+
width: 100%;
|
1440 |
float: left;
|
1441 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1442 |
#tribe-bar-views .tribe-bar-settings {
|
1443 |
display: none;
|
1444 |
}
|
1487 |
}
|
1488 |
|
1489 |
.tribe-bar-mini .tribe-bar-views-inner {
|
1490 |
+
padding: 10px 0 35px 0;
|
1491 |
}
|
1492 |
|
1493 |
.tribe-bar-mini .tribe-bar-views-inner label {
|
1494 |
padding: 0 10px;
|
1495 |
}
|
1496 |
|
1497 |
+
.tribe-bar-mini #tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option a {
|
1498 |
+
padding: 4px 10px;
|
1499 |
}
|
1500 |
|
1501 |
+
|
|
|
|
|
|
|
1502 |
|
1503 |
/* Tribe Bar Collapse Styles */
|
1504 |
|
1577 |
}
|
1578 |
|
1579 |
#tribe-bar-form.tribe-bar-collapse .tribe-bar-views-inner {
|
1580 |
+
padding: 10px 0 40px 0;
|
1581 |
}
|
1582 |
|
1583 |
#tribe-bar-form.tribe-bar-collapse .tribe-bar-views-inner label {
|
1656 |
}
|
1657 |
|
1658 |
.tribe-bar-disabled .tribe-bar-views-inner {
|
1659 |
+
min-width: 100px;
|
1660 |
+
padding: 5px 0 25px 0;
|
1661 |
border-radius: 0 3px 3px 0;
|
1662 |
}
|
1663 |
|
1664 |
+
.tribe-bar-disabled #tribe-bar-form .tribe-bar-views-inner label{
|
|
|
1665 |
padding: 0 10px;
|
1666 |
}
|
1667 |
+
|
1668 |
+
.tribe-bar-disabled #tribe-bar-views .tribe-bar-views-list,
|
1669 |
+
.tribe-bar-disabled #tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option {
|
1670 |
+
margin: 0;
|
1671 |
+
}
|
1672 |
+
|
1673 |
+
.tribe-bar-disabled #tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option a {
|
1674 |
+
padding: 4px 10px;
|
1675 |
+
margin: 0;
|
1676 |
+
}
|
1677 |
.tribe-bar-disabled #tribe-bar-views .select2-container .select2-choice {
|
1678 |
line-height: 18px;
|
1679 |
height: auto;
|
1691 |
|
1692 |
/* Events Bar Icons */
|
1693 |
.tribe-select2-results-views span[class^="tribe-icon-"],
|
1694 |
+
.tribe-bar-views-list span[class^="tribe-icon-"],
|
1695 |
.tribe-bar-view-list a[class*="tribe-icon-"] {
|
1696 |
padding-left: 24px;
|
1697 |
background-repeat: no-repeat;
|
1698 |
background-position: 0 50%;
|
1699 |
+
min-height: 16px;
|
1700 |
+
display: block;
|
1701 |
}
|
1702 |
.tribe-select2-results-views span[class^="tribe-icon-"] {
|
1703 |
min-height: 16px;
|
1706 |
|
1707 |
/* default icon */
|
1708 |
.tribe-select2-results-views span[class^="tribe-icon-"],
|
1709 |
+
.tribe-bar-views-list span[class^="tribe-icon-"],
|
1710 |
.tribe-bar-view-list a[class^="tribe-icon-"] {
|
1711 |
background-image: url(images/events-bar/icon-month.png);
|
1712 |
-webkit-background-size: 15px 16px;
|
1714 |
}
|
1715 |
|
1716 |
.tribe-select2-results-views span.tribe-icon-list,
|
1717 |
+
.tribe-bar-views-list span.tribe-icon-list,
|
1718 |
.tribe-bar-view-list a.tribe-icon-list {
|
1719 |
background-image: url(images/events-bar/icon-list.png);
|
1720 |
-webkit-background-size: 15px 10px;
|
1727 |
}
|
1728 |
|
1729 |
.tribe-select2-results-views .tribe-icon-month,
|
1730 |
+
.tribe-bar-views-list span.tribe-icon-month,
|
1731 |
.tribe-bar-view-list a.tribe-icon-month {
|
1732 |
background-image: url(images/events-bar/icon-month.png);
|
1733 |
-webkit-background-size: 15px 16px;
|
1734 |
background-size: 15px 16px;
|
1735 |
}
|
1736 |
.tribe-select2-results-views span.tribe-icon-week,
|
1737 |
+
.tribe-bar-views-list span.tribe-icon-week {
|
1738 |
background-image: url(images/events-bar/icon-week.png);
|
1739 |
-webkit-background-size: 15px 16px;
|
1740 |
background-size: 15px 16px;
|
1741 |
}
|
1742 |
.tribe-select2-results-views span.tribe-icon-day,
|
1743 |
+
.tribe-bar-views-list span.tribe-icon-day {
|
1744 |
background-image: url(images/events-bar/icon-day.png);
|
1745 |
-webkit-background-size: 15px 16px;
|
1746 |
background-size: 15px 16px;
|
1747 |
}
|
1748 |
.tribe-select2-results-views span.tribe-icon-photo,
|
1749 |
+
.tribe-bar-views-list span.tribe-icon-photo {
|
1750 |
background-image: url(images/events-bar/icon-photo.png);
|
1751 |
-webkit-background-size: 15px 14px;
|
1752 |
background-size: 15px 14px;
|
1753 |
}
|
1754 |
.tribe-select2-results-views span.tribe-icon-map,
|
1755 |
+
.tribe-bar-views-list span.tribe-icon-map {
|
1756 |
background-image: url(images/events-bar/icon-map.png);
|
1757 |
-webkit-background-size: 12px 16px;
|
1758 |
background-size: 12px 16px;
|
1780 |
|
1781 |
/* default icon */
|
1782 |
.tribe-select2-results-views span[class^="tribe-icon-"],
|
1783 |
+
.tribe-bar-views-list span[class^="tribe-icon-"],
|
1784 |
.tribe-bar-view-list a[class^="tribe-icon-"] {
|
1785 |
background-image: url(images/events-bar/icon-month@2x.png);
|
1786 |
}
|
1787 |
.tribe-select2-results-views span.tribe-icon-list,
|
1788 |
+
.tribe-bar-views-list span.tribe-icon-list,
|
1789 |
.tribe-bar-view-list a.tribe-icon-upcoming {
|
1790 |
background-image: url(images/events-bar/icon-list@2x.png);
|
1791 |
}
|
1792 |
.tribe-select2-results-views span.tribe-icon-month,
|
1793 |
+
.tribe-bar-views-list span.tribe-icon-month,
|
1794 |
.tribe-bar-view-list a.tribe-icon-month {
|
1795 |
background-image: url(images/events-bar/icon-month@2x.png);
|
1796 |
}
|
1797 |
.tribe-select2-results-views span.tribe-icon-week,
|
1798 |
+
.tribe-bar-views-list span.tribe-icon-week {
|
1799 |
background-image: url(images/events-bar/icon-week@2x.png);
|
1800 |
}
|
1801 |
.tribe-select2-results-views span.tribe-icon-day,
|
1802 |
+
.tribe-bar-views-list span.tribe-icon-day {
|
1803 |
background-image: url(images/events-bar/icon-day@2x.png);
|
1804 |
}
|
1805 |
.tribe-select2-results-views span.tribe-icon-photo,
|
1806 |
+
.tribe-bar-views-list span.tribe-icon-photo {
|
1807 |
background-image: url(images/events-bar/icon-photo@2x.png);
|
1808 |
}
|
1809 |
.tribe-select2-results-views span.tribe-icon-map,
|
1810 |
+
.tribe-bar-views-list span.tribe-icon-map {
|
1811 |
background-image: url(images/events-bar/icon-map@2x.png);
|
1812 |
}
|
1813 |
}
|
resources/tribe-events-full.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#tribe-events-pg-template{max-width:1000px;margin:0 auto}.tribe-events-after-html{clear:both}#tribe-events-pg-template .tribe-events-content p,.tribe-events-before-html p,.tribe-events-after-html p{margin:0 0 10px;line-height:1.7}#tribe-events-pg-template .tribe-events-content h1,.tribe-events-before-html h1,.tribe-events-after-html h1,#tribe-events-pg-template .tribe-events-content h2,.tribe-events-before-html h2,.tribe-events-after-html h2,#tribe-events-pg-template .tribe-events-content h3,.tribe-events-before-html h3,.tribe-events-after-html h3,#tribe-events-pg-template .tribe-events-content h4,.tribe-events-before-html h4,.tribe-events-after-html h4,#tribe-events-pg-template .tribe-events-content h5,.tribe-events-before-html h5,.tribe-events-after-html h5,#tribe-events-pg-template .tribe-events-content h6,.tribe-events-before-html h6,.tribe-events-after-html h6{margin:24px 0;margin:20px 0;line-height:1.7}.tribe-events-before-html h1,.tribe-events-after-html h1,#tribe-events-pg-template .tribe-events-content h1{font-size:21px;line-height:1.5}.tribe-events-before-html h2,.tribe-events-after-html h2,#tribe-events-pg-template .tribe-events-content h2{font-size:18px;line-height:1.6}.tribe-events-before-html h3,.tribe-events-after-html h3,#tribe-events-pg-template .tribe-events-content h3{font-size:16px;line-height:1.8}.tribe-events-before-html h4,.tribe-events-after-html h4,#tribe-events-pg-template .tribe-events-content h4{font-size:14px;line-height:1.8}.tribe-events-before-html h5,.tribe-events-after-html h5,#tribe-events-pg-template .tribe-events-content h5{font-size:13px;line-height:1.8}.tribe-events-before-html h6,.tribe-events-after-html h6,#tribe-events-pg-template .tribe-events-content h6{font-size:12px;line-height:1.8}.tribe-events-before-html ul,.tribe-events-after-html ul,#tribe-events-pg-template .tribe-events-content ul{list-style:disc outside}.tribe-events-before-html ol,.tribe-events-after-html ol,#tribe-events-pg-template .tribe-events-content ol{list-style:decimal outside}.tribe-events-before-html ul li,.tribe-events-after-html ul li,.tribe-events-before-html ol li,.tribe-events-after-html ol li,#tribe-events-pg-template .tribe-events-content ul li,#tribe-events-pg-template .tribe-events-content ol li{margin:0 0 20px;line-height:1.7}.tribe-events-back{margin:0 0 20px 0}#tribe-events-content a,.tribe-events-event-meta a{text-decoration:none}.tribe-events-read-more{display:block}ul.tribe-events-sub-nav a,.tribe-events-back a,.tribe-events-list-widget .tribe-events-widget-link a,.tribe-events-adv-list-widget .tribe-events-widget-link a{text-decoration:none}ul.tribe-events-sub-nav a:hover,.tribe-events-back a:hover,.tribe-events-list-widget .tribe-events-widget-link a:hover,.tribe-events-adv-list-widget .tribe-events-widget-link a:hover{text-decoration:none}.tribe-events-day.page .hentry,.tribe-events-week.page .hentry{margin:0;padding:0 0 15px 0}.tribe-events-button{background-color:#666;color:#fff;background-image:none;font-size:11px;font-weight:bold;padding:6px 9px;text-align:center;text-transform:uppercase;letter-spacing:1px;-webkit-border-radius:3px;border-radius:3px;border:0;line-height:normal;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;text-decoration:none}.tribe-events-button.tribe-active{background-color:#666;color:#fff}.tribe-events-button.tribe-inactive,.tribe-events-button:hover,.tribe-events-button.tribe-active:hover{background-color:#ddd;color:#444;text-decoration:none}a.tribe-events-ical,a.tribe-events-gcal{font-size:10px;font-weight:normal;padding:0 6px;float:right;text-decoration:none;line-height:18px;margin-top:21px;color:#fff;clear:both}.tribe-events-gcal{margin-right:9px}.single-tribe_events a.tribe-events-ical,.single-tribe_events a.tribe-events-gcal{float:none}.tribe-events-event-meta .tribe-events-gmap,.tribe-events-event-meta-desc .tribe-events-gmap{white-space:nowrap}.event .entry-title{color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:inherit}.updated-info{text-indent:-9999px;height:0}.tribe-events-event-image{margin:0 0 20px 0;text-align:center}.tribe-events-event-image img{max-width:100%;height:auto}.tribe-events-schedule h2{font-style:normal;font-weight:bold}.tribe-events-event-schedule-details{display:inline}.tribe-events-divider{padding:0 10px;font-weight:bold}.events-archive .entry-content,.events-archive .entry-header{width:98%}.events-archive span.edit-link{display:none}.tribe-events-notices{background:#d9edf7;border:1px solid #bce8f1;color:#3a87ad;margin:10px 0 18px;padding:8px 35px 8px 14px;text-shadow:0 1px 0 #fff;-webkit-border-radius:4px;border-radius:4px}div.tribe-events-notices>ul,div.tribe-events-notices>ul>li{margin:0;padding:0;list-style:none}#tribe-events-content p.tribe-events-promo{font-size:12px;color:#999}#tribe-events-content p.tribe-events-promo a{color:#666}.clearfix:before,.tribe-clearfix:before,.clearfix:after,.tribe-clearfix:after{content:"";display:table}.clearfix:after,.tribe-clearfix:after{clear:both}.clearfix,.tribe-clearfix{zoom:1}.tribe-clear{clear:both}.tribe-events-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-hide-text{text-indent:100%;white-space:nowrap;overflow:hidden}.tribe-events-error{display:none}.tribe-events-multi-event-day{color:#0f81bb}#tribe-events-content .tribe-events-abbr{border-bottom:0;cursor:default}.tribe-events-spinner{width:32px;height:32px;margin-left:-16px}.tribe-events-spinner-medium{width:24px;height:24px}.tribe-events-spinner-small{width:16px;height:16px;margin-left:-8px}*+html .events-archive h2.tribe-events-page-title{padding-bottom:30px}*+html .events-archive .tribe-events-list h2.tribe-events-page-title{padding-bottom:0}*+html #tribe-events-header{margin-bottom:30px}h2.tribe-events-page-title{font-size:24px;font-weight:normal;position:relative;z-index:0;margin-bottom:.5em;text-align:center;clear:none}.tribe-events-filter-view .tribe-events-list h2.tribe-events-page-title{width:100%;float:none}h2.tribe-events-page-title a{color:#000}h2.tribe-events-page-title a:hover,h2.tribe-events-page-title a:focus{color:#333;text-decoration:underline}#tribe-events-header,#tribe-events-footer{margin-bottom:.5em;clear:both}#tribe-events-header .tribe-events-sub-nav,#tribe-events-footer .tribe-events-sub-nav{list-style-type:none;margin:0;overflow:hidden;line-height:normal;text-align:center}#tribe-events-header .tribe-events-sub-nav li,#tribe-events-footer .tribe-events-sub-nav li{display:inline-block;zoom:1;*display:inline;margin:0;vertical-align:middle}#tribe-events-header .tribe-events-sub-nav li,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-previous{float:left;margin-right:5px;text-align:left;white-space:nowrap}#tribe-events-header .tribe-events-sub-nav .tribe-events-nav-next,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-next{float:right;margin-left:5px;text-align:right;white-space:nowrap}#tribe-events-header .tribe-events-sub-nav .tribe-events-nav-left,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-left{float:left;text-align:left;white-space:nowrap}#tribe-events-header .tribe-events-sub-nav .tribe-events-nav-right,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-right{float:right;text-align:right;white-space:nowrap}.tribe-events-ajax-loading{display:none;position:absolute;left:50%;margin-left:-27px;top:150px;padding:15px;background:#666;z-index:10;border-radius:5px;-webkit-box-shadow:none !important;box-shadow:none !important;-moz-box-shadow:none !important}.tribe-events-loading .tribe-events-ajax-loading{display:block}.tribe-events-ajax-loading.tribe-events-active-spinner,.tribe-events-ajax-loading.tribe-events-active-spinner img{display:block}#tribe-events-header{position:relative}#tribe-events-footer{margin-bottom:1em}.events-list #tribe-events-footer,.tribe-events-day #tribe-events-footer,.tribe-events-map #tribe-events-footer{margin:1.25em 0 18px;clear:both}.tribe-events-map #tribe-events-header{margin:1em 0}.single-tribe_events #tribe-events-header{margin:1em 0 20px}.single-tribe_events #tribe-events-header li,.single-tribe_events #tribe-events-footer li{width:48%}#tribe-events-content .tribe-events-nav-date{padding-top:16px}select.tribe-events-dropdown{width:auto;font-size:11px;margin:33px 9px 0 0}#tribe-events-events-picker,#tribe-events-picker{display:inline}@media only screen and (max-width:767px){#tribe-events-header .tribe-events-sub-nav .tribe-events-nav-next,#tribe-events-header .tribe-events-sub-nav .tribe-events-nav-previous,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-next,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-previous{display:block;width:50%;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tribe-events-sub-nav li a{display:block;padding:10px 15px;background:#666;color:#fff;white-space:normal}.tribe-events-sub-nav .tribe-events-nav-previous,.tribe-events-sub-nav .tribe-events-nav-left{padding:0 1px}.tribe-events-sub-nav .tribe-events-nav-next,.tribe-events-sub-nav .tribe-events-nav-right{padding:0 0 0 1px}}#tribe-events-content{position:relative;margin-bottom:48px;padding:2px 0}#tribe-events-content.tribe-events-list{padding:0}.tribe-events-list h2.tribe-events-page-title{margin-bottom:15px}#tribe-events-content.tribe-events-list{margin-bottom:60px}.tribe-events-list .vevent.hentry{border-bottom:1px solid #ddd;padding:2.25em 0;margin:0}.tribe-events-list .vevent.hentry.tribe-events-first{padding-top:0}.tribe-events-list h2.tribe-events-list-event-title{margin:0 0 5px 0;padding:0;font-size:1.4em;line-height:1.4em;text-transform:none;letter-spacing:0;display:block;border:0}.tribe-events-list .tribe-events-event-cost+h2.tribe-events-list-event-title{float:none;padding-right:90px}.tribe-events-list .tribe-events-event-cost+h2.tribe-events-list-event-title+.tribe-events-event-meta{padding-right:90px}.tribe-events-event-details .tribe-events-event-meta address.tribe-events-address{font-style:normal;font-family:inherit;font-size:inherit;line-height:inherit}.tribe-events-list .tribe-events-event-image{float:left;width:30%;margin:0 3% 0 0}.tribe-events-list .tribe-events-event-image img{width:100%;height:auto;margin:0;padding:0}.tribe-events-list .tribe-events-event-image+div.tribe-events-content{float:left;width:67%;position:relative}.tribe-events-loop .tribe-events-event-meta{float:none;clear:both;border:0;margin:0 0 15px 0;line-height:1.5;font-size:14px;font-weight:bold;overflow:visible}.tribe-events-list .tribe-events-loop .tribe-events-event-meta .recurringinfo{display:inline-block;zoom:1;*display:inline}.tribe-events-event-meta address.tribe-events-address{display:inline;font-style:normal;font-family:inherit;font-size:inherit;line-height:inherit;margin-right:10px}.tribe-events-list .tribe-events-loop .tribe-events-event-meta .event-is-recurring{position:relative}.tribe-events-list .time-details,.tribe-events-list .tribe-events-venue-details{line-height:1.2;margin:0;display:block}.tribe-events-list .time-details{margin:0 0 8px 0}.tribe-events-list .tribe-events-event-cost{position:absolute;right:1px;margin:0;width:75px;word-wrap:break-word}.tribe-events-list .tribe-events-event-cost span{font-weight:bold;background:#eee;border:1px solid #ddd;display:block;padding:5px 10px;text-align:center;line-height:1.3;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.tribe-events-list .tribe-events-loop .tribe-events-content{width:100%;padding:0}.tribe-events-list .tribe-events-loop .tribe-events-content p{margin:0}.tribe-events-list-separator-year{display:block;text-align:center;font-size:38px;color:#ccc;padding:1em 2.25em 0;font-weight:bold}.tribe-events-list-separator-month{display:block;text-transform:uppercase;font-weight:bold;font-size:14px;margin:2.5em 0 0;background-color:#EEE;padding:6px 10px}.tribe-events-list-separator-month+.vevent.hentry.tribe-events-first{padding-top:2.25em}.tribe-events-list .vevent.hentry.tribe-event-end-month{border-bottom:0;padding-bottom:0}@media only screen and (max-width:767px){.tribe-events-list .tribe-events-event-image{float:none;width:100%;margin:0 0 20px 0}.tribe-events-list .tribe-events-event-image+div.tribe-events-content{float:none;width:100%}.tribe-events-list .tribe-events-loop .tribe-events-event-meta .recurringinfo{display:block;margin:8px 0 0}.tribe-events-list .tribe-events-loop .tribe-events-event-meta .recurringinfo .tribe-events-divider{display:none}}.tribe-events-loop{clear:both}.tribe-events-loop .vevent.tribe-events-last{border-bottom:0}.tribe-events-loop .tribe-events-content{width:60%;float:left;padding:0 5% 0 0}.events-archive .tribe-events-content p,.single-tribe_venue .tribe-events-loop .tribe-events-content p{margin:0}.events-archive h3 .published,.single-tribe_venue h3 .published{font-size:18px;margin-top:0;font-style:italic;text-transform:none}.tribe-events-event-meta-desc,.tribe-events-event-day{color:#333}.single-tribe_events h2.tribe-events-single-event-title{font-size:1.7em;line-height:1;margin:0;padding:0}#tribe-events-content .tribe-events-single-event-description img.attachment-post-thumbnail{margin-left:auto;margin-right:auto;display:block;text-align:center}.tribe-events-meta-group .tribe-events-single-section-title{margin:20px 0 10px;font-size:1.4em;font-weight:bold}.tribe-events-meta-group+.tribe-events-single-section-title{margin-top:0}.tribe-events-event-meta .tribe-events-meta-group address.tribe-events-address{margin:0;display:block}#eventbrite-embed{width:100%;min-height:225px;margin:24px 0}.eventbrite-ticket-embed{margin:0 0 30px 0}.tribe-events-schedule{margin:20px 0 0}.single-tribe_events .tribe-events-schedule .tribe-events-divider,.single-tribe_events .tribe-events-schedule .recurringinfo,.single-tribe_events .tribe-events-schedule .tribe-events-cost{font-size:1.2em}.single-tribe_events .tribe-events-schedule h3{font-size:1.2em;display:inline-block;zoom:1;*display:inline;margin:0;padding:0;vertical-align:middle;white-space:nowrap}.single-tribe_events .tribe-events-schedule .tribe-events-cost{vertical-align:middle}.single-tribe_events .tribe-events-cal-links{display:inline-block;zoom:1;*display:inline;margin:0 0 20px 0;vertical-align:middle}.single-tribe_events a.tribe-events-ical,.single-tribe_events a.tribe-events-gcal{margin-bottom:0}.single-tribe_events .tribe-events-event-image{clear:both;text-align:center;margin-bottom:30px}.single-tribe_events .tribe-events-event-meta{background:#fafafa;border:1px solid #eee;margin:30px 0}.single-tribe_events .tribe-events-venue-map{width:58%;margin:20px 4% 2% 0;padding:5px;float:right;background:#eee;border:1px solid #ddd;border-radius:3px;display:inline-block;zoom:1;*display:inline;vertical-align:top}.single-tribe_events #tribe-events-gmap{height:0 !important;padding-top:50%;width:100% !important;margin:0 !important}.single-tribe_events .tribe-events-meta-group .tribe-events-venue-map{float:none;margin:20px 0 0;width:100%}.single-tribe_events .tribe-events-meta-group #tribe-events-gmap{height:0 !important;padding-top:100%;width:100% !important;margin-top:50px}.single-tribe_events .tribe-events-event-meta{font-size:12px}.tribe-events-event-meta .tribe-events-meta-group,.tribe-events-event-meta .column{float:left;width:33.3333%;padding:0 4%;text-align:left;margin:0 0 20px 0;display:inline-block;zoom:1;*display:inline;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.single-tribe_events .tribe-events-event-meta dl{margin:0}.single-tribe_events #tribe-events-content .tribe-events-event-meta dt{clear:left;font-weight:bold;line-height:1;list-style:none}.single-tribe_events #tribe-events-content .tribe-events-event-meta dd{padding:0;margin:0 0 10px 0;line-height:1.5;list-style:none;float:none}#tribe-events-content .tribe-events-event-meta dd span.adr{display:block}.single-tribe_events .tribe-events-content{width:auto;padding:0}@media only screen and (max-width:767px){.single-tribe_events .tribe-events-schedule h3{display:block;margin-bottom:10px}.single-tribe_events .tribe-events-schedule .recurringinfo .tribe-events-divider{display:none}.tribe-events-event-meta .tribe-events-meta-group,.tribe-events-event-meta .column{float:none;width:100%}}#tribe-events-content table.tribe-events-calendar{margin:12px 0 .6em;clear:both;font-size:12px;border-collapse:collapse}#tribe-events-content table.tribe-events-calendar,#tribe-events-content .tribe-events-calendar td{border:1px solid #bbb}.tribe-events-calendar div[id*="tribe-events-daynum-"],.tribe-events-calendar div[id*="tribe-events-daynum-"] a{background-color:#f5f5f5;color:#333;font-size:11px;font-weight:bold}.tribe-events-calendar td.tribe-events-present div[id*="tribe-events-daynum-"],.tribe-events-calendar td.tribe-events-present div[id*="tribe-events-daynum-"]>a{background-color:#666;color:#fff}.tribe-events-calendar td.tribe-events-past div[id*="tribe-events-daynum-"],.tribe-events-calendar td.tribe-events-past div[id*="tribe-events-daynum-"]>a{color:#999}#tribe-events-content .tribe-events-calendar td{height:110px;width:14.28%;color:#114b7d;vertical-align:top;padding:0 0 .5em;font-size:12px}.vevent.viewmore{font-weight:bold}.tribe-events-calendar .tribe-events-tooltip,.tribe-events-week .tribe-events-tooltip,.recurring-info-tooltip{border:1px solid #666;position:absolute;z-index:1001;bottom:30px;left:3px;width:320px;background-color:#f9f9f9;color:#333;line-height:1.4;display:none}.tribe-events-tooltip .tribe-events-arrow{width:18px;height:11px;background-image:url(images/tribe-tooltips.png);background-repeat:no-repeat;background-position:0 0;-webkit-background-size:44px 19px;background-size:44px 19px;display:block;position:absolute;bottom:-11px;left:20px}.tribe-events-calendar .tribe-events-right .tribe-events-tooltip,.tribe-events-week .tribe-events-right .tribe-events-tooltip,.recurring-info-tooltip{left:auto;right:3px}.tribe-events-right .tribe-events-tooltip .tribe-events-arrow{left:auto;right:30px}.recurringinfo{display:inline-block;vertical-align:middle;zoom:1;*display:inline;position:relative}.event-is-recurring{position:relative;font-style:normal;font-weight:500;color:rgba(0,0,0,.7)}.event-is-recurring:hover{color:#000}.recurring-info-tooltip.tribe-events-tooltip{left:10px;width:200px;padding-bottom:.8em}.events-archive.events-gridview #tribe-events-content table .vevent{margin:0 5%;padding:6px 8px;border-bottom:1px solid #e7e7e7}.events-archive.events-gridview #tribe-events-content table .tribe-events-last{border-bottom:0}.tribe-events-viewmore{margin:0 5%;padding:9px 8px;font-weight:bold;line-height:1;border-top:1px solid #e7e7e7}.tribe-events-calendar td .tribe-events-viewmore a{font-size:100%}.tribe-events-calendar th{width:250px;height:10px;background-color:#ddd;color:#333;padding:4px 0;text-align:center;text-transform:uppercase;letter-spacing:1px}.tribe-events-calendar td div[id*="tribe-events-daynum-"]{padding:6px 9px;line-height:1.2}.tribe-events-calendar td a{font-size:91.7%}.tribe-events-calendar div[id*="tribe-events-event-"],.tribe-events-calendar div[id*="tribe-events-daynum-"]{position:relative;margin:0}#tribe-events-content .tribe-events-calendar div[id*="tribe-events-event-"] h3.tribe-events-month-event-title{line-height:1.25;font-size:13px;font-weight:normal;font-family:sans-serif;font-weight:bold;text-transform:none;margin:0;padding:0;letter-spacing:0}.tribe-events-calendar div[id*="tribe-events-event-"] h3.tribe-events-month-event-title a{font-size:100%}#tribe-events-content .tribe-events-tooltip h4{margin:0;color:#fff;background-color:#666;font-size:12px;padding:0 6px;min-height:24px;line-height:24px;letter-spacing:1px;font-weight:normal}.tribe-events-tooltip .tribe-events-event-body{font-size:11px;padding:3px 6px 6px;font-weight:normal}.tribe-events-tooltip .duration{font-style:italic;margin:3px 0}.tribe-events-tooltip .tribe-events-event-thumb{float:left;padding:5px 5px 5px 0}.tribe-events-tooltip .tribe-events-event-thumb img{-webkit-box-shadow:none;box-shadow:none}.tribe-events-tooltip p.entry-summary{padding:0;font-size:11px;line-height:1.5}.tribe-events-list-widget ol li{margin-bottom:30px;list-style:none}.tribe-events-list-widget .duration{font-weight:bold}table.tribe-events-tickets .tickets_price{font-style:italic;color:#000;font-weight:bold}td.tickets_name{color:#777;font-size:13px}.single-tribe_events #tribe-events-content form.cart{background:#fafafa;border:1px solid #eee;margin:30px 0;padding:0 4% 3%}table.tribe-events-tickets{margin:0;width:100%}table.tribe-events-tickets td{border-top:1px solid #ddd;padding:8px 10px 8px 0;vertical-align:middle}table.tribe-events-tickets .tickets_nostock{display:inline-block;text-align:center}h2.tribe-events-tickets-title{margin:20px 0 25px;font-size:1.4em;font-weight:bold}#tribe-events-bar{width:100%;min-width:220px;margin-bottom:30px;height:auto;position:relative;clear:none}#tribe-events-bar *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#tribe-bar-form{background:#f5f5f5;position:relative;margin:0;width:100%}#tribe-bar-form input{font-size:15px;margin:0 4px 0 0}#tribe-bar-form input[type="text"]{width:100%;padding:0 0 5px 0;background:0;border:0;border-bottom:1px dashed #b9b9b9;line-height:1;height:auto;font-weight:bold;border-radius:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}#tribe-bar-form input[type=text]:focus{outline:0}input[name*="tribe-bar-"]::-webkit-input-placeholder{color:#5f5f5f;font-weight:normal;font-style:italic;line-height:1.3}input[name*="tribe-bar-"]:-moz-placeholder{color:#5f5f5f;font-weight:normal;font-style:italic;line-height:1.3}.placeholder{color:#5f5f5f;font-weight:normal;font-style:italic;line-height:1.3}#tribe-bar-form .tribe-bar-submit input[type=submit]{font-size:13px;line-height:20px;letter-spacing:0;width:100%;height:auto;padding:10px;background-image:none;background:#666;color:#fff;border:0;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-webkit-appearance:button}.tribe-bar-submit input[type=submit]:hover{background:#999;color:#fff}#tribe-bar-form label{display:block;font-size:11px;line-height:1;text-transform:uppercase;font-weight:bold;margin:0 0 5px 0;padding:0}#tribe-bar-dates .select2-choice{border-bottom:1px dashed #b9b9b9}#tribe-bar-form .tribe-bar-filters{position:relative;float:left;width:100%;margin:0}#tribe-bar-form #tribe-bar-views+.tribe-bar-filters{right:16.66667%;left:auto;width:83.3333%}#tribe-bar-form .tribe-bar-filters-inner{margin:0}#tribe-bar-form.tribe-bar-full .tribe-bar-filters{display:block !important}.tribe-bar-date-filter{float:left;width:25%;margin-bottom:0;padding:15px}.tribe-bar-search-filter{float:left;width:33.3333%;margin-bottom:0;padding:15px}.tribe-bar-submit{float:left;width:25%;margin-bottom:0;margin-left:16.6667%;padding:15px}#tribe-bar-form #tribe-bar-views{position:relative;left:83.3333%;right:auto;float:left;width:16.66667%;padding:0 0 0 5px;background:transparent;margin:0}#tribe-bar-views:hover,#tribe-bar-views label:hover{cursor:pointer}.tribe-bar-views-inner{padding:15px 0;background:#e0e0e0;margin:0}#tribe-bar-form .tribe-bar-views-inner label{padding:0 15px}.tribe-bar-views-inner .select2-container{padding:0 15px}#tribe-bar-views .select2-container .select2-choice{background:0;filter:"progid:DXImageTransform.Microsoft.gradient(enabled=false)";border:0;padding:0}#tribe-bar-views .select2-dropdown-open .select2-choice{box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.tribe-select2-results-views.select2-drop{background:#dbdbdb;border:0;z-index:10001;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}.tribe-select2-results-views.select2-drop .select2-results li{padding:0 15px}.tribe-select2-results-views.select2-drop .select2-results .select2-highlighted{background:#cacaca;color:inherit}#tribe-bar-form.tribe-bar-mini #tribe-bar-views{width:16.66667%}#tribe-bar-views .tribe-bar-view-list{list-style-type:none;margin:0;padding:0;text-align:right;line-height:32px}#tribe-bar-views .tribe-bar-view-list li{padding:0 2px;display:inline-block;zoom:1;*display:inline}.tribe-no-js #tribe-bar-views [name="tribe-bar-view"]{display:block}#tribe-bar-views [name="tribe-bar-view"]{display:none}#tribe-bar-views .tribe-select2{width:100% !important;float:left}#tribe-bar-views .select2-container-active .select2-choice,#tribe-bar-views .select2-container-active .select2-choices{outline:0;box-shadow:none}.tribe-select2-results-views .select2-results{margin:0;padding:0}.tribe-select2-results-views .select2-results .select2-result-label{padding:4px 0}.tribe-select2-results .select2-results{margin:4px 0;padding:0}.tribe-select2-results .select2-results .select2-result-label{padding:6px 8px;color:#444;line-height:14px}.tribe-select2-results .select2-results .select2-highlighted{background:#ddd;color:#444}#tribe-bar-views .select2-container .select2-choice div{display:none}#tribe-bar-views .select2-container .select2-choice span{margin-right:18px}#tribe-bar-views .select2-container .select2-choice span span{margin-right:0}#tribe-bar-views .tribe-bar-settings{display:none}#tribe-bar-form.tribe-bar-mini *{font-size:12px}#tribe-bar-form.tribe-bar-mini label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribe-bar-mini .tribe-bar-filters{display:block !important;float:left;width:83.3333%}.tribe-bar-mini .tribe-bar-date-filter{padding:10px}.tribe-bar-mini .tribe-bar-search-filter{width:45%;padding:10px}.tribe-bar-mini .tribe-bar-submit{width:25%;margin-left:5%;padding:10px}#tribe-bar-form.tribe-bar-mini .tribe-bar-submit input[type=submit]{font-size:11px;padding:10px 5px;-webkit-appearance:button}.tribe-bar-mini #tribe-bar-views{width:16.66667%}.tribe-bar-mini .tribe-bar-views-inner{padding:10px 0}.tribe-bar-mini .tribe-bar-views-inner label{padding:0 10px}.tribe-bar-mini .tribe-bar-views-inner .select2-container{padding:0 10px}.tribe-bar-mini-select2-results.tribe-select2-results-views.select2-drop .select2-results li{padding:0 10px;font-size:12px}#tribe-bar-collapse-toggle{display:none;float:left;padding:15px;position:relative;font-size:13px;line-height:28px;font-weight:bold;text-transform:uppercase;background:#f5f5f5}#tribe-bar-collapse-toggle:hover{cursor:pointer}#tribe-bar-collapse-toggle span.tribe-bar-toggle-arrow{display:inline-block;margin:0 4px;position:absolute;right:10px}#tribe-bar-collapse-toggle span.tribe-bar-toggle-arrow:after{top:10px;right:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(136,183,213,0);border-top-color:inherit;border-width:8px}#tribe-bar-collapse-toggle.tribe-bar-filters-open span.tribe-bar-toggle-arrow:after{top:0;border-top-color:transparent;border-bottom-color:inherit}#tribe-bar-form.tribe-bar-collapse #tribe-bar-views+.tribe-bar-filters{display:none;margin-top:5px;overflow:hidden;clear:both;left:auto;right:auto;width:100%}.tribe-bar-collapse .tribe-bar-filters-inner>div,.tribe-bar-collapse #tribe-bar-views{width:100%;height:auto;margin:0}.tribe-bar-collapse #tribe-bar-collapse-toggle{display:block;width:70%}.tribe-bar-collapse #tribe-bar-collapse-toggle.tribe-bar-collapse-toggle-full-width{width:100%}#tribe-bar-form.tribe-bar-collapse #tribe-bar-views{float:left;left:auto;width:30%}#tribe-bar-form.tribe-bar-collapse .tribe-bar-views-inner{padding:10px 0}#tribe-bar-form.tribe-bar-collapse .tribe-bar-views-inner label{margin:0}@media only screen and (max-width:767px){.tribe-bar-collapse #tribe-bar-collapse-toggle{width:60%}#tribe-bar-form.tribe-bar-collapse #tribe-bar-views{width:40%}}.tribe-bar-is-disabled .tribe-events-page-title{line-height:45px;text-align:left;clear:none;margin:0}.tribe-bar-disabled{float:right;position:relative;z-index:101}.tribe-bar-disabled #tribe-events-bar{width:auto;min-width:0;float:none}.tribe-bar-disabled #tribe-bar-form{width:auto;border-radius:3px}.tribe-bar-disabled .tribe-bar-filters{float:left}.tribe-bar-disabled .tribe-bar-filters .tribe-bar-date-filter{padding:5px 10px}.tribe-bar-disabled #tribe-bar-form label{font-size:10px}.tribe-bar-disabled #tribe-bar-form .tribe-bar-filters input[type="text"]{border:0;display:block;width:85px;margin:0;padding:0;font-size:13px;line-height:15px}.tribe-bar-disabled #tribe-bar-form #tribe-bar-views+.tribe-bar-filters{left:auto;right:50%;width:50%}.tribe-bar-disabled .tribe-bar-date-filter,.tribe-events-uses-geolocation .tribe-bar-disabled .tribe-bar-date-filter{width:auto}.tribe-bar-disabled #tribe-bar-form #tribe-bar-views{width:50%;float:left;left:50%;right:auto;padding:0}.tribe-bar-disabled .tribe-bar-views-inner{padding:5px 0;border-radius:0 3px 3px 0}.tribe-bar-disabled #tribe-bar-views .select2-container,.tribe-bar-disabled #tribe-bar-form .tribe-bar-views-inner label{padding:0 10px}.tribe-bar-disabled #tribe-bar-views .select2-container .select2-choice{line-height:18px;height:auto;font-size:13px}.tribe-bar-is-disabled .tribe-select2-results-views.select2-drop .select2-results li{padding:0 10px}.tribe-bar-disabled #tribe-bar-collapse-toggle,.tribe-bar-disabled .tribe-bar-submit{display:none}.tribe-select2-results-views span[class^="tribe-icon-"],.tribe-select2 span[class^="tribe-icon-"],.tribe-bar-view-list a[class*="tribe-icon-"]{padding-left:24px;background-repeat:no-repeat;background-position:0 50%}.tribe-select2-results-views span[class^="tribe-icon-"]{min-height:16px;display:inline-block}.tribe-select2-results-views span[class^="tribe-icon-"],.tribe-select2 span[class^="tribe-icon-"],.tribe-bar-view-list a[class^="tribe-icon-"]{background-image:url(images/events-bar/icon-month.png);-webkit-background-size:15px 16px;background-size:15px 16px}.tribe-select2-results-views span.tribe-icon-list,.tribe-select2 span.tribe-icon-list,.tribe-bar-view-list a.tribe-icon-list{background-image:url(images/events-bar/icon-list.png);-webkit-background-size:15px 10px;background-size:15px 10px}.tribe-bar-view-list a.tribe-icon-upcoming,.tribe-bar-view-list a.tribe-icon-month{padding-left:30px;background-position:10px 50%}.tribe-select2-results-views .tribe-icon-month,.tribe-select2 span.tribe-icon-month,.tribe-bar-view-list a.tribe-icon-month{background-image:url(images/events-bar/icon-month.png);-webkit-background-size:15px 16px;background-size:15px 16px}.tribe-select2-results-views span.tribe-icon-week,.tribe-select2 span.tribe-icon-week{background-image:url(images/events-bar/icon-week.png);-webkit-background-size:15px 16px;background-size:15px 16px}.tribe-select2-results-views span.tribe-icon-day,.tribe-select2 span.tribe-icon-day{background-image:url(images/events-bar/icon-day.png);-webkit-background-size:15px 16px;background-size:15px 16px}.tribe-select2-results-views span.tribe-icon-photo,.tribe-select2 span.tribe-icon-photo{background-image:url(images/events-bar/icon-photo.png);-webkit-background-size:15px 14px;background-size:15px 14px}.tribe-select2-results-views span.tribe-icon-map,.tribe-select2 span.tribe-icon-map{background-image:url(images/events-bar/icon-map.png);-webkit-background-size:12px 16px;background-size:12px 16px;background-position:2px 50%}@media only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){.tribe-events-tooltip .tribe-events-arrow{background-image:url(images/tribe-tooltips@2x.png)}#tribe-bar-filters .tribe-bar-button-search .tribe-bar-btn-small{background-image:url(images/events-bar/icon-search@2x.png)}#tribe-events-bar .tribe-bar-button-settings span{background-image:url(images/events-bar/icon-gear@2x.png)}#tribe-events-bar [class^="tribe-bar-button-"]:after{background-image:url(../vendor/select2/select2x2.png)}.tribe-select2-results-views span[class^="tribe-icon-"],.tribe-select2 span[class^="tribe-icon-"],.tribe-bar-view-list a[class^="tribe-icon-"]{background-image:url(images/events-bar/icon-month@2x.png)}.tribe-select2-results-views span.tribe-icon-list,.tribe-select2 span.tribe-icon-list,.tribe-bar-view-list a.tribe-icon-upcoming{background-image:url(images/events-bar/icon-list@2x.png)}.tribe-select2-results-views span.tribe-icon-month,.tribe-select2 span.tribe-icon-month,.tribe-bar-view-list a.tribe-icon-month{background-image:url(images/events-bar/icon-month@2x.png)}.tribe-select2-results-views span.tribe-icon-week,.tribe-select2 span.tribe-icon-week{background-image:url(images/events-bar/icon-week@2x.png)}.tribe-select2-results-views span.tribe-icon-day,.tribe-select2 span.tribe-icon-day{background-image:url(images/events-bar/icon-day@2x.png)}.tribe-select2-results-views span.tribe-icon-photo,.tribe-select2 span.tribe-icon-photo{background-image:url(images/events-bar/icon-photo@2x.png)}.tribe-select2-results-views span.tribe-icon-map,.tribe-select2 span.tribe-icon-map{background-image:url(images/events-bar/icon-map@2x.png)}}
|
1 |
+
#tribe-events-pg-template{max-width:1000px;margin:0 auto}.tribe-events-after-html{clear:both}#tribe-events-pg-template .tribe-events-content p,.tribe-events-before-html p,.tribe-events-after-html p{margin:0 0 10px;line-height:1.7}#tribe-events-pg-template .tribe-events-content h1,.tribe-events-before-html h1,.tribe-events-after-html h1,#tribe-events-pg-template .tribe-events-content h2,.tribe-events-before-html h2,.tribe-events-after-html h2,#tribe-events-pg-template .tribe-events-content h3,.tribe-events-before-html h3,.tribe-events-after-html h3,#tribe-events-pg-template .tribe-events-content h4,.tribe-events-before-html h4,.tribe-events-after-html h4,#tribe-events-pg-template .tribe-events-content h5,.tribe-events-before-html h5,.tribe-events-after-html h5,#tribe-events-pg-template .tribe-events-content h6,.tribe-events-before-html h6,.tribe-events-after-html h6{margin:24px 0;margin:20px 0;line-height:1.7}.tribe-events-before-html h1,.tribe-events-after-html h1,#tribe-events-pg-template .tribe-events-content h1{font-size:21px;line-height:1.5}.tribe-events-before-html h2,.tribe-events-after-html h2,#tribe-events-pg-template .tribe-events-content h2{font-size:18px;line-height:1.6}.tribe-events-before-html h3,.tribe-events-after-html h3,#tribe-events-pg-template .tribe-events-content h3{font-size:16px;line-height:1.8}.tribe-events-before-html h4,.tribe-events-after-html h4,#tribe-events-pg-template .tribe-events-content h4{font-size:14px;line-height:1.8}.tribe-events-before-html h5,.tribe-events-after-html h5,#tribe-events-pg-template .tribe-events-content h5{font-size:13px;line-height:1.8}.tribe-events-before-html h6,.tribe-events-after-html h6,#tribe-events-pg-template .tribe-events-content h6{font-size:12px;line-height:1.8}.tribe-events-before-html ul,.tribe-events-after-html ul,#tribe-events-pg-template .tribe-events-content ul{list-style:disc outside}.tribe-events-before-html ol,.tribe-events-after-html ol,#tribe-events-pg-template .tribe-events-content ol{list-style:decimal outside}.tribe-events-before-html ul li,.tribe-events-after-html ul li,.tribe-events-before-html ol li,.tribe-events-after-html ol li,#tribe-events-pg-template .tribe-events-content ul li,#tribe-events-pg-template .tribe-events-content ol li{margin:0 0 20px;line-height:1.7}.tribe-events-back{margin:0 0 20px 0}#tribe-events-content a,.tribe-events-event-meta a{text-decoration:none}.tribe-events-read-more{display:block}ul.tribe-events-sub-nav a,.tribe-events-back a,.tribe-events-list-widget .tribe-events-widget-link a,.tribe-events-adv-list-widget .tribe-events-widget-link a{text-decoration:none}ul.tribe-events-sub-nav a:hover,.tribe-events-back a:hover,.tribe-events-list-widget .tribe-events-widget-link a:hover,.tribe-events-adv-list-widget .tribe-events-widget-link a:hover{text-decoration:none}.tribe-events-day.page .hentry,.tribe-events-week.page .hentry{margin:0;padding:0 0 15px 0}.tribe-events-button{background-color:#666;color:#fff;background-image:none;font-size:11px;font-weight:bold;padding:6px 9px;text-align:center;text-transform:uppercase;letter-spacing:1px;-webkit-border-radius:3px;border-radius:3px;border:0;line-height:normal;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;text-decoration:none}.tribe-events-button.tribe-active{background-color:#666;color:#fff}.tribe-events-button.tribe-inactive,.tribe-events-button:hover,.tribe-events-button.tribe-active:hover{background-color:#ddd;color:#444;text-decoration:none}a.tribe-events-ical,a.tribe-events-gcal{font-size:10px;font-weight:normal;padding:0 6px;float:right;text-decoration:none;line-height:18px;margin-top:21px;color:#fff;clear:both}.tribe-events-gcal{margin-right:9px}.single-tribe_events a.tribe-events-ical,.single-tribe_events a.tribe-events-gcal{float:none}.tribe-events-event-meta .tribe-events-gmap,.tribe-events-event-meta-desc .tribe-events-gmap{white-space:nowrap}.event .entry-title{color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:inherit}.updated-info{text-indent:-9999px;height:0}.tribe-events-event-image{margin:0 0 20px 0;text-align:center}.tribe-events-event-image img{max-width:100%;height:auto}.tribe-events-schedule h2{font-style:normal;font-weight:bold}.tribe-events-event-schedule-details{display:inline}.tribe-events-divider{padding:0 10px;font-weight:bold}.events-archive .entry-content,.events-archive .entry-header{width:98%}.events-archive span.edit-link{display:none}.tribe-events-notices{background:#d9edf7;border:1px solid #bce8f1;color:#3a87ad;margin:10px 0 18px;padding:8px 35px 8px 14px;text-shadow:0 1px 0 #fff;-webkit-border-radius:4px;border-radius:4px}div.tribe-events-notices>ul,div.tribe-events-notices>ul>li{margin:0;padding:0;list-style:none}#tribe-events-content p.tribe-events-promo{font-size:12px;color:#999}#tribe-events-content p.tribe-events-promo a{color:#666}.clearfix:before,.tribe-clearfix:before,.clearfix:after,.tribe-clearfix:after{content:"";display:table}.clearfix:after,.tribe-clearfix:after{clear:both}.clearfix,.tribe-clearfix{zoom:1}.tribe-clear{clear:both}.tribe-events-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tribe-hide-text{text-indent:100%;white-space:nowrap;overflow:hidden}.tribe-events-error{display:none}.tribe-events-multi-event-day{color:#0f81bb}#tribe-events-content .tribe-events-abbr{border-bottom:0;cursor:default}.tribe-events-spinner{width:32px;height:32px;margin-left:-16px}.tribe-events-spinner-medium{width:24px;height:24px}.tribe-events-spinner-small{width:16px;height:16px;margin-left:-8px}*+html .events-archive h2.tribe-events-page-title{padding-bottom:30px}*+html .events-archive .tribe-events-list h2.tribe-events-page-title{padding-bottom:0}*+html #tribe-events-header{margin-bottom:30px}h2.tribe-events-page-title{font-size:24px;font-weight:normal;position:relative;z-index:0;margin-bottom:.5em;text-align:center;clear:none}.tribe-events-filter-view .tribe-events-list h2.tribe-events-page-title{width:100%;float:none}h2.tribe-events-page-title a{color:#000}h2.tribe-events-page-title a:hover,h2.tribe-events-page-title a:focus{color:#333;text-decoration:underline}#tribe-events-header,#tribe-events-footer{margin-bottom:.5em;clear:both}#tribe-events-header .tribe-events-sub-nav,#tribe-events-footer .tribe-events-sub-nav{list-style-type:none;margin:0;overflow:hidden;line-height:normal;text-align:center}#tribe-events-header .tribe-events-sub-nav li,#tribe-events-footer .tribe-events-sub-nav li{display:inline-block;zoom:1;*display:inline;margin:0;vertical-align:middle}#tribe-events-header .tribe-events-sub-nav li,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-previous{float:left;margin-right:5px;text-align:left;white-space:nowrap}#tribe-events-header .tribe-events-sub-nav .tribe-events-nav-next,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-next{float:right;margin-left:5px;text-align:right;white-space:nowrap}#tribe-events-header .tribe-events-sub-nav .tribe-events-nav-left,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-left{float:left;text-align:left;white-space:nowrap}#tribe-events-header .tribe-events-sub-nav .tribe-events-nav-right,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-right{float:right;text-align:right;white-space:nowrap}.tribe-events-ajax-loading{display:none;position:absolute;left:50%;margin-left:-27px;top:150px;padding:15px;background:#666;z-index:10;border-radius:5px;-webkit-box-shadow:none !important;box-shadow:none !important;-moz-box-shadow:none !important}.tribe-events-loading .tribe-events-ajax-loading{display:block}.tribe-events-ajax-loading.tribe-events-active-spinner,.tribe-events-ajax-loading.tribe-events-active-spinner img{display:block}#tribe-events-header{position:relative}#tribe-events-footer{margin-bottom:1em}.events-list #tribe-events-footer,.tribe-events-day #tribe-events-footer,.tribe-events-map #tribe-events-footer{margin:1.25em 0 18px;clear:both}.tribe-events-map #tribe-events-header{margin:1em 0}.single-tribe_events #tribe-events-header{margin:1em 0 20px}.single-tribe_events #tribe-events-header li,.single-tribe_events #tribe-events-footer li{width:48%}#tribe-events-content .tribe-events-nav-date{padding-top:16px}select.tribe-events-dropdown{width:auto;font-size:11px;margin:33px 9px 0 0}#tribe-events-events-picker,#tribe-events-picker{display:inline}@media only screen and (max-width:767px){#tribe-events-header .tribe-events-sub-nav .tribe-events-nav-next,#tribe-events-header .tribe-events-sub-nav .tribe-events-nav-previous,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-next,#tribe-events-footer .tribe-events-sub-nav .tribe-events-nav-previous{display:block;width:50%;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tribe-events-sub-nav li a{display:block;padding:10px 15px;background:#666;color:#fff;white-space:normal}.tribe-events-sub-nav .tribe-events-nav-previous,.tribe-events-sub-nav .tribe-events-nav-left{padding:0 1px}.tribe-events-sub-nav .tribe-events-nav-next,.tribe-events-sub-nav .tribe-events-nav-right{padding:0 0 0 1px}}#tribe-events-content{position:relative;margin-bottom:48px;padding:2px 0}#tribe-events-content.tribe-events-list{padding:0}.tribe-events-list h2.tribe-events-page-title{margin-bottom:15px}#tribe-events-content.tribe-events-list{margin-bottom:60px}.tribe-events-list .vevent.hentry{border-bottom:1px solid #ddd;padding:2.25em 0;margin:0}.tribe-events-list .vevent.hentry.tribe-events-first{padding-top:0}.tribe-events-list h2.tribe-events-list-event-title{margin:0;padding:0;font-size:1.4em;line-height:1.4em;text-transform:none;letter-spacing:0;display:block;border:0}.tribe-events-list h2.tribe-events-list-event-title{float:none;display:inline}.tribe-events-event-details .tribe-events-event-meta address.tribe-events-address{font-style:normal;font-family:inherit;font-size:inherit;line-height:inherit}.tribe-events-list .tribe-events-event-image{float:left;width:30%;margin:0 3% 0 0}.tribe-events-list .tribe-events-event-image img{width:100%;height:auto;margin:0;padding:0}.tribe-events-list .tribe-events-event-image+div.tribe-events-content{float:left;width:67%;position:relative}.tribe-events-loop .tribe-events-event-meta{float:none;clear:both;border:0;margin:5px 0 15px 0;line-height:1.5;font-size:14px;font-weight:bold;overflow:visible}.tribe-events-list .tribe-events-loop .tribe-events-event-meta .recurringinfo{display:inline-block;zoom:1;*display:inline}.tribe-events-event-meta address.tribe-events-address{display:inline;font-style:normal;font-family:inherit;font-size:inherit;line-height:inherit;margin-right:10px}.tribe-events-list .tribe-events-loop .tribe-events-event-meta .event-is-recurring{position:relative}.tribe-events-list .time-details,.tribe-events-list .tribe-events-venue-details{line-height:1.2;margin:0;display:block}.tribe-events-list .time-details{margin:0 0 8px 0}.tribe-events-list .tribe-events-event-cost{float:right;margin:0 0 5px 5px}.tribe-events-list .tribe-events-event-cost span{font-weight:bold;background:#eee;border:1px solid #ddd;display:block;padding:5px 10px;text-align:center;line-height:1.3;font-style:normal;text-overflow:ellipsis}.tribe-events-list .tribe-events-loop .tribe-events-content{width:100%;padding:0}.tribe-events-list .tribe-events-loop .tribe-events-content p{margin:0}.tribe-events-list-separator-year{display:block;text-align:center;font-size:38px;color:#ccc;padding:1em 2.25em 0;font-weight:bold}.tribe-events-list-separator-month{display:block;text-transform:uppercase;font-weight:bold;font-size:14px;margin:2.5em 0 0;background-color:#EEE;padding:6px 10px}.tribe-events-list-separator-month+.vevent.hentry.tribe-events-first{padding-top:2.25em}.tribe-events-list .vevent.hentry.tribe-event-end-month{border-bottom:0;padding-bottom:0}@media only screen and (max-width:767px){.tribe-events-list .tribe-events-event-image{float:none;width:100%;margin:0 0 20px 0}.tribe-events-list .tribe-events-event-image+div.tribe-events-content{float:none;width:100%}.tribe-events-list .tribe-events-loop .tribe-events-event-meta .recurringinfo{display:block;margin:8px 0 0}.tribe-events-list .tribe-events-loop .tribe-events-event-meta .recurringinfo .tribe-events-divider{display:none}}.tribe-events-loop{clear:both}.tribe-events-loop .vevent.tribe-events-last{border-bottom:0}.tribe-events-loop .tribe-events-content{width:60%;float:left;padding:0 5% 0 0}.events-archive .tribe-events-content p,.single-tribe_venue .tribe-events-loop .tribe-events-content p{margin:0}.events-archive h3 .published,.single-tribe_venue h3 .published{font-size:18px;margin-top:0;font-style:italic;text-transform:none}.tribe-events-event-meta-desc,.tribe-events-event-day{color:#333}.single-tribe_events h2.tribe-events-single-event-title{font-size:1.7em;line-height:1;margin:0;padding:0}#tribe-events-content .tribe-events-single-event-description img.attachment-post-thumbnail{margin-left:auto;margin-right:auto;display:block;text-align:center}.tribe-events-meta-group .tribe-events-single-section-title{margin:20px 0 10px;font-size:1.4em;font-weight:bold}.tribe-events-meta-group+.tribe-events-single-section-title{margin-top:0}.tribe-events-event-meta .tribe-events-meta-group address.tribe-events-address{margin:0;display:block}#eventbrite-embed{width:100%;min-height:225px;margin:24px 0}.eventbrite-ticket-embed{margin:0 0 30px 0}.tribe-events-schedule{margin:20px 0 0}.single-tribe_events .tribe-events-schedule .tribe-events-divider,.single-tribe_events .tribe-events-schedule .recurringinfo,.single-tribe_events .tribe-events-schedule .tribe-events-cost{font-size:1.2em}.single-tribe_events .tribe-events-schedule h3{font-size:1.2em;display:inline-block;zoom:1;*display:inline;margin:0;padding:0;vertical-align:middle;white-space:nowrap}.single-tribe_events .tribe-events-schedule .tribe-events-cost{vertical-align:middle}.single-tribe_events .tribe-events-cal-links{display:inline-block;zoom:1;*display:inline;margin:0 0 20px 0;vertical-align:middle}.single-tribe_events a.tribe-events-ical,.single-tribe_events a.tribe-events-gcal{margin-bottom:0}.single-tribe_events .tribe-events-event-image{clear:both;text-align:center;margin-bottom:30px}.single-tribe_events .tribe-events-event-meta{background:#fafafa;border:1px solid #eee;margin:30px 0}.single-tribe_events .tribe-events-venue-map{width:58%;margin:20px 4% 2% 0;padding:5px;float:right;background:#eee;border:1px solid #ddd;border-radius:3px;display:inline-block;zoom:1;*display:inline;vertical-align:top}.single-tribe_events #tribe-events-gmap{height:0 !important;padding-top:50%;width:100% !important;margin:0 !important}.single-tribe_events .tribe-events-meta-group .tribe-events-venue-map{float:none;margin:20px 0 0;width:100%}.single-tribe_events .tribe-events-meta-group #tribe-events-gmap{height:0 !important;padding-top:100%;width:100% !important;margin-top:50px}.single-tribe_events .tribe-events-event-meta{font-size:12px}.tribe-events-event-meta .tribe-events-meta-group,.tribe-events-event-meta .column{float:left;width:33.3333%;padding:0 4%;text-align:left;margin:0 0 20px 0;display:inline-block;zoom:1;*display:inline;vertical-align:top;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.single-tribe_events .tribe-events-event-meta dl{margin:0}.single-tribe_events #tribe-events-content .tribe-events-event-meta dt{clear:left;font-weight:bold;line-height:1;list-style:none}.single-tribe_events #tribe-events-content .tribe-events-event-meta dd{padding:0;margin:0 0 10px 0;line-height:1.5;list-style:none;float:none}#tribe-events-content .tribe-events-event-meta dd span.adr{display:block}.single-tribe_events .tribe-events-content{width:auto;padding:0}@media only screen and (max-width:767px){.single-tribe_events .tribe-events-schedule h3{display:block;margin-bottom:10px}.single-tribe_events .tribe-events-schedule .recurringinfo .tribe-events-divider{display:none}.tribe-events-event-meta .tribe-events-meta-group,.tribe-events-event-meta .column{float:none;width:100%}}#tribe-events-content table.tribe-events-calendar{margin:12px 0 .6em;clear:both;font-size:12px;border-collapse:collapse}#tribe-events-content table.tribe-events-calendar,#tribe-events-content .tribe-events-calendar td{border:1px solid #bbb}.tribe-events-calendar div[id*="tribe-events-daynum-"],.tribe-events-calendar div[id*="tribe-events-daynum-"] a{background-color:#f5f5f5;color:#333;font-size:11px;font-weight:bold}.tribe-events-calendar td.tribe-events-present div[id*="tribe-events-daynum-"],.tribe-events-calendar td.tribe-events-present div[id*="tribe-events-daynum-"]>a{background-color:#666;color:#fff}.tribe-events-calendar td.tribe-events-past div[id*="tribe-events-daynum-"],.tribe-events-calendar td.tribe-events-past div[id*="tribe-events-daynum-"]>a{color:#999}#tribe-events-content .tribe-events-calendar td{height:110px;width:14.28%;color:#114b7d;vertical-align:top;padding:0 0 .5em;font-size:12px}.vevent.viewmore{font-weight:bold}.tribe-events-calendar .tribe-events-tooltip,.tribe-events-week .tribe-events-tooltip,.recurring-info-tooltip{border:1px solid #666;position:absolute;z-index:1001;bottom:30px;left:3px;width:320px;background-color:#f9f9f9;color:#333;line-height:1.4;display:none}.tribe-events-tooltip .tribe-events-arrow{width:18px;height:11px;background-image:url(images/tribe-tooltips.png);background-repeat:no-repeat;background-position:0 0;-webkit-background-size:44px 19px;background-size:44px 19px;display:block;position:absolute;bottom:-11px;left:20px}.tribe-events-calendar .tribe-events-right .tribe-events-tooltip,.tribe-events-week .tribe-events-right .tribe-events-tooltip,.recurring-info-tooltip{left:auto;right:3px}.tribe-events-right .tribe-events-tooltip .tribe-events-arrow{left:auto;right:30px}.recurringinfo{display:inline-block;vertical-align:middle;zoom:1;*display:inline;position:relative}.event-is-recurring{position:relative;font-style:normal;font-weight:500;color:rgba(0,0,0,.7)}.event-is-recurring:hover{color:#000}.recurring-info-tooltip.tribe-events-tooltip{left:10px;width:200px;padding-bottom:.8em}.events-archive.events-gridview #tribe-events-content table .vevent{margin:0 5%;padding:6px 8px;border-bottom:1px solid #e7e7e7}.events-archive.events-gridview #tribe-events-content table .tribe-events-last{border-bottom:0}.tribe-events-viewmore{margin:0 5%;padding:9px 8px;font-weight:bold;line-height:1;border-top:1px solid #e7e7e7}.tribe-events-calendar td .tribe-events-viewmore a{font-size:100%}.tribe-events-calendar th{width:250px;height:10px;background-color:#ddd;color:#333;padding:4px 0;text-align:center;text-transform:uppercase;letter-spacing:1px}.tribe-events-calendar td div[id*="tribe-events-daynum-"]{padding:6px 9px;line-height:1.2}.tribe-events-calendar td a{font-size:91.7%}.tribe-events-calendar div[id*="tribe-events-event-"],.tribe-events-calendar div[id*="tribe-events-daynum-"]{position:relative;margin:0}#tribe-events-content .tribe-events-calendar div[id*="tribe-events-event-"] h3.tribe-events-month-event-title{line-height:1.25;font-size:13px;font-weight:normal;font-family:sans-serif;font-weight:bold;text-transform:none;margin:0;padding:0;letter-spacing:0}.tribe-events-calendar div[id*="tribe-events-event-"] h3.tribe-events-month-event-title a{font-size:100%}#tribe-events-content .tribe-events-tooltip h4{margin:0;color:#fff;background-color:#666;font-size:12px;padding:0 6px;min-height:24px;line-height:24px;letter-spacing:1px;font-weight:normal}.tribe-events-tooltip .tribe-events-event-body{font-size:11px;padding:3px 6px 6px;font-weight:normal}.tribe-events-tooltip .duration{font-style:italic;margin:3px 0}.tribe-events-tooltip .tribe-events-event-thumb{float:left;padding:5px 5px 5px 0}.tribe-events-tooltip .tribe-events-event-thumb img{-webkit-box-shadow:none;box-shadow:none}.tribe-events-tooltip p.entry-summary{padding:0;font-size:11px;line-height:1.5}.tribe-events-list-widget ol li{margin-bottom:30px;list-style:none}.tribe-events-list-widget .duration{font-weight:bold}table.tribe-events-tickets .tickets_price{font-style:italic;color:#000;font-weight:bold}td.tickets_name{color:#777;font-size:13px}.single-tribe_events #tribe-events-content form.cart{background:#fafafa;border:1px solid #eee;margin:30px 0;padding:0 4% 3%}table.tribe-events-tickets{margin:0;width:100%}table.tribe-events-tickets td{border-top:1px solid #ddd;padding:8px 10px 8px 0;vertical-align:middle}table.tribe-events-tickets .tickets_nostock{display:inline-block;text-align:center}h2.tribe-events-tickets-title{margin:20px 0 25px;font-size:1.4em;font-weight:bold}#tribe-events-bar{width:100%;min-width:220px;margin-bottom:30px;height:auto;position:relative;clear:none}#tribe-events-bar *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#tribe-bar-form{background:#f5f5f5;position:relative;margin:0;width:100%}#tribe-bar-form input{font-size:15px;margin:0 4px 0 0}#tribe-bar-form input[type="text"]{width:100%;padding:0 0 5px 0;background:0;border:0;border-bottom:1px dashed #b9b9b9;line-height:1;height:auto;font-weight:bold;border-radius:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}#tribe-bar-form input[type=text]:focus{outline:0}input[name*="tribe-bar-"]::-webkit-input-placeholder{color:#5f5f5f;font-weight:normal;font-style:italic;line-height:1.3}input[name*="tribe-bar-"]:-moz-placeholder{color:#5f5f5f;font-weight:normal;font-style:italic;line-height:1.3}.placeholder{color:#5f5f5f;font-weight:normal;font-style:italic;line-height:1.3}#tribe-bar-form .tribe-bar-submit input[type=submit]{font-size:13px;line-height:20px;letter-spacing:0;width:100%;height:auto;padding:10px;background-image:none;background:#666;color:#fff;border:0;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-webkit-appearance:button}.tribe-bar-submit input[type=submit]:hover{background:#999;color:#fff}#tribe-bar-form label{display:block;font-size:11px;line-height:1;text-transform:uppercase;font-weight:bold;margin:0 0 5px 0;padding:0}#tribe-bar-dates .select2-choice{border-bottom:1px dashed #b9b9b9}#tribe-bar-form .tribe-bar-filters{position:relative;float:left;width:100%;margin:0}#tribe-bar-form #tribe-bar-views+.tribe-bar-filters{right:16.66667%;left:auto;width:83.3333%}#tribe-bar-form .tribe-bar-filters-inner{margin:0}#tribe-bar-form.tribe-bar-full .tribe-bar-filters{display:block !important}.tribe-bar-date-filter{float:left;width:25%;margin-bottom:0;padding:15px}.tribe-bar-search-filter{float:left;width:33.3333%;margin-bottom:0;padding:15px}.tribe-bar-submit{float:left;width:25%;margin-bottom:0;margin-left:16.6667%;padding:15px}#tribe-bar-form #tribe-bar-views{position:relative;left:83.3333%;right:auto;float:left;width:16.66667%;padding:0 0 0 5px;background:transparent;margin:0}#tribe-bar-views:hover,#tribe-bar-views label:hover{cursor:pointer}.tribe-bar-views-inner{padding:15px 0 45px 0;background:#e0e0e0;margin:0}#tribe-bar-form .tribe-bar-views-inner label{padding:0 15px;text-align:left}.tribe-bar-views-inner .select2-container{padding:0 15px}.tribe-select2-results-views.select2-drop{background:#dbdbdb;border:0;z-index:10001;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}#tribe-bar-form.tribe-bar-mini #tribe-bar-views{width:16.66667%}#tribe-bar-views .tribe-bar-views-list{list-style-type:none;margin:0 0 0 5px;padding:0;position:absolute;left:0;top:auto;z-index:99;border-radius:0 0 3px 3px}#tribe-bar-views li.tribe-bar-views-option{line-height:14px;margin:0 5px 0 0;padding:0;list-style:none;background:0;filter:"progid:DXImageTransform.Microsoft.gradient(enabled=false)";list-style:none;border:0;padding:0;display:none;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none}#tribe-bar-views .tribe-bar-views-option:first-child,#tribe-bar-views .tribe-bar-views-option.tribe-bar-active,#tribe-bar-views.tribe-bar-views-open .tribe-bar-views-option{display:list-item}#tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option a{color:#444;text-align:left;display:block;text-decoration:none;padding:6px 15px;background:#e0e0e0}#tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option a:hover{background:#cacaca;color:inherit}#tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option.tribe-bar-active a:hover{background:#e0e0e0}#tribe-bar-views .tribe-bar-views-option:last-child a{border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px}.tribe-no-js #tribe-bar-views [name="tribe-bar-view"]{display:block}#tribe-bar-views [name="tribe-bar-view"]{display:none}#tribe-bar-views .tribe-bar-views-list{width:100%;float:left}#tribe-bar-views .tribe-bar-settings{display:none}#tribe-bar-form.tribe-bar-mini *{font-size:12px}#tribe-bar-form.tribe-bar-mini label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tribe-bar-mini .tribe-bar-filters{display:block !important;float:left;width:83.3333%}.tribe-bar-mini .tribe-bar-date-filter{padding:10px}.tribe-bar-mini .tribe-bar-search-filter{width:45%;padding:10px}.tribe-bar-mini .tribe-bar-submit{width:25%;margin-left:5%;padding:10px}#tribe-bar-form.tribe-bar-mini .tribe-bar-submit input[type=submit]{font-size:11px;padding:10px 5px;-webkit-appearance:button}.tribe-bar-mini #tribe-bar-views{width:16.66667%}.tribe-bar-mini .tribe-bar-views-inner{padding:10px 0 35px 0}.tribe-bar-mini .tribe-bar-views-inner label{padding:0 10px}.tribe-bar-mini #tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option a{padding:4px 10px}#tribe-bar-collapse-toggle{display:none;float:left;padding:15px;position:relative;font-size:13px;line-height:28px;font-weight:bold;text-transform:uppercase;background:#f5f5f5}#tribe-bar-collapse-toggle:hover{cursor:pointer}#tribe-bar-collapse-toggle span.tribe-bar-toggle-arrow{display:inline-block;margin:0 4px;position:absolute;right:10px}#tribe-bar-collapse-toggle span.tribe-bar-toggle-arrow:after{top:10px;right:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:rgba(136,183,213,0);border-top-color:inherit;border-width:8px}#tribe-bar-collapse-toggle.tribe-bar-filters-open span.tribe-bar-toggle-arrow:after{top:0;border-top-color:transparent;border-bottom-color:inherit}#tribe-bar-form.tribe-bar-collapse #tribe-bar-views+.tribe-bar-filters{display:none;margin-top:5px;overflow:hidden;clear:both;left:auto;right:auto;width:100%}.tribe-bar-collapse .tribe-bar-filters-inner>div,.tribe-bar-collapse #tribe-bar-views{width:100%;height:auto;margin:0}.tribe-bar-collapse #tribe-bar-collapse-toggle{display:block;width:70%}.tribe-bar-collapse #tribe-bar-collapse-toggle.tribe-bar-collapse-toggle-full-width{width:100%}#tribe-bar-form.tribe-bar-collapse #tribe-bar-views{float:left;left:auto;width:30%}#tribe-bar-form.tribe-bar-collapse .tribe-bar-views-inner{padding:10px 0 40px 0}#tribe-bar-form.tribe-bar-collapse .tribe-bar-views-inner label{margin:0}@media only screen and (max-width:767px){.tribe-bar-collapse #tribe-bar-collapse-toggle{width:60%}#tribe-bar-form.tribe-bar-collapse #tribe-bar-views{width:40%}}.tribe-bar-is-disabled .tribe-events-page-title{line-height:45px;text-align:left;clear:none;margin:0}.tribe-bar-disabled{float:right;position:relative;z-index:101}.tribe-bar-disabled #tribe-events-bar{width:auto;min-width:0;float:none}.tribe-bar-disabled #tribe-bar-form{width:auto;border-radius:3px}.tribe-bar-disabled .tribe-bar-filters{float:left}.tribe-bar-disabled .tribe-bar-filters .tribe-bar-date-filter{padding:5px 10px}.tribe-bar-disabled #tribe-bar-form label{font-size:10px}.tribe-bar-disabled #tribe-bar-form .tribe-bar-filters input[type="text"]{border:0;display:block;width:85px;margin:0;padding:0;font-size:13px;line-height:15px}.tribe-bar-disabled #tribe-bar-form #tribe-bar-views+.tribe-bar-filters{left:auto;right:50%;width:50%}.tribe-bar-disabled .tribe-bar-date-filter,.tribe-events-uses-geolocation .tribe-bar-disabled .tribe-bar-date-filter{width:auto}.tribe-bar-disabled #tribe-bar-form #tribe-bar-views{width:50%;float:left;left:50%;right:auto;padding:0}.tribe-bar-disabled .tribe-bar-views-inner{min-width:100px;padding:5px 0 25px 0;border-radius:0 3px 3px 0}.tribe-bar-disabled #tribe-bar-form .tribe-bar-views-inner label{padding:0 10px}.tribe-bar-disabled #tribe-bar-views .tribe-bar-views-list,.tribe-bar-disabled #tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option{margin:0}.tribe-bar-disabled #tribe-bar-views .tribe-bar-views-list .tribe-bar-views-option a{padding:4px 10px;margin:0}.tribe-bar-disabled #tribe-bar-views .select2-container .select2-choice{line-height:18px;height:auto;font-size:13px}.tribe-bar-is-disabled .tribe-select2-results-views.select2-drop .select2-results li{padding:0 10px}.tribe-bar-disabled #tribe-bar-collapse-toggle,.tribe-bar-disabled .tribe-bar-submit{display:none}.tribe-select2-results-views span[class^="tribe-icon-"],.tribe-bar-views-list span[class^="tribe-icon-"],.tribe-bar-view-list a[class*="tribe-icon-"]{padding-left:24px;background-repeat:no-repeat;background-position:0 50%;min-height:16px;display:block}.tribe-select2-results-views span[class^="tribe-icon-"]{min-height:16px;display:inline-block}.tribe-select2-results-views span[class^="tribe-icon-"],.tribe-bar-views-list span[class^="tribe-icon-"],.tribe-bar-view-list a[class^="tribe-icon-"]{background-image:url(images/events-bar/icon-month.png);-webkit-background-size:15px 16px;background-size:15px 16px}.tribe-select2-results-views span.tribe-icon-list,.tribe-bar-views-list span.tribe-icon-list,.tribe-bar-view-list a.tribe-icon-list{background-image:url(images/events-bar/icon-list.png);-webkit-background-size:15px 10px;background-size:15px 10px}.tribe-bar-view-list a.tribe-icon-upcoming,.tribe-bar-view-list a.tribe-icon-month{padding-left:30px;background-position:10px 50%}.tribe-select2-results-views .tribe-icon-month,.tribe-bar-views-list span.tribe-icon-month,.tribe-bar-view-list a.tribe-icon-month{background-image:url(images/events-bar/icon-month.png);-webkit-background-size:15px 16px;background-size:15px 16px}.tribe-select2-results-views span.tribe-icon-week,.tribe-bar-views-list span.tribe-icon-week{background-image:url(images/events-bar/icon-week.png);-webkit-background-size:15px 16px;background-size:15px 16px}.tribe-select2-results-views span.tribe-icon-day,.tribe-bar-views-list span.tribe-icon-day{background-image:url(images/events-bar/icon-day.png);-webkit-background-size:15px 16px;background-size:15px 16px}.tribe-select2-results-views span.tribe-icon-photo,.tribe-bar-views-list span.tribe-icon-photo{background-image:url(images/events-bar/icon-photo.png);-webkit-background-size:15px 14px;background-size:15px 14px}.tribe-select2-results-views span.tribe-icon-map,.tribe-bar-views-list span.tribe-icon-map{background-image:url(images/events-bar/icon-map.png);-webkit-background-size:12px 16px;background-size:12px 16px;background-position:2px 50%}@media only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){.tribe-events-tooltip .tribe-events-arrow{background-image:url(images/tribe-tooltips@2x.png)}#tribe-bar-filters .tribe-bar-button-search .tribe-bar-btn-small{background-image:url(images/events-bar/icon-search@2x.png)}#tribe-events-bar .tribe-bar-button-settings span{background-image:url(images/events-bar/icon-gear@2x.png)}#tribe-events-bar [class^="tribe-bar-button-"]:after{background-image:url(../vendor/select2/select2x2.png)}.tribe-select2-results-views span[class^="tribe-icon-"],.tribe-bar-views-list span[class^="tribe-icon-"],.tribe-bar-view-list a[class^="tribe-icon-"]{background-image:url(images/events-bar/icon-month@2x.png)}.tribe-select2-results-views span.tribe-icon-list,.tribe-bar-views-list span.tribe-icon-list,.tribe-bar-view-list a.tribe-icon-upcoming{background-image:url(images/events-bar/icon-list@2x.png)}.tribe-select2-results-views span.tribe-icon-month,.tribe-bar-views-list span.tribe-icon-month,.tribe-bar-view-list a.tribe-icon-month{background-image:url(images/events-bar/icon-month@2x.png)}.tribe-select2-results-views span.tribe-icon-week,.tribe-bar-views-list span.tribe-icon-week{background-image:url(images/events-bar/icon-week@2x.png)}.tribe-select2-results-views span.tribe-icon-day,.tribe-bar-views-list span.tribe-icon-day{background-image:url(images/events-bar/icon-day@2x.png)}.tribe-select2-results-views span.tribe-icon-photo,.tribe-bar-views-list span.tribe-icon-photo{background-image:url(images/events-bar/icon-photo@2x.png)}.tribe-select2-results-views span.tribe-icon-map,.tribe-bar-views-list span.tribe-icon-map{background-image:url(images/events-bar/icon-map@2x.png)}}
|
resources/tribe-events-skeleton.css
CHANGED
@@ -2,8 +2,11 @@
|
|
2 |
* The Events Calendar Skeleton Stylesheet
|
3 |
* (Only includes enough css to achieve complex layouts like calendar and week view.)
|
4 |
*
|
5 |
-
*
|
6 |
* tribe-events.css in the tribe-events/ directory of your theme.
|
|
|
|
|
|
|
7 |
*
|
8 |
* @package TribeEventsCalendar
|
9 |
* @since 1.0
|
2 |
* The Events Calendar Skeleton Stylesheet
|
3 |
* (Only includes enough css to achieve complex layouts like calendar and week view.)
|
4 |
*
|
5 |
+
* To add your own custom styles, create a stylesheet with the name
|
6 |
* tribe-events.css in the tribe-events/ directory of your theme.
|
7 |
+
* Your new stylesheet will be loaded after our own stylesheet.
|
8 |
+
*
|
9 |
+
* To replace our stylsheet altogether, you can use the 'tribe_events_stylesheet_url' filter.
|
10 |
*
|
11 |
* @package TribeEventsCalendar
|
12 |
* @since 1.0
|
resources/tribe-events-theme.css
CHANGED
@@ -1,8 +1,11 @@
|
|
1 |
/**
|
2 |
* The Events Calendar Tribe Theme Stylesheet
|
3 |
*
|
4 |
-
*
|
5 |
* tribe-events.css in the tribe-events/ directory of your theme.
|
|
|
|
|
|
|
6 |
*
|
7 |
* @package TribeEventsCalendar
|
8 |
* @since 3.0
|
1 |
/**
|
2 |
* The Events Calendar Tribe Theme Stylesheet
|
3 |
*
|
4 |
+
* To add your own custom styles, create a stylesheet with the name
|
5 |
* tribe-events.css in the tribe-events/ directory of your theme.
|
6 |
+
* Your new stylesheet will be loaded after our own stylesheet.
|
7 |
+
*
|
8 |
+
* To replace our stylsheet altogether, you can use the 'tribe_events_stylesheet_url' filter.
|
9 |
*
|
10 |
* @package TribeEventsCalendar
|
11 |
* @since 3.0
|
resources/tribe-events.min.js
CHANGED
@@ -1,17 +1,20 @@
|
|
1 |
-
var tribe_ev=window.tribe_ev||{},tribe_debug=!
|
2 |
-
|
|
|
|
|
|
|
3 |
f(this).addClass("tribe-events-loading").css("opacity",0.25)}})(jQuery);
|
4 |
-
(function(f,
|
5 |
-
c){b(a).find(c).prop("disabled",!1);b(a).find(".select2-container").length&&b(a).find(".select2-container").each(function(){var a=b(this).attr("id");b("#"+a).select2("enable")})},get_base_url:function(){var a="",c=b("#tribe-events-header");c.length&&(a=c.data("baseurl"));return a},get_category:function(){return tribe_ev.fn.is_category()?b("#tribe-events").data("category"):""},get_day:function(){var a="";b("#tribe-bar-date").length&&(a=b("#tribe-bar-date-day").val());
|
6 |
a+'".');return a},get_params:function(){return location.search.substr(1)},get_url_param:function(a){return decodeURIComponent((RegExp("[?|&]"+a+"=([^&;]+?)(&|#|;|$)").exec(location.search)||[,""])[1].replace(/\+/g,"%20"))||null},in_params:function(a,b){return a.toLowerCase().indexOf(b)},is_category:function(){var a=b("#tribe-events");return a.length&&a.tribe_has_attr("data-category")&&""!==a.data("category")?!0:!1},parse_string:function(a){var b={};a.replace(/([^&=]+)=?([^&]*)(?:&+|$)/g,function(a,
|
7 |
-
|
8 |
a=tribe_ev.fn.parse_string(a);b.each(a,function(a,c){if("action"!==a){var d=decodeURI(a),e="";if(1===c.length)b('[name="'+d+'"]').is('input[type="text"], input[type="hidden"]')?b('[name="'+d+'"]').val(c):b('[name="'+d+'"][value="'+c+'"]').is(":checkbox, :radio")?b('[name="'+d+'"][value="'+c+'"]').prop("checked",!0):b('[name="'+d+'"]').is("select")&&b('select[name="'+d+'"] option[value="'+c+'"]').attr("selected",!0);else for(var f=0;f<c.length;f++)e=b('[name="'+d+'"][value="'+c[f]+'"]'),e.is(":checkbox, :radio")?
|
9 |
-
e.prop("checked",!0):b('select[name="'+d+'"] option[value="'+c[f]+'"]').attr("selected",!0)}});c.removeClass("tribe-reset-on");
|
10 |
b("html, body").animate({scrollTop:b(a).offset().top-120},{duration:0})})},tooltips:function(){b("#tribe-events").on("mouseenter",'div[id*="tribe-events-event-"], div[id*="tribe-events-daynum-"]:has(a), div.event-is-recurring',function(){var a=0,c=b(this),d=b("body");d.hasClass("events-gridview")?a=c.find("a").outerHeight()+18:d.is(".single-tribe_events, .events-list, .tribe-events-day")?a=c.outerHeight()+12:d.is(".tribe-events-photo")&&(a=c.outerHeight()+10);c.parents(".tribe-events-calendar-widget").length&&
|
11 |
-
(a=c.outerHeight()-6);d.hasClass("tribe-events-week")||c.find(".tribe-events-tooltip").css("bottom",a).show()}).on("mouseleave",'div[id*="tribe-events-event-"], div[id*="tribe-events-daynum-"]:has(a), div.event-is-recurring',function(){b(this).find(".tribe-events-tooltip").stop(!0,!1).fadeOut(200)})},update_picker:function(a){var c=b("#tribe-bar-date");b().bootstrapDatepicker&&c.length?(c.bootstrapDatepicker("setValue",a),
|
12 |
-
c.length?(c.val(a),
|
13 |
-
starting_delim:function(){return-1!=tribe_ev.state.cur_url.indexOf("?")?"&":"?"}};tribe_ev.data={ajax_response:{},base_url:"",cur_url:tribe_ev.fn.url_path(
|
14 |
view:"",view_target:""}})(window,document,jQuery,tribe_debug);
|
15 |
-
(function(f,
|
16 |
-
a.tooltips();b(".tribe-events-list .tribe-events-notices").length&&b("#tribe-events-header .tribe-events-sub-nav").empty();b(".tribe-events-list").length&&b(".tribe-events-list-separator-month").prev(".vevent").addClass("tribe-event-end-month");b(
|
17 |
-
|
1 |
+
var tribe_ev=window.tribe_ev||{},tribe_debug=!0;
|
2 |
+
window.debug=function(){function f(b){!a||!c&&d&&d.log||a.apply(h,b)}for(var h=this,b=Array.prototype.slice,d=h.console,k={},a,c,e=9,l=["error","warn","info","debug","log"],m="assert clear count dir dirxml exception group groupCollapsed groupEnd profile profileEnd table time timeEnd trace".split(" "),g=m.length,n=[];0<=--g;)(function(a){k[a]=function(){0!==e&&d&&d[a]&&d[a].apply(d,arguments)}})(m[g]);for(g=l.length;0<=--g;)(function(a,c){k[c]=function(){var g=b.call(arguments),m=[c].concat(g);n.push(m);
|
3 |
+
f(m);d&&(0<e?e>a:l.length+e<=a)&&(d.firebug?d[c].apply(h,g):d[c]?d[c](g):d.log(g))}})(g,l[g]);k.setLevel=function(a){e="number"===typeof a?a:9};k.setCallback=function(){var e=b.call(arguments),d=n.length,g=d;a=e.shift()||null;c="boolean"===typeof e[0]?e.shift():!1;for(g-="number"===typeof e[0]?e.shift():d;g<d;)f(n[g++])};return k}();Object.prototype.hasOwnProperty.call(window,"tribe_ev")&&(tribe_ev.diagnostics={init:[]});var tribe_storage,t_fail,t_uid;
|
4 |
+
try{t_uid=new Date,(tribe_storage=window.localStorage).setItem(t_uid,t_uid),t_fail=tribe_storage.getItem(t_uid)!=t_uid,tribe_storage.removeItem(t_uid),t_fail&&(tribe_storage=!1)}catch(e$$12){}
|
5 |
+
(function(f,h){f.fn.tribe_clear_form=function(){return this.each(function(){var b=this.type,d=this.tagName.toLowerCase();if("form"==d)return f(":input",this).tribe_clear_form();"text"==b||"password"==b||"textarea"==d?this.value="":"checkbox"==b||"radio"==b?this.checked=!1:"select"==d&&(this.selectedIndex=0)})};f.fn.tribe_has_attr=function(b){return this.attr(b)!==h};f.fn.tribe_spin=function(){f(".tribe-events-ajax-loading:first").clone().addClass("tribe-events-active-spinner").prependTo("#tribe-events-content");
|
6 |
f(this).addClass("tribe-events-loading").css("opacity",0.25)}})(jQuery);
|
7 |
+
(function(f,h,b,d,k){tribe_ev.fn={current_date:function(){var a=new Date,b=a.getDate(),e=a.getMonth()+1,a=a.getFullYear();10>b&&(b="0"+b);10>e&&(e="0"+e);return a+"-"+e+"-"+b},disable_inputs:function(a,c){b(a).find(c).prop("disabled",!0);b(a).find(".select2-container").length&&b(a).find(".select2-container").each(function(){var a=b(this).attr("id");b("#"+a).select2("disable")})},disable_empty:function(a,c){b(a).find(c).each(function(){""===b(this).val()&&b(this).prop("disabled",!0)})},enable_inputs:function(a,
|
8 |
+
c){b(a).find(c).prop("disabled",!1);b(a).find(".select2-container").length&&b(a).find(".select2-container").each(function(){var a=b(this).attr("id");b("#"+a).select2("enable")})},get_base_url:function(){var a="",c=b("#tribe-events-header");c.length&&(a=c.data("baseurl"));return a},get_category:function(){return tribe_ev.fn.is_category()?b("#tribe-events").data("category"):""},get_day:function(){var a="";b("#tribe-bar-date").length&&(a=b("#tribe-bar-date-day").val());d&&debug.info('TEC Debug: tribe_ev.fn.get_day returned this date: "'+
|
9 |
a+'".');return a},get_params:function(){return location.search.substr(1)},get_url_param:function(a){return decodeURIComponent((RegExp("[?|&]"+a+"=([^&;]+?)(&|#|;|$)").exec(location.search)||[,""])[1].replace(/\+/g,"%20"))||null},in_params:function(a,b){return a.toLowerCase().indexOf(b)},is_category:function(){var a=b("#tribe-events");return a.length&&a.tribe_has_attr("data-category")&&""!==a.data("category")?!0:!1},parse_string:function(a){var b={};a.replace(/([^&=]+)=?([^&]*)(?:&+|$)/g,function(a,
|
10 |
+
d,m){(b[d]=b[d]||[]).push(m)});d&&debug.info("TEC Debug: tribe_ev.fn.parse_string returned this map:",b);return b},pre_ajax:function(a){a&&"function"===typeof a&&a()},serialize:function(a,c){tribe_ev.fn.enable_inputs(a,c);tribe_ev.fn.disable_empty(a,c);var e=b(a).serialize();tribe_ev.fn.disable_inputs(a,c);d&&e&&debug.info('TEC Debug: tribe_ev.fn.serialize returned these params: "'+e);return e},set_form:function(a){var c=b("body"),e=b("#tribe-bar-form");c.addClass("tribe-reset-on");e.length&&e.tribe_clear_form();
|
11 |
a=tribe_ev.fn.parse_string(a);b.each(a,function(a,c){if("action"!==a){var d=decodeURI(a),e="";if(1===c.length)b('[name="'+d+'"]').is('input[type="text"], input[type="hidden"]')?b('[name="'+d+'"]').val(c):b('[name="'+d+'"][value="'+c+'"]').is(":checkbox, :radio")?b('[name="'+d+'"][value="'+c+'"]').prop("checked",!0):b('[name="'+d+'"]').is("select")&&b('select[name="'+d+'"] option[value="'+c+'"]').attr("selected",!0);else for(var f=0;f<c.length;f++)e=b('[name="'+d+'"][value="'+c[f]+'"]'),e.is(":checkbox, :radio")?
|
12 |
+
e.prop("checked",!0):b('select[name="'+d+'"] option[value="'+c[f]+'"]').attr("selected",!0)}});c.removeClass("tribe-reset-on");d&&debug.info('TEC Debug: tribe_ev.fn.set_form fired these params: "'+a)},setup_ajax_timer:function(a){clearTimeout(tribe_ev.state.ajax_timer);tribe_ev.tests.reset_on()||(tribe_ev.state.ajax_timer=setTimeout(function(){a()},500),d&&debug.info('TEC Debug: tribe_ev.fn.setup_ajax_timer fired with a timeout of "500" ms'))},snap:function(a,c,d){b(c).on("click",d,function(c){c.preventDefault();
|
13 |
b("html, body").animate({scrollTop:b(a).offset().top-120},{duration:0})})},tooltips:function(){b("#tribe-events").on("mouseenter",'div[id*="tribe-events-event-"], div[id*="tribe-events-daynum-"]:has(a), div.event-is-recurring',function(){var a=0,c=b(this),d=b("body");d.hasClass("events-gridview")?a=c.find("a").outerHeight()+18:d.is(".single-tribe_events, .events-list, .tribe-events-day")?a=c.outerHeight()+12:d.is(".tribe-events-photo")&&(a=c.outerHeight()+10);c.parents(".tribe-events-calendar-widget").length&&
|
14 |
+
(a=c.outerHeight()-6);d.hasClass("tribe-events-week")||c.find(".tribe-events-tooltip").css("bottom",a).show()}).on("mouseleave",'div[id*="tribe-events-event-"], div[id*="tribe-events-daynum-"]:has(a), div.event-is-recurring',function(){b(this).find(".tribe-events-tooltip").stop(!0,!1).fadeOut(200)})},update_picker:function(a){var c=b("#tribe-bar-date");b().bootstrapDatepicker&&c.length?(c.bootstrapDatepicker("setValue",a),d&&debug.info('TEC Debug: tribe_ev.fn.update_picker sent "'+a+'" to the boostrapDatepicker')):
|
15 |
+
c.length?(c.val(a),d&&debug.warn('TEC Debug: tribe_ev.fn.update_picker sent "'+a+'" to '+c)):d&&debug.warn('TEC Debug: tribe_ev.fn.update_picker couldnt send "'+a+'" to any object.')},url_path:function(a){return a.split("?")[0]}};tribe_ev.tests={live_ajax:function(){var a=b("#tribe-events");return a.length&&a.tribe_has_attr("data-live_ajax")&&"1"==a.data("live_ajax")?!0:!1},map_view:function(){return"undefined"!==typeof GeoLoc&&GeoLoc.map_view?!0:!1},pushstate:!(!f.history||!history.pushState),reset_on:function(){return b("body").is(".tribe-reset-on")},
|
16 |
+
starting_delim:function(){return-1!=tribe_ev.state.cur_url.indexOf("?")?"&":"?"}};tribe_ev.data={ajax_response:{},base_url:"",cur_url:tribe_ev.fn.url_path(h.URL),cur_date:tribe_ev.fn.current_date(),initial_url:tribe_ev.fn.url_path(h.URL),params:tribe_ev.fn.get_params()};tribe_ev.events={};tribe_ev.state={ajax_running:!1,ajax_timer:0,category:"",date:"",do_string:!1,filters:!1,filter_cats:!1,initial_load:!0,paged:1,page_title:"",params:{},popping:!1,pushstate:!0,pushcount:0,recurrence:!1,url_params:{},
|
17 |
view:"",view_target:""}})(window,document,jQuery,tribe_debug);
|
18 |
+
(function(f,h,b,d,k,a,c,e,l){b(h).ready(function(){l&&debug.info("TEC Debug: Tribe Events JS init, Init Timer started from tribe-events.js.");var f=b("#tribe-events"),g=b("#tribe-events-header");f.removeClass("tribe-no-js");c.category=a.get_category();d.base_url=a.get_base_url();c.page_title=h.title;(f=a.get_url_param("tribe_event_display"))?c.view=f:g.length&&g.tribe_has_attr("data-view")&&(c.view=g.data("view"));c.view&&l&&debug.time("Tribe JS Init Timer");b(".tribe-events-calendar-widget").not(":eq(0)").hide();
|
19 |
+
a.tooltips();b(".tribe-events-list .tribe-events-notices").length&&b("#tribe-events-header .tribe-events-sub-nav").empty();b(".tribe-events-list").length&&b(".tribe-events-list-separator-month").prev(".vevent").addClass("tribe-event-end-month");b(k).on("tribe_ev_ajaxSuccess",function(){b(".tribe-events-active-spinner").remove()});l&&(debug.groupCollapsed("TEC Debug: Browser and events settings information:"),debug.log('User agent reported as: "'+navigator.userAgent),debug.log('Live ajax returned its state as: "'+
|
20 |
+
e.live_ajax()),c.view&&debug.log('Tribe js detected the view to be: "'+c.view),debug.log('Supports pushstate: "'+e.pushstate),debug.groupEnd(),debug.info("TEC Debug: tribe-events.js successfully loaded"))})})(window,document,jQuery,tribe_ev.data,tribe_ev.events,tribe_ev.fn,tribe_ev.state,tribe_ev.tests,tribe_debug);
|
the-events-calendar.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: The Events Calendar
|
4 |
Description: The Events Calendar is a carefully crafted, extensible plugin that lets you easily share your events. Beautiful. Solid. Awesome.
|
5 |
-
Version: 3.0.
|
6 |
Author: Modern Tribe, Inc.
|
7 |
Author URI: http://m.tri.be/1x
|
8 |
Text Domain: tribe-events-calendar
|
2 |
/*
|
3 |
Plugin Name: The Events Calendar
|
4 |
Description: The Events Calendar is a carefully crafted, extensible plugin that lets you easily share your events. Beautiful. Solid. Awesome.
|
5 |
+
Version: 3.0.2
|
6 |
Author: Modern Tribe, Inc.
|
7 |
Author URI: http://m.tri.be/1x
|
8 |
Text Domain: tribe-events-calendar
|
views/modules/bar.php
CHANGED
@@ -36,7 +36,8 @@ $views = tribe_events_get_views();
|
|
36 |
<div id="tribe-bar-views">
|
37 |
<div class="tribe-bar-views-inner tribe-clearfix">
|
38 |
<h3 class="tribe-events-visuallyhidden"><?php _e( 'Event Views Navigation', 'tribe-events-calendar' ) ?></h3>
|
39 |
-
<label><?php _e( 'View As', 'tribe-events-calendar' ); ?></label
|
|
|
40 |
<?php foreach ( $views as $view ) : ?>
|
41 |
<option <?php echo tribe_is_view($view['displaying']) ? 'selected' : 'tribe-inactive' ?> value="<?php echo $view['url'] ?>" data-view="<?php echo $view['displaying'] ?>">
|
42 |
<?php echo $view['anchor'] ?>
|
36 |
<div id="tribe-bar-views">
|
37 |
<div class="tribe-bar-views-inner tribe-clearfix">
|
38 |
<h3 class="tribe-events-visuallyhidden"><?php _e( 'Event Views Navigation', 'tribe-events-calendar' ) ?></h3>
|
39 |
+
<label><?php _e( 'View As', 'tribe-events-calendar' ); ?></label>
|
40 |
+
<select class="tribe-bar-views-select tribe-no-param" name="tribe-bar-view">
|
41 |
<?php foreach ( $views as $view ) : ?>
|
42 |
<option <?php echo tribe_is_view($view['displaying']) ? 'selected' : 'tribe-inactive' ?> value="<?php echo $view['url'] ?>" data-view="<?php echo $view['displaying'] ?>">
|
43 |
<?php echo $view['anchor'] ?>
|
views/widgets/list-widget.php
CHANGED
@@ -26,7 +26,7 @@
|
|
26 |
|
27 |
<li class="tribe-events-list-widget-events">
|
28 |
<h4 class="entry-title summary">
|
29 |
-
<a href="<?php tribe_get_event_link(); ?>" rel="bookmark"><?php the_title(); ?></a>
|
30 |
</h4>
|
31 |
<!-- Event Time -->
|
32 |
<div class="duration">
|
26 |
|
27 |
<li class="tribe-events-list-widget-events">
|
28 |
<h4 class="entry-title summary">
|
29 |
+
<a href="<?php echo tribe_get_event_link(); ?>" rel="bookmark"><?php the_title(); ?></a>
|
30 |
</h4>
|
31 |
<!-- Event Time -->
|
32 |
<div class="duration">
|