/**
  * Generates the markup for the "iCal Import" link for the views.
  *
  * @static
  *
  * @param string $content
  *
  * @return string
  */
 public static function maybe_add_link($content)
 {
     global $wp_query;
     $show_ical = (!defined('DOING_AJAX') || !DOING_AJAX) && apply_filters('tribe_events_list_show_ical_link', true);
     if (!$show_ical) {
         return $content;
     }
     if (is_single()) {
         return $content;
     }
     $tec = TribeEvents::instance();
     $view = $tec->displaying;
     if (defined('DOING_AJAX') && DOING_AJAX && isset($wp_query->query_vars['eventDisplay'])) {
         $view = $wp_query->query_vars['eventDisplay'];
     }
     switch (strtolower($view)) {
         case 'month':
             $modifier = __("Month's Events", "tribe-events-calendar-pro");
             break;
         case 'week':
             $modifier = __("Week's Events", "tribe-events-calendar-pro");
             break;
         case 'day':
             $modifier = __("Day's Events", "tribe-events-calendar-pro");
             break;
         default:
             $modifier = __("Listed Events", "tribe-events-calendar-pro");
             break;
     }
     $ical = '<a class="tribe-events-ical tribe-events-button" title="' . __('Import is filter/view sensitive', 'tribe-events-calendar-pro') . '" href="' . tribe_get_ical_link() . '">+ ' . __('iCal Import', 'tribe-events-calendar-pro') . ' ' . $modifier . '</a>';
     echo $ical;
     return $content;
 }
Example #2
0
 /**
  * Generates the markup for the "iCal Import" link for the views.
  */
 public static function maybe_add_link()
 {
     global $wp_query;
     $show_ical = apply_filters('tribe_events_list_show_ical_link', true);
     if (!$show_ical) {
         return;
     }
     if (tribe_is_month() && !tribe_events_month_has_events()) {
         return;
     }
     if (is_single() || !have_posts()) {
         return;
     }
     $tec = Tribe__Events__Main::instance();
     $view = $tec->displaying;
     if (defined('DOING_AJAX') && DOING_AJAX && isset($wp_query->query_vars['eventDisplay'])) {
         $view = $wp_query->query_vars['eventDisplay'];
     }
     switch (strtolower($view)) {
         case 'month':
             $modifier = sprintf(esc_html__("Month's %s", 'the-events-calendar'), tribe_get_event_label_plural());
             break;
         case 'week':
             $modifier = sprintf(esc_html__("Week's %s", 'the-events-calendar'), tribe_get_event_label_plural());
             break;
         case 'day':
             $modifier = sprintf(esc_html__("Day's %s", 'the-events-calendar'), tribe_get_event_label_plural());
             break;
         default:
             $modifier = sprintf(esc_html__('Listed %s', 'the-events-calendar'), tribe_get_event_label_plural());
             break;
     }
     $text = apply_filters('tribe_events_ical_export_text', esc_html__('Export', 'the-events-calendar') . ' ' . $modifier);
     $title = esc_html__('Use this to share calendar data with Google Calendar, Apple iCal and other compatible apps', 'the-events-calendar');
     $ical = '<a class="tribe-events-ical tribe-events-button" title="' . $title . '" href="' . esc_url(tribe_get_ical_link()) . '">+ ' . $text . '</a>';
     //echo $ical;
 }
<?php

$tec = Tribe__Events__Main::instance();
$generalTabFields = array('info-start' => array('type' => 'html', 'html' => '<div id="modern-tribe-info"><img src="' . plugins_url('resources/images/modern-tribe@2x.png', dirname(__FILE__)) . '" alt="Modern Tribe Inc." title="Modern Tribe Inc.">'), 'upsell-heading' => array('type' => 'heading', 'label' => __('Finding & extending your calendar.', 'the-events-calendar'), 'conditional' => !defined('TRIBE_HIDE_UPSELL') || !TRIBE_HIDE_UPSELL), 'finding-heading' => array('type' => 'heading', 'label' => __('Finding your calendar.', 'the-events-calendar'), 'conditional' => defined('TRIBE_HIDE_UPSELL') && TRIBE_HIDE_UPSELL), 'view-calendar-link' => array('type' => 'html', 'html' => '<p>' . __('Where\'s my calendar?', 'the-events-calendar') . ' <a href="' . esc_url(Tribe__Events__Main::getLink()) . '">' . __('Right here', 'the-events-calendar') . '</a>.</p>'), 'upsell-info' => array('type' => 'html', 'html' => '<p>' . __('Looking for additional functionality including recurring events, custom meta, community events, ticket sales and more?', 'the-events-calendar') . ' <a href="' . self::$tecUrl . 'products/?utm_source=generaltab&utm_medium=plugin-tec&utm_campaign=in-app">' . __('Check out the available add-ons', 'the-events-calendar') . '</a>.</p>', 'conditional' => !defined('TRIBE_HIDE_UPSELL') || !TRIBE_HIDE_UPSELL), 'donate-link-heading' => array('type' => 'heading', 'label' => __('We hope our plugin is helping you out.', 'the-events-calendar')), 'donate-link-info' => array('type' => 'html', 'html' => '<p>' . __('Are you thinking "Wow, this plugin is amazing! I should say thanks to Modern Tribe for all their hard work." The greatest thanks we could ask for is recognition. Add a small text-only link at the bottom of your calendar pointing to The Events Calendar project.', 'the-events-calendar') . '<br><a href="' . esc_url(plugins_url('resources/images/donate-link-screenshot.jpg', dirname(__FILE__))) . '" class="thickbox">' . __('See an example of the link', 'the-events-calendar') . '</a>.</p>', 'conditional' => !class_exists('Tribe__Events__Pro__Main')), 'donate-link-pro-info' => array('type' => 'html', 'html' => '<p>' . __('Are you thinking "Wow, this plugin is amazing! I should say thanks to Modern Tribe for all their hard work." The greatest thanks we could ask for is recognition. Add a small text only link at the bottom of your calendar pointing to The Events Calendar project.', 'the-events-calendar') . '<br><a href="' . esc_url(plugins_url('resources/images/donate-link-pro-screenshot.jpg', dirname(__FILE__))) . '" class="thickbox">' . __('See an example of the link', 'the-events-calendar') . '</a>.</p>', 'conditional' => class_exists('Tribe__Events__Pro__Main')), 'donate-link' => array('type' => 'checkbox_bool', 'label' => __('Show The Events Calendar link', 'the-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'info-end' => array('type' => 'html', 'html' => '</div>'), 'tribe-form-content-start' => array('type' => 'html', 'html' => '<div class="tribe-settings-form-wrap">'), 'tribeEventsDisplayThemeTitle' => array('type' => 'html', 'html' => '<h2>' . __('General Settings', 'the-events-calendar') . '</h2>'), 'postsPerPage' => array('type' => 'text', 'label' => __('Number of events to show per page', 'the-events-calendar'), 'size' => 'small', 'default' => get_option('posts_per_page'), 'validation_type' => 'positive_int'), 'liveFiltersUpdate' => array('type' => 'checkbox_bool', 'label' => __('Use Javascript to control date filtering', 'the-events-calendar'), 'tooltip' => tribe_get_option('tribeDisableTribeBar', false) == true ? __('This option is disabled when "Disable the Event Search Bar" is checked on the Display settings tab.', 'the-events-calendar') : __('Enable live ajax for datepicker on front end (User submit not required).', 'the-events-calendar'), 'attributes' => tribe_get_option('tribeDisableTribeBar', false) == true ? array('disabled' => 'disabled') : null, 'default' => true, 'validation_type' => 'boolean', 'class' => tribe_get_option('tribeDisableTribeBar', false) == true ? 'tribe-fieldset-disabled' : null), 'showComments' => array('type' => 'checkbox_bool', 'label' => __('Show comments', 'the-events-calendar'), 'tooltip' => __('Enable comments on event pages.', 'the-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'showEventsInMainLoop' => array('type' => 'checkbox_bool', 'label' => __('Include events in main blog loop', 'the-events-calendar'), 'tooltip' => __('Show events with the site\'s other posts. When this box is checked, events will also continue to appear on the default events page.', 'the-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'unprettyPermalinksUrl' => array('type' => 'html', 'label' => __('Events URL slug', 'the-events-calendar'), 'html' => '<p>' . sprintf(__('You cannot edit the slug for your events page as you do not have pretty permalinks enabled. The current URL for your events page is <a href="%1$s">%2$s</a>. In order to edit the slug here, <a href="%3$soptions-permalink.php">enable pretty permalinks</a>.', 'the-events-calendar'), esc_url($tec->getLink('home')), $tec->getLink('home '), esc_url(trailingslashit(get_admin_url()))) . '</p>', 'conditional' => '' == get_option('permalink_structure')), 'eventsSlug' => array('type' => 'text', 'label' => __('Events URL slug', 'the-events-calendar'), 'default' => 'events', 'validation_type' => 'slug', 'conditional' => '' != get_option('permalink_structure')), 'current-events-slug' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . __('The slug used for building the events URL.', 'the-events-calendar') . sprintf(__('Your current events URL is: %s', 'the-events-calendar'), '<code><a href="' . esc_url(tribe_get_events_link()) . '">' . tribe_get_events_link() . '</a></code>') . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'ical-info' => array('type' => 'html', 'display_callback' => function_exists('tribe_get_ical_link') ? '<p id="ical-link" class="tribe-field-indent tribe-field-description description">' . __('Here is the iCal feed URL for your events:', 'the-events-calendar') . ' <code>' . tribe_get_ical_link() . '</code></p>' : '', 'conditional' => function_exists('tribe_get_ical_link')), 'singleEventSlug' => array('type' => 'text', 'label' => __('Single event URL slug', 'the-events-calendar'), 'default' => 'event', 'validation_type' => 'slug', 'conditional' => '' != get_option('permalink_structure')), 'current-single-event-slug' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf(__('The above should ideally be plural, and this singular.<br />Your single event URL is: %s', 'the-events-calendar'), '<code>' . trailingslashit(home_url()) . tribe_get_option('singleEventSlug', 'event') . '/single-post-name/</code>') . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'multiDayCutoff' => array('type' => 'dropdown', 'label' => __('End of day cutoff', 'the-events-calendar'), 'validation_type' => 'options', 'size' => 'small', 'default' => '12:00', 'options' => array('00:00' => '12:00 am', '01:00' => '01:00 am', '02:00' => '02:00 am', '03:00' => '03:00 am', '04:00' => '04:00 am', '05:00' => '05:00 am', '06:00' => '06:00 am', '07:00' => '07:00 am', '08:00' => '08:00 am', '09:00' => '09:00 am', '10:00' => '10:00 am', '11:00' => '11:00 am')), 'multiDayCutoffHelper' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf(__("Have an event that runs past midnight? Select a time after that event's end to avoid showing the event on the next day's calendar.", 'the-events-calendar')) . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'defaultCurrencySymbol' => array('type' => 'text', 'label' => __('Default currency symbol', 'the-events-calendar'), 'tooltip' => __('Set the default currency symbol for event costs. Note that this only impacts future events, and changes made will not apply retroactively.', 'the-events-calendar'), 'validation_type' => 'textarea', 'size' => 'small', 'default' => '$'), 'reverseCurrencyPosition' => array('type' => 'checkbox_bool', 'label' => __('Currency symbol follows value', 'the-events-calendar'), 'tooltip' => __('The currency symbol normally precedes the value. Enabling this option positions the symbol after the value.', 'the-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'tribeEventsDisplayTitle' => array('type' => 'html', 'html' => '<h2>' . __('Map Settings', 'the-events-calendar') . '</h2>'), 'embedGoogleMaps' => array('type' => 'checkbox_bool', 'label' => __('Enable Google Maps', 'the-events-calendar'), 'tooltip' => __('Check to enable maps for events and venues.', 'the-events-calendar'), 'default' => true, 'class' => 'google-embed-size', 'validation_type' => 'boolean'), 'embedGoogleMapsZoom' => array('type' => 'text', 'label' => __('Google Maps default zoom level', 'the-events-calendar'), 'tooltip' => __('0 = zoomed out; 21 = zoomed in.', 'the-events-calendar'), 'size' => 'small', 'default' => 10, 'class' => 'google-embed-field', 'validation_type' => 'number_or_percent'), 'tribeEventsMiscellaneousTitle' => array('type' => 'html', 'html' => '<h2>' . __('Miscellaneous Settings', 'the-events-calendar') . '</h2>'), 'amalgamateDuplicates' => array('type' => 'html', 'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . __('Duplicate Venues &amp; Organizers', 'the-events-calendar') . '</legend><div class="tribe-field-wrap">' . Tribe__Events__Amalgamator::migration_button(__('Merge Duplicates', 'the-events-calendar')) . '<p class="tribe-field-indent description">' . __('You might find duplicate venues and organizers when updating The Events Calendar from a pre-3.0 version. Click this button to automatically merge identical venues and organizers.', 'the-events-calendar') . '</p></div></fieldset><div class="clear"></div>', 'conditional' => $tec->getOption('organizer_venue_amalgamation', 0) < 1), 'viewWelcomePage' => array('type' => 'html', 'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . __('View Welcome Page', 'the-events-calendar') . '</legend><div class="tribe-field-wrap"><a href="' . esc_url(get_site_url() . '/wp-admin/edit.php?post_type=tribe_events&page=tribe-events-calendar&tec-welcome-message') . '" class="button">' . __('View Welcome Page', 'the-events-calendar') . '</a><p class="tribe-field-indent description">' . __('View the page that displayed when you initially installed the plugin.', 'the-events-calendar') . '</p></div></fieldset><div class="clear"></div>'), 'viewUpdatePage' => array('type' => 'html', 'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . __('View Update Page', 'the-events-calendar') . '</legend><div class="tribe-field-wrap"><a href="' . esc_url(get_site_url() . '/wp-admin/edit.php?post_type=tribe_events&page=tribe-events-calendar&tec-update-message') . '" class="button">' . __('View Update Page', 'the-events-calendar') . '</a><p class="tribe-field-indent description">' . __('View the page that displayed when you updated the plugin.', 'the-events-calendar') . '</p></div></fieldset><div class="clear"></div>'));
if (is_super_admin()) {
    $generalTabFields['debugEvents'] = array('type' => 'checkbox_bool', 'label' => __('Debug mode', 'the-events-calendar'), 'default' => false, 'validation_type' => 'boolean');
    $generalTabFields['debugEventsHelper'] = array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description" style="max-width:400px;">' . sprintf(__('Enable this option to log debug information. By default this will log to your server PHP error log. If you\'d like to see the log messages in your browser, then we recommend that you install the %s and look for the "Tribe" tab in the debug output.', 'the-events-calendar'), '<a href="http://wordpress.org/extend/plugins/debug-bar/" target="_blank">' . __('Debug Bar Plugin', 'the-events-calendar') . '</a>') . '</p>', 'conditional' => '' != get_option('permalink_structure'));
}
// Closes form
$generalTabFields['tribe-form-content-end'] = array('type' => 'html', 'html' => '</div>');
$generalTab = array('priority' => 10, 'fields' => apply_filters('tribe_general_settings_tab_fields', $generalTabFields));
?>
</a>
			</span>
		</div><!-- tribe-events-calendar-header -->
		<?php 
tribe_calendar_grid();
// See the views/table.php template for customization
?>
      <?php 
if (function_exists('tribe_get_ical_link')) {
    ?>
         <a title="<?php 
    esc_attr_e('iCal Import', 'tribe-events-calendar');
    ?>
" class="ical" href="<?php 
    echo tribe_get_ical_link();
    ?>
"><?php 
    _e('iCal Import', 'tribe-events-calendar');
    ?>
</a>
      <?php 
}
?>
		<?php 
if (tribe_get_option('donate-link', false) == true) {
    ?>
			<p class="tribe-promo-banner"><?php 
    echo apply_filters('tribe_promo_banner', sprintf(__('Calendar powered by %sThe Events Calendar%s', 'tribe-events-calendar'), '<a href="http://tri.be/wordpress-events-calendar/">', '</a>'));
    ?>
</p>
Example #5
0
/**
 * display the iCal description
 *
 * @return string, the string to display
 */
function tribe_display_current_ical_link()
{
    if (function_exists('tribe_get_ical_link')) {
        echo '<p id="ical-link" class="tribe-field-indent tribe-field-description description">' . __('Here is the iCal feed URL for your events:', 'tribe-events-calendar') . ' ' . '<code>' . tribe_get_ical_link() . '</code></p>';
    }
}
<?php

$displayPressTrendsDialogue = tribe_get_option('displayedPressTrendsDialogue', false);
$displayPressTrendsDialogueValue = $displayPressTrendsDialogue == false ? '1' : '0';
if ($displayPressTrendsDialogue == false) {
    tribe_update_option('displayedPressTrendsDialogue', true);
}
$generalTab = array('priority' => 10, 'fields' => apply_filters('tribe_general_settings_tab_fields', array('info-start' => array('type' => 'html', 'html' => '<div id="modern-tribe-info"><img src="' . plugins_url('resources/images/modern-tribe.png', dirname(__FILE__)) . '" alt="Modern Tribe Inc." title="Modern Tribe Inc.">'), 'upsell-heading' => array('type' => 'heading', 'label' => __('Finding & extending your calendar.', 'tribe-events-calendar'), 'conditional' => !defined('TRIBE_HIDE_UPSELL') || !TRIBE_HIDE_UPSELL), 'finding-heading' => array('type' => 'heading', 'label' => __('Finding your calendar.', 'tribe-events-calendar'), 'conditional' => defined('TRIBE_HIDE_UPSELL') && TRIBE_HIDE_UPSELL), 'view-calendar-link' => array('type' => 'html', 'html' => '<p>' . __('Where\'s my calendar?', 'tribe-events-calendar') . '<br /><a href="' . TribeEvents::getLink() . '">' . __('Right here', 'tribe-events-calendar') . '</a>.</p>'), 'upsell-info' => array('type' => 'html', 'html' => '<p>' . __('Looking for additional functionality including recurring events, custom meta, community events, ticket sales and more?', 'tribe-events-calendar') . '<br><a href="' . self::$tribeUrl . 'shop/?utm_source=generaltab&utm_medium=promolink&utm_campaign=plugin' . '">' . __('Check out the available Add-Ons', 'tribe-events-calendar') . '</a>.</p>', 'conditional' => !defined('TRIBE_HIDE_UPSELL') || !TRIBE_HIDE_UPSELL), 'donate-link-heading' => array('type' => 'heading', 'label' => __('We hope our plugin is helping you out.', 'tribe-events-calendar')), 'donate-link-info' => array('type' => 'html', 'html' => '<p>' . __('Are you thinking "Wow, this plugin is amazing! I should say thanks to Modern Tribe for all their hard work." The greatest thanks we could ask for is recognition. Add a small text only link at the bottom of your calendar pointing to The Events Calendar project.', 'tribe-events-calendar') . '<br><a href="' . plugins_url('resources/images/donate-link-screenshot.jpg', dirname(__FILE__)) . '" class="thickbox">' . __('See an example of the link', 'tribe-events-calendar') . '</a>.</p>', 'conditional' => !class_exists('TribeEventsPro')), 'donate-link-pro-info' => array('type' => 'html', 'html' => '<p>' . __('Are you thinking "Wow, this plugin is amazing! I should say thanks to Modern Tribe for all their hard work." The greatest thanks we could ask for is recognition. Add a small text only link at the bottom of your calendar pointing to The Events Calendar project.', 'tribe-events-calendar') . '<br><a href="' . plugins_url('resources/images/donate-link-pro-screenshot.jpg', dirname(__FILE__)) . '" class="thickbox">' . __('See an example of the link', 'tribe-events-calendar') . '</a>.</p>', 'conditional' => class_exists('TribeEventsPro')), 'donate-link' => array('type' => 'checkbox_bool', 'label' => __('Show Events Calendar Link', 'tribe-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'info-end' => array('type' => 'html', 'html' => '</div>'), 'viewOption' => array('type' => 'radio', 'label' => __('Default view for the Events', 'tribe-events-calendar'), 'default' => 'month', 'options' => array('month' => 'Calendar', 'upcoming' => 'Event List'), 'validation_type' => 'options'), 'unprettyPermalinksUrl' => array('type' => 'html', 'label' => __('Events URL slug', 'tribe-events-calendar'), 'html' => '<p class="tribe-field-indent tribe-field-description description">' . __('You cannot edit the slug for your events page as you do not have pretty permalinks enabled. The current URL for your events page is <a href=" ' . TribeEvents::getLink('home') . '">' . TribeEvents::getLink('home ') . '</a>. In order to edit the slug here, enable pretty permalinks.', 'tribe-events-calendar') . '</p>', 'conditional' => '' == get_option('permalink_structure')), 'eventsSlug' => array('type' => 'text', 'label' => __('Events URL slug', 'tribe-events-calendar'), 'default' => 'events', 'validation_type' => 'slug', 'conditional' => '' != get_option('permalink_structure')), 'current-events-slug' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . __('The slug used for building the events URL.', 'tribe-events-calendar') . sprintf(__('Your current Events URL is %s', 'tribe-events-calendar'), '<code><a href="' . tribe_get_events_link() . '">' . tribe_get_events_link() . '</a></code>') . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'ical-info' => array('type' => 'html', 'display_callback' => function_exists('tribe_get_ical_link') ? '<p id="ical-link" class="tribe-field-indent tribe-field-description description">' . __('Here is the iCal feed URL for your events:', 'tribe-events-calendar') . ' ' . '<code>' . tribe_get_ical_link() . '</code></p>' : '', 'conditional' => function_exists('tribe_get_ical_link')), 'singleEventSlug' => array('type' => 'text', 'label' => __('Single Event URL slug', 'tribe-events-calendar'), 'default' => 'event', 'validation_type' => 'slug', 'conditional' => '' != get_option('permalink_structure')), 'current-single-event-slug' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf(__('You <strong>cannot</strong> use the same slug as above. The above should ideally be plural, and this singular.<br />Your single Event URL is like: %s', 'tribe-events-calendar'), '<code>' . trailingslashit(home_url()) . tribe_get_option('singleEventSlug', 'event') . '/single-post-name/' . '</code>') . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'postsPerPage' => array('type' => 'text', 'label' => __('Number of events to show per page', 'tribe-events-calendar'), 'size' => 'small', 'default' => get_option('posts_per_page'), 'validation_type' => 'positive_int'), 'showComments' => array('type' => 'checkbox_bool', 'label' => __('Show Comments', 'tribe-events-calendar'), 'tooltip' => __('Enable commenting on an event.', 'tribe-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'multiDayCutoff' => array('type' => 'dropdown', 'label' => __('Multiday Event Cutoff', 'tribe-events-calendar'), 'tooltip' => __('Hide final day from grid view if multi-day event ends before this time.', 'tribe-events-calendar'), 'validation_type' => 'options', 'size' => 'small', 'default' => '12:00', 'options' => array('12:00' => '12:00 am', '12:30' => '12:30 am', '01:00' => '01:00 am', '01:30' => '01:30 am', '02:00' => '02:00 am', '02:30' => '02:30 am', '03:00' => '03:00 am', '03:30' => '03:30 am', '04:00' => '04:00 am', '04:30' => '04:30 am', '05:00' => '05:00 am', '05:30' => '05:30 am', '06:00' => '06:00 am', '06:30' => '06:30 am', '07:00' => '07:00 am', '07:30' => '07:30 am', '08:00' => '08:00 am', '08:30' => '08:30 am', '09:00' => '09:00 am', '09:30' => '09:30 am', '10:00' => '10:00 am', '10:30' => '10:30 am', '11:00' => '11:00 am', '11:30' => '11:30 am')), 'embedGoogleMaps' => array('type' => 'checkbox_bool', 'label' => __('Enable Google Maps', 'tribe-events-calendar'), 'tooltip' => __('Turn on to enable backend map preview and frontend map.', 'tribe-events-calendar'), 'default' => true, 'class' => 'google-embed-size', 'validation_type' => 'boolean'), 'embedGoogleMapsHeight' => array('type' => 'text', 'label' => __('Google Maps Embed Height', 'tribe-events-calendar'), 'size' => 'small', 'default' => 350, 'tooltip' => __('Enter a number.', 'tribe-events-calendar'), 'class' => 'google-embed-field', 'validation_type' => 'positive_int'), 'embedGoogleMapsWidth' => array('type' => 'text', 'label' => __('Google Maps Embed Width', 'tribe-events-calendar'), 'size' => 'small', 'tooltip' => __('Enter a number or %.', 'tribe-events-calendar'), 'default' => '100%', 'class' => 'google-embed-field', 'validation_type' => 'number_or_percent'), 'embedGoogleMapsZoom' => array('type' => 'text', 'label' => __('Google Maps Default Zoom Level', 'tribe-events-calendar'), 'tooltip' => __('0 = zoomed out; 21 = zoomed in.', 'tribe_events_calendar'), 'size' => 'small', 'default' => 10, 'class' => 'google-embed-field', 'validation_type' => 'number_or_percent'), 'sendPressTrendsData' => array('type' => 'checkbox_bool', 'label' => __('Send PressTrends Data', 'tribe-events-calendar'), 'tooltip' => __('Help us out by sending analytics data about your usage of The Events Calendar.', 'tribe-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'debugEvents' => array('type' => 'checkbox_bool', 'label' => __('Debug Mode', 'tribe-events-calendar'), 'tooltip' => sprintf(__('Enable this option to log debug information. By default this will log to your server PHP error log. If you\'d like to see the log messages in your browser, then we recommend that you install the %s and look for the "Tribe" tab in the debug output.', 'tribe-events-calendar'), '<a href="http://wordpress.org/extend/plugins/debug-bar/" target="_blank">' . __('Debug Bar Plugin', 'tribe-events-calendar') . '</a>'), 'default' => false, 'validation_type' => 'boolean'), 'maybeDisplayPressTrendsDialogue' => array('type' => 'html', 'html' => '<input type="hidden" name="maybeDisplayPressTrendsDialogue" value="' . $displayPressTrendsDialogueValue . '"></input>'), 'pressTrendsDialogue' => array('type' => 'html', 'html' => '<div id="presstrends-dialog" title="Send PressTrends Data" style="display: none;">' . __('Would you like to help us out and send analytics about your usage of The Events Calendar?', 'tribe-events-calendar') . '<br/></div>'))));
Example #7
0
 /**
  * @deprecated
  */
 function sp_get_ical_link()
 {
     _deprecated_function(__FUNCTION__, '2.0', 'tribe_get_ical_link()');
     return tribe_get_ical_link();
 }
Example #8
0
 /**
  * iCal Link (Single)
  *
  * Returns an ical feed for a single event. Must be used in the loop.
  *
  * @return string URL for ical for single event.
  */
 function tribe_get_single_ical_link()
 {
     return tribe_get_ical_link();
 }
<?php

$tec = TribeEvents::instance();
$generalTab = array('priority' => 10, 'fields' => apply_filters('tribe_general_settings_tab_fields', array('info-start' => array('type' => 'html', 'html' => '<div id="modern-tribe-info"><img src="' . plugins_url('resources/images/modern-tribe@2x.png', dirname(__FILE__)) . '" alt="Modern Tribe Inc." title="Modern Tribe Inc.">'), 'upsell-heading' => array('type' => 'heading', 'label' => __('Finding & extending your calendar.', 'tribe-events-calendar'), 'conditional' => !defined('TRIBE_HIDE_UPSELL') || !TRIBE_HIDE_UPSELL), 'finding-heading' => array('type' => 'heading', 'label' => __('Finding your calendar.', 'tribe-events-calendar'), 'conditional' => defined('TRIBE_HIDE_UPSELL') && TRIBE_HIDE_UPSELL), 'view-calendar-link' => array('type' => 'html', 'html' => '<p>' . __('Where\'s my calendar?', 'tribe-events-calendar') . ' <a href="' . TribeEvents::getLink() . '">' . __('Right here', 'tribe-events-calendar') . '</a>.</p>'), 'upsell-info' => array('type' => 'html', 'html' => '<p>' . __('Looking for additional functionality including recurring events, custom meta, community events, ticket sales and more?', 'tribe-events-calendar') . ' <a href="' . self::$tribeUrl . 'products/?utm_source=generaltab&utm_medium=plugin-tec&utm_campaign=in-app' . '">' . __('Check out the available add-ons', 'tribe-events-calendar') . '</a>.</p>', 'conditional' => !defined('TRIBE_HIDE_UPSELL') || !TRIBE_HIDE_UPSELL), 'donate-link-heading' => array('type' => 'heading', 'label' => __('We hope our plugin is helping you out.', 'tribe-events-calendar')), 'donate-link-info' => array('type' => 'html', 'html' => '<p>' . __('Are you thinking "Wow, this plugin is amazing! I should say thanks to Modern Tribe for all their hard work." The greatest thanks we could ask for is recognition. Add a small text-only link at the bottom of your calendar pointing to The Events Calendar project.', 'tribe-events-calendar') . '<br><a href="' . plugins_url('resources/images/donate-link-screenshot.jpg', dirname(__FILE__)) . '" class="thickbox">' . __('See an example of the link', 'tribe-events-calendar') . '</a>.</p>', 'conditional' => !class_exists('TribeEventsPro')), 'donate-link-pro-info' => array('type' => 'html', 'html' => '<p>' . __('Are you thinking "Wow, this plugin is amazing! I should say thanks to Modern Tribe for all their hard work." The greatest thanks we could ask for is recognition. Add a small text only link at the bottom of your calendar pointing to The Events Calendar project.', 'tribe-events-calendar') . '<br><a href="' . plugins_url('resources/images/donate-link-pro-screenshot.jpg', dirname(__FILE__)) . '" class="thickbox">' . __('See an example of the link', 'tribe-events-calendar') . '</a>.</p>', 'conditional' => class_exists('TribeEventsPro')), 'donate-link' => array('type' => 'checkbox_bool', 'label' => __('Show The Events Calendar link', 'tribe-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'info-end' => array('type' => 'html', 'html' => '</div>'), 'tribe-form-content-start' => array('type' => 'html', 'html' => '<div class="tribe-settings-form-wrap">'), 'tribeEventsDisplayThemeTitle' => array('type' => 'html', 'html' => '<h3>' . __('General Settings', 'tribe-events-calendar') . '</h3>'), 'postsPerPage' => array('type' => 'text', 'label' => __('Number of events to show per page', 'tribe-events-calendar'), 'size' => 'small', 'default' => get_option('posts_per_page'), 'validation_type' => 'positive_int'), 'liveFiltersUpdate' => array('type' => 'checkbox_bool', 'label' => __('Use Javascript to control page load', 'tribe-events-calendar'), 'tooltip' => __('Enable ajax to live refresh content.', 'tribe-events-calendar'), 'default' => true, 'validation_type' => 'boolean'), 'showComments' => array('type' => 'checkbox_bool', 'label' => __('Show comments', 'tribe-events-calendar'), 'tooltip' => __('Enable comments on event pages.', 'tribe-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'showEventsInMainLoop' => array('type' => 'checkbox_bool', 'label' => __('Include events in main blog loop', 'tribe-events-calendar'), 'tooltip' => __('Show events with the site\'s other posts. When this box is checked, events will also continue to appear on the default events page.', 'tribe-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'unprettyPermalinksUrl' => array('type' => 'html', 'label' => __('Events URL slug', 'tribe-events-calendar'), 'html' => '<p>' . sprintf(__('You cannot edit the slug for your events page as you do not have pretty permalinks enabled. The current URL for your events page is <a href="%s">%s</a>. In order to edit the slug here, <a href="%soptions-permalink.php">enable pretty permalinks</a>.', 'tribe-events-calendar'), $tec->getLink('home'), $tec->getLink('home '), trailingslashit(get_admin_url())) . '</p>', 'conditional' => '' == get_option('permalink_structure')), 'eventsSlug' => array('type' => 'text', 'label' => __('Events URL slug', 'tribe-events-calendar'), 'default' => 'events', 'validation_type' => 'slug', 'conditional' => '' != get_option('permalink_structure')), 'current-events-slug' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . __('The slug used for building the events URL.', 'tribe-events-calendar') . sprintf(__('Your current events URL is: %s', 'tribe-events-calendar'), '<code><a href="' . tribe_get_events_link() . '">' . tribe_get_events_link() . '</a></code>') . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'ical-info' => array('type' => 'html', 'display_callback' => function_exists('tribe_get_ical_link') ? '<p id="ical-link" class="tribe-field-indent tribe-field-description description">' . __('Here is the iCal feed URL for your events:', 'tribe-events-calendar') . ' ' . '<code>' . tribe_get_ical_link() . '</code></p>' : '', 'conditional' => function_exists('tribe_get_ical_link')), 'singleEventSlug' => array('type' => 'text', 'label' => __('Single event URL slug', 'tribe-events-calendar'), 'default' => 'event', 'validation_type' => 'slug', 'conditional' => '' != get_option('permalink_structure')), 'current-single-event-slug' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf(__('The above should ideally be plural, and this singular.<br />Your single event URL is: %s', 'tribe-events-calendar'), '<code>' . trailingslashit(home_url()) . tribe_get_option('singleEventSlug', 'event') . '/single-post-name/' . '</code>') . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'multiDayCutoff' => array('type' => 'dropdown', 'label' => __('End of day cutoff', 'tribe-events-calendar'), 'validation_type' => 'options', 'size' => 'small', 'default' => '12:00', 'options' => array('12:00' => '12:00 am', '12:30' => '12:30 am', '01:00' => '01:00 am', '01:30' => '01:30 am', '02:00' => '02:00 am', '02:30' => '02:30 am', '03:00' => '03:00 am', '03:30' => '03:30 am', '04:00' => '04:00 am', '04:30' => '04:30 am', '05:00' => '05:00 am', '05:30' => '05:30 am', '06:00' => '06:00 am', '06:30' => '06:30 am', '07:00' => '07:00 am', '07:30' => '07:30 am', '08:00' => '08:00 am', '08:30' => '08:30 am', '09:00' => '09:00 am', '09:30' => '09:30 am', '10:00' => '10:00 am', '10:30' => '10:30 am', '11:00' => '11:00 am', '11:30' => '11:30 am')), 'multiDayCutoffHelper' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf(__('Have events that run past midnight? Control when your day official ends to avoid awkwardly adding your event to the next day.', 'tribe-events-calendar')) . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'defaultCurrencySymbol' => array('type' => 'text', 'label' => __('Default currency symbol', 'tribe-events-calendar'), 'tooltip' => __('Set the default currency symbol for event costs. Note that this only impacts future events, and changes made will not apply retroactively.', 'tribe-events-calendar'), 'validation_type' => 'textarea', 'size' => 'small', 'default' => '$'), 'tribeEventsDisplayTitle' => array('type' => 'html', 'html' => '<h3>' . __('Map Settings', 'tribe-events-calendar') . '</h3>'), 'embedGoogleMaps' => array('type' => 'checkbox_bool', 'label' => __('Enable Google Maps', 'tribe-events-calendar'), 'tooltip' => __('Check to enable maps for events and venues.', 'tribe-events-calendar'), 'default' => true, 'class' => 'google-embed-size', 'validation_type' => 'boolean'), 'embedGoogleMapsZoom' => array('type' => 'text', 'label' => __('Google Maps default zoom level', 'tribe-events-calendar'), 'tooltip' => __('0 = zoomed out; 21 = zoomed in.', 'tribe-events-calendar'), 'size' => 'small', 'default' => 10, 'class' => 'google-embed-field', 'validation_type' => 'number_or_percent'), 'tribeEventsMiscellaneousTitle' => array('type' => 'html', 'html' => '<h3>' . __('Miscellaneous Settings', 'tribe-events-calendar') . '</h3>'), 'amalgamateDuplicates' => array('type' => 'html', 'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . __('Duplicate Venues &amp; Organizers', 'tribe-events-calendar') . '</legend><div class="tribe-field-wrap">' . Tribe_Amalgamator::migration_button(__('Merge Duplicates', 'tribe-events-calendar')) . '<p class="tribe-field-indent description">' . __('You might find duplicate venues and organizers when updating The Events Calendar from a pre-3.0 version. Click this button to automatically merge identical venues and organizers.', 'tribe-events-calendar') . '</p></div></fieldset><div class="clear"></div>', 'conditional' => $tec->getOption('organizer_venue_amalgamation', 0) < 1), 'debugEvents' => array('type' => 'checkbox_bool', 'label' => __('Debug mode', 'tribe-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'debugEventsHelper' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description" style="max-width:400px;">' . sprintf(__('Enable this option to log debug information. By default this will log to your server PHP error log. If you\'d like to see the log messages in your browser, then we recommend that you install the %s and look for the "Tribe" tab in the debug output.', 'tribe-events-calendar'), '<a href="http://wordpress.org/extend/plugins/debug-bar/" target="_blank">' . __('Debug Bar Plugin', 'tribe-events-calendar') . '</a>') . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'tribe-form-content-end' => array('type' => 'html', 'html' => '</div>'))));
<?php

$tec = Tribe__Events__Main::instance();
$general_tab_fields = Tribe__Main::array_insert_after_key('info-start', $general_tab_fields, array('upsell-heading' => array('type' => 'heading', 'label' => esc_html__('Finding & extending your calendar.', 'the-events-calendar'), 'conditional' => !defined('TRIBE_HIDE_UPSELL') || !TRIBE_HIDE_UPSELL), 'finding-heading' => array('type' => 'heading', 'label' => esc_html__('Finding your calendar.', 'the-events-calendar'), 'conditional' => defined('TRIBE_HIDE_UPSELL') && TRIBE_HIDE_UPSELL), 'view-calendar-link' => array('type' => 'html', 'html' => '<p>' . esc_html__('Where\'s my calendar?', 'the-events-calendar') . ' <a href="' . esc_url(Tribe__Events__Main::instance()->getLink()) . '">' . esc_html__('Right here', 'the-events-calendar') . '</a>.</p>')));
$general_tab_fields = Tribe__Main::array_insert_before_key('debugEvents', $general_tab_fields, array('tribeEventsDisplayThemeTitle' => array('type' => 'html', 'html' => '<h3>' . esc_html__('General Settings', 'the-events-calendar') . '</h3>'), 'postsPerPage' => array('type' => 'text', 'label' => esc_html__('Number of events to show per page', 'the-events-calendar'), 'size' => 'small', 'default' => get_option('posts_per_page'), 'validation_type' => 'positive_int'), 'liveFiltersUpdate' => array('type' => 'checkbox_bool', 'label' => esc_html__('Use Javascript to control date filtering', 'the-events-calendar'), 'tooltip' => tribe_get_option('tribeDisableTribeBar', false) == true ? esc_html__('This option is disabled when "Disable the Event Search Bar" is checked on the Display settings tab.', 'the-events-calendar') : esc_html__('Enable live ajax for datepicker on front end (User submit not required).', 'the-events-calendar'), 'attributes' => tribe_get_option('tribeDisableTribeBar', false) == true ? array('disabled' => 'disabled') : null, 'default' => true, 'validation_type' => 'boolean', 'class' => tribe_get_option('tribeDisableTribeBar', false) == true ? 'tribe-fieldset-disabled' : null), 'showComments' => array('type' => 'checkbox_bool', 'label' => esc_html__('Show comments', 'the-events-calendar'), 'tooltip' => esc_html__('Enable comments on event pages.', 'the-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'showEventsInMainLoop' => array('type' => 'checkbox_bool', 'label' => esc_html__('Include events in main blog loop', 'the-events-calendar'), 'tooltip' => esc_html__('Show events with the site\'s other posts. When this box is checked, events will also continue to appear on the default events page.', 'the-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'unprettyPermalinksUrl' => array('type' => 'html', 'label' => esc_html__('Events URL slug', 'the-events-calendar'), 'html' => '<p>' . sprintf(__('You cannot edit the slug for your events page as you do not have pretty permalinks enabled. The current URL for your events page is <a href="%1$s">%2$s</a>. In order to edit the slug here, <a href="%3$soptions-permalink.php">enable pretty permalinks</a>.', 'the-events-calendar'), esc_url($tec->getLink('home')), $tec->getLink('home '), esc_url(trailingslashit(get_admin_url()))) . '</p>', 'conditional' => '' == get_option('permalink_structure')), 'eventsSlug' => array('type' => 'text', 'label' => esc_html__('Events URL slug', 'the-events-calendar'), 'default' => 'events', 'validation_type' => 'slug', 'conditional' => '' != get_option('permalink_structure')), 'current-events-slug' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . esc_html__('The slug used for building the events URL.', 'the-events-calendar') . sprintf(esc_html__('Your current events URL is: %s', 'the-events-calendar'), '<code><a href="' . esc_url(tribe_get_events_link()) . '">' . tribe_get_events_link() . '</a></code>') . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'ical-info' => array('type' => 'html', 'display_callback' => function_exists('tribe_get_ical_link') ? '<p id="ical-link" class="tribe-field-indent tribe-field-description description">' . esc_html__('Here is the iCal feed URL for your events:', 'the-events-calendar') . ' <code>' . tribe_get_ical_link() . '</code></p>' : '', 'conditional' => function_exists('tribe_get_ical_link')), 'singleEventSlug' => array('type' => 'text', 'label' => esc_html__('Single event URL slug', 'the-events-calendar'), 'default' => 'event', 'validation_type' => 'slug', 'conditional' => '' != get_option('permalink_structure')), 'current-single-event-slug' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf(__('The above should ideally be plural, and this singular.<br />Your single event URL is: %s', 'the-events-calendar'), '<code>' . trailingslashit(home_url()) . tribe_get_option('singleEventSlug', 'event') . '/single-post-name/</code>') . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'multiDayCutoff' => array('type' => 'dropdown', 'label' => esc_html__('End of day cutoff', 'the-events-calendar'), 'validation_type' => 'options', 'size' => 'small', 'default' => '12:00', 'options' => array('00:00' => '12:00 am', '01:00' => '01:00 am', '02:00' => '02:00 am', '03:00' => '03:00 am', '04:00' => '04:00 am', '05:00' => '05:00 am', '06:00' => '06:00 am', '07:00' => '07:00 am', '08:00' => '08:00 am', '09:00' => '09:00 am', '10:00' => '10:00 am', '11:00' => '11:00 am')), 'multiDayCutoffHelper' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf(esc_html__("Have an event that runs past midnight? Select a time after that event's end to avoid showing the event on the next day's calendar.", 'the-events-calendar')) . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'defaultCurrencySymbol' => array('type' => 'text', 'label' => esc_html__('Default currency symbol', 'the-events-calendar'), 'tooltip' => esc_html__('Set the default currency symbol for event costs. Note that this only impacts future events, and changes made will not apply retroactively.', 'the-events-calendar'), 'validation_type' => 'textarea', 'size' => 'small', 'default' => '$'), 'reverseCurrencyPosition' => array('type' => 'checkbox_bool', 'label' => esc_html__('Currency symbol follows value', 'the-events-calendar'), 'tooltip' => esc_html__('The currency symbol normally precedes the value. Enabling this option positions the symbol after the value.', 'the-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'amalgamateDuplicates' => array('type' => 'html', 'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . esc_html__('Duplicate Venues &amp; Organizers', 'the-events-calendar') . '</legend><div class="tribe-field-wrap">' . Tribe__Events__Amalgamator::migration_button(esc_html__('Merge Duplicates', 'the-events-calendar')) . '<p class="tribe-field-indent description">' . esc_html__('You might find duplicate venues and organizers when updating The Events Calendar from a pre-3.0 version. Click this button to automatically merge identical venues and organizers.', 'the-events-calendar') . '</p></div></fieldset><div class="clear"></div>', 'conditional' => Tribe__Settings_Manager::get_option('organizer_venue_amalgamation', 0) < 1), 'tribeEventsMiscellaneousTitle' => array('type' => 'html', 'html' => '<h3>' . esc_html__('Miscellaneous Settings', 'the-events-calendar') . '</h3>')));
$general_tab_fields = Tribe__Main::array_insert_after_key('tribeEventsMiscellaneousTitle', $general_tab_fields, array('viewWelcomePage' => array('type' => 'html', 'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . esc_html__('View Welcome Page', 'the-events-calendar') . '</legend><div class="tribe-field-wrap"><a href="' . Tribe__Settings::instance()->get_url(array(Tribe__Events__Main::instance()->activation_page->welcome_slug => 1)) . '" class="button">' . esc_html__('View Welcome Page', 'the-events-calendar') . '</a><p class="tribe-field-indent description">' . esc_html__('View the page that displayed when you initially installed the plugin.', 'the-events-calendar') . '</p></div></fieldset><div class="clear"></div>'), 'viewUpdatePage' => array('type' => 'html', 'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . esc_html__('View Update Page', 'the-events-calendar') . '</legend><div class="tribe-field-wrap"><a href="' . Tribe__Settings::instance()->get_url(array(Tribe__Events__Main::instance()->activation_page->update_slug => 1)) . '" class="button">' . esc_html__('View Update Page', 'the-events-calendar') . '</a><p class="tribe-field-indent description">' . esc_html__('View the page that displayed when you updated the plugin.', 'the-events-calendar') . '</p></div></fieldset><div class="clear"></div>')));
$general_tab_fields = Tribe__Main::array_insert_before_key('tribeEventsMiscellaneousTitle', $general_tab_fields, array('tribeEventsDisplayTitle' => array('type' => 'html', 'html' => '<h3>' . esc_html__('Map Settings', 'the-events-calendar') . '</h3>'), 'embedGoogleMaps' => array('type' => 'checkbox_bool', 'label' => esc_html__('Enable Google Maps', 'the-events-calendar'), 'tooltip' => esc_html__('Check to enable maps for events and venues.', 'the-events-calendar'), 'default' => true, 'class' => 'google-embed-size', 'validation_type' => 'boolean'), 'embedGoogleMapsZoom' => array('type' => 'text', 'label' => esc_html__('Google Maps default zoom level', 'the-events-calendar'), 'tooltip' => esc_html__('0 = zoomed out; 21 = zoomed in.', 'the-events-calendar'), 'size' => 'small', 'default' => 10, 'class' => 'google-embed-field', 'validation_type' => 'number_or_percent')));
return $general_tab_fields;
<?php

$tec = Tribe__Events__Main::instance();
$general_tab_fields = Tribe__Main::array_insert_after_key('info-start', $general_tab_fields, array('upsell-heading' => array('type' => 'heading', 'label' => esc_html__('Finding & extending your calendar.', 'the-events-calendar'), 'conditional' => !defined('TRIBE_HIDE_UPSELL') || !TRIBE_HIDE_UPSELL), 'finding-heading' => array('type' => 'heading', 'label' => esc_html__('Finding your calendar.', 'the-events-calendar'), 'conditional' => defined('TRIBE_HIDE_UPSELL') && TRIBE_HIDE_UPSELL), 'view-calendar-link' => array('type' => 'html', 'html' => '<p>' . esc_html__('Where\'s my calendar?', 'the-events-calendar') . ' <a href="' . esc_url(Tribe__Events__Main::instance()->getLink()) . '">' . esc_html__('Right here', 'the-events-calendar') . '</a>.</p>')));
$general_tab_fields = Tribe__Main::array_insert_before_key('defaultCurrencySymbol', $general_tab_fields, array('postsPerPage' => array('type' => 'text', 'label' => esc_html__('Number of events to show per page', 'the-events-calendar'), 'size' => 'small', 'default' => get_option('posts_per_page'), 'validation_type' => 'positive_int'), 'liveFiltersUpdate' => array('type' => 'checkbox_bool', 'label' => esc_html__('Use Javascript to control date filtering', 'the-events-calendar'), 'tooltip' => tribe_get_option('tribeDisableTribeBar', false) == true ? esc_html__('This option is disabled when "Disable the Event Search Bar" is checked on the Display settings tab.', 'the-events-calendar') : esc_html__('Enable live ajax for datepicker on front end (User submit not required).', 'the-events-calendar'), 'attributes' => tribe_get_option('tribeDisableTribeBar', false) == true ? array('disabled' => 'disabled') : null, 'default' => true, 'validation_type' => 'boolean', 'class' => tribe_get_option('tribeDisableTribeBar', false) == true ? 'tribe-fieldset-disabled' : null), 'showComments' => array('type' => 'checkbox_bool', 'label' => esc_html__('Show comments', 'the-events-calendar'), 'tooltip' => esc_html__('Enable comments on event pages.', 'the-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'showEventsInMainLoop' => array('type' => 'checkbox_bool', 'label' => esc_html__('Include events in main blog loop', 'the-events-calendar'), 'tooltip' => esc_html__('Show events with the site\'s other posts. When this box is checked, events will also continue to appear on the default events page.', 'the-events-calendar'), 'default' => false, 'validation_type' => 'boolean'), 'unprettyPermalinksUrl' => array('type' => 'html', 'label' => esc_html__('Events URL slug', 'the-events-calendar'), 'html' => '<p>' . sprintf(__('You cannot edit the slug for your events page as you do not have pretty permalinks enabled. The current URL for your events page is <a href="%1$s">%2$s</a>. In order to edit the slug here, <a href="%3$soptions-permalink.php">enable pretty permalinks</a>.', 'the-events-calendar'), esc_url($tec->getLink('home')), $tec->getLink('home '), esc_url(trailingslashit(get_admin_url()))) . '</p>', 'conditional' => '' == get_option('permalink_structure')), 'eventsSlug' => array('type' => 'text', 'label' => esc_html__('Events URL slug', 'the-events-calendar'), 'default' => 'events', 'validation_type' => 'slug', 'conditional' => '' != get_option('permalink_structure')), 'current-events-slug' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . esc_html__('The slug used for building the events URL.', 'the-events-calendar') . sprintf(esc_html__('Your current events URL is: %s', 'the-events-calendar'), '<code><a href="' . esc_url(tribe_get_events_link()) . '">' . tribe_get_events_link() . '</a></code>') . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'ical-info' => array('type' => 'html', 'display_callback' => function_exists('tribe_get_ical_link') ? '<p id="ical-link" class="tribe-field-indent tribe-field-description description">' . esc_html__('Here is the iCal feed URL for your events:', 'the-events-calendar') . ' <code>' . tribe_get_ical_link() . '</code></p>' : '', 'conditional' => function_exists('tribe_get_ical_link')), 'singleEventSlug' => array('type' => 'text', 'label' => esc_html__('Single event URL slug', 'the-events-calendar'), 'default' => 'event', 'validation_type' => 'slug', 'conditional' => '' != get_option('permalink_structure')), 'current-single-event-slug' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf(__('The above should ideally be plural, and this singular.<br />Your single event URL is: %s', 'the-events-calendar'), '<code>' . trailingslashit(home_url()) . tribe_get_option('singleEventSlug', 'event') . '/single-post-name/</code>') . '</p>', 'conditional' => '' != get_option('permalink_structure')), 'multiDayCutoff' => array('type' => 'dropdown', 'label' => esc_html__('End of day cutoff', 'the-events-calendar'), 'validation_type' => 'options', 'size' => 'small', 'default' => '12:00', 'options' => array('00:00' => '12:00 am', '01:00' => '01:00 am', '02:00' => '02:00 am', '03:00' => '03:00 am', '04:00' => '04:00 am', '05:00' => '05:00 am', '06:00' => '06:00 am', '07:00' => '07:00 am', '08:00' => '08:00 am', '09:00' => '09:00 am', '10:00' => '10:00 am', '11:00' => '11:00 am')), 'multiDayCutoffHelper' => array('type' => 'html', 'html' => '<p class="tribe-field-indent tribe-field-description description">' . sprintf(esc_html__("Have an event that runs past midnight? Select a time after that event's end to avoid showing the event on the next day's calendar.", 'the-events-calendar')) . '</p>', 'conditional' => '' != get_option('permalink_structure'))));
$general_tab_fields = Tribe__Main::array_insert_before_key('tribeEventsMiscellaneousTitle', $general_tab_fields, array('amalgamateDuplicates' => array('type' => 'html', 'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . esc_html__('Duplicate Venues &amp; Organizers', 'the-events-calendar') . '</legend><div class="tribe-field-wrap">' . Tribe__Events__Amalgamator::migration_button(esc_html__('Merge Duplicates', 'the-events-calendar')) . '<p class="tribe-field-indent description">' . esc_html__('You might find duplicate venues and organizers when updating The Events Calendar from a pre-3.0 version. Click this button to automatically merge identical venues and organizers.', 'the-events-calendar') . '</p></div></fieldset><div class="clear"></div>', 'conditional' => Tribe__Settings_Manager::get_option('organizer_venue_amalgamation', 0) < 1)));
$general_tab_fields = Tribe__Main::array_insert_before_key('tribeEventsMiscellaneousTitle', $general_tab_fields, array('tribeEventsDisplayTitle' => array('type' => 'html', 'html' => '<h3>' . esc_html__('Map Settings', 'the-events-calendar') . '</h3>'), 'embedGoogleMaps' => array('type' => 'checkbox_bool', 'label' => esc_html__('Enable Google Maps', 'the-events-calendar'), 'tooltip' => esc_html__('Check to enable maps for events and venues.', 'the-events-calendar'), 'default' => true, 'class' => 'google-embed-size', 'validation_type' => 'boolean'), 'embedGoogleMapsZoom' => array('type' => 'text', 'label' => esc_html__('Google Maps default zoom level', 'the-events-calendar'), 'tooltip' => esc_html__('0 = zoomed out; 21 = zoomed in.', 'the-events-calendar'), 'size' => 'small', 'default' => 10, 'class' => 'google-embed-field', 'validation_type' => 'number_or_percent')));
$general_tab_fields = Tribe__Main::array_insert_after_key('tribeEventsMiscellaneousTitle', $general_tab_fields, array('viewWelcomePage' => array('type' => 'html', 'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . esc_html__('View Welcome Page', 'the-events-calendar') . '</legend><div class="tribe-field-wrap"><a href="' . Tribe__Settings::instance()->get_url(array('tec-welcome-message' => true)) . '" class="button">' . esc_html__('View Welcome Page', 'the-events-calendar') . '</a><p class="tribe-field-indent description">' . esc_html__('View the page that displayed when you initially installed the plugin.', 'the-events-calendar') . '</p></div></fieldset><div class="clear"></div>'), 'viewUpdatePage' => array('type' => 'html', 'html' => '<fieldset class="tribe-field tribe-field-html"><legend>' . esc_html__('View Update Page', 'the-events-calendar') . '</legend><div class="tribe-field-wrap"><a href="' . Tribe__Settings::instance()->get_url(array('tec-update-message' => true)) . '" class="button">' . esc_html__('View Update Page', 'the-events-calendar') . '</a><p class="tribe-field-indent description">' . esc_html__('View the page that displayed when you updated the plugin.', 'the-events-calendar') . '</p></div></fieldset><div class="clear"></div>')));
return $general_tab_fields;
function grve_events_maybe_add_link()
{
    global $wp_query;
    $show_ical = apply_filters('tribe_events_list_show_ical_link', true);
    if (!$show_ical) {
        return;
    }
    if (tribe_is_month() && !tribe_events_month_has_events()) {
        return;
    }
    if (is_single() || !have_posts()) {
        return;
    }
    $tec = TribeEvents::instance();
    $view = $tec->displaying;
    if (defined('DOING_AJAX') && DOING_AJAX && isset($wp_query->query_vars['eventDisplay'])) {
        $view = $wp_query->query_vars['eventDisplay'];
    }
    switch (strtolower($view)) {
        case 'month':
            $modifier = __("Month's Events", GRVE_THEME_TRANSLATE);
            break;
        case 'week':
            $modifier = __("Week's Events", GRVE_THEME_TRANSLATE);
            break;
        case 'day':
            $modifier = __("Day's Events", GRVE_THEME_TRANSLATE);
            break;
        default:
            $modifier = __("Listed Events", GRVE_THEME_TRANSLATE);
            break;
    }
    $text = apply_filters('tribe_events_ical_export_text', __('Export', GRVE_THEME_TRANSLATE) . ' ' . $modifier);
    $title = __('Use this to share calendar data with Google Calendar, Apple iCal and other compatible apps', GRVE_THEME_TRANSLATE);
    $ical = '<div class="grve-align-right"><a class="grve-btn grve-btn-extrasmall grve-square grve-bg-primary-1" title="' . $title . '" href="' . tribe_get_ical_link() . '">' . $text . '</a></div>';
    echo $ical;
}