Exemple #1
0
/**
 * Redirect to event listing or single event template.
 *
 * @uses Voce_Eventbrite_API::get_auth_service()
 * @uses eventbrite_venue_get_page_id()
 * @uses is_front_page()
 * @uses get_option()
 * @uses set_query_var()
 * @uses get_query_var()
 * @uses get_template_directory()
 * @uses eb_get_event_by_id()
 * @uses eventbrite_venue_maybe_include_template()
 */
function eventbrite_venue_template_redirect()
{
    if (!class_exists('Voce_Eventbrite_API') || !Voce_Eventbrite_API::get_auth_service()) {
        return;
    }
    // handle case when reading settings, front page setting is set to upcoming events
    $upcoming_events_page_id = eventbrite_venue_get_page_id('upcoming-events');
    if (is_front_page() && $upcoming_events_page_id && $upcoming_events_page_id == get_option('page_on_front')) {
        // set paged variable
        set_query_var('paged', get_query_var('page'));
        include get_template_directory() . '/upcoming-events.php';
        die;
    }
    // handle case when reading settings, front page setting is set to events
    $events_page_id = eventbrite_venue_get_page_id('events');
    if (is_front_page() && $events_page_id && $events_page_id == get_option('page_on_front')) {
        // set paged variable
        set_query_var('paged', get_query_var('page'));
        include get_template_directory() . '/event.php';
        die;
    }
    if (get_query_var('eb_event') && eventbrite_venue_get_page_url('events')) {
        $event_id = get_query_var('eb_event_id');
        if ($event_id) {
            if (!eb_get_event_by_id($event_id)) {
                global $wp_query;
                $wp_query->is_404 = true;
                return;
            }
            include get_template_directory() . '/event-single.php';
            die;
        }
        include get_template_directory() . '/event.php';
        die;
    }
    if (get_query_var('eb_dynamic_page')) {
        // check currently queried object against Eventbrite pages to see if we
        // need to load a different template
        $dynamic_pages = eventbrite_venue_get_dynamic_pages();
        if ($dynamic_pages) {
            $queried_object_id = get_queried_object_id();
            foreach ($dynamic_pages as $key => $template) {
                eventbrite_venue_maybe_include_template(eventbrite_venue_get_page_id($key), $queried_object_id, $template);
            }
        }
    }
}
Exemple #2
0
<?php

/**
 * Template part home loop
 *
 * @package eventbrite-venue
 */
$venue_id = get_eventbrite_setting('venue-id', 'all');
$organizer_id = get_eventbrite_setting('organizer-id', 'all');
$language = get_eventbrite_setting('call-to-action');
$page = max(1, get_query_var('paged'));
$per_page = get_option('posts_per_page');
$events = Voce_Eventbrite_API::get_user_events(array('per_page' => -1, 'page' => -1, 'venue' => $venue_id, 'organizer' => $organizer_id));
$total_events = count($events);
if ($page > 0) {
    $events = array_slice($events, ($page - 1) * $per_page, $per_page);
} else {
    // return the specified number
    if ($count > 0) {
        $events = array_slice($events, 0, $count);
    }
}
?>
<h1><?php 
_e('Upcoming Events', 'eventbrite-venue');
?>
</h1>

<div class="event-items">
<?php 
if ($events) {
Exemple #3
0
        /**
         * Display function for widget
         * @param type $args
         * @param type $instance
         * @return type
         */
        function widget($args, $instance)
        {
            if (!Voce_Eventbrite_API::get_auth_service()) {
                return;
            }
            $cache = wp_cache_get('widget_just_announced', 'widget');
            if (!is_array($cache)) {
                $cache = array();
            }
            if (!isset($args['widget_id'])) {
                $args['widget_id'] = $this->id;
            }
            if (isset($cache[$args['widget_id']])) {
                echo wp_kses($cache[$args['widget_id']], wp_kses_allowed_html('post'));
                return;
            }
            ob_start();
            extract($args);
            $title = !empty($instance['title']) ? $instance['title'] : __('Just Announced', 'eventbrite-parent');
            $title = apply_filters('widget_title', $title, $instance, $this->id_base);
            $recent_events = Voce_Eventbrite_API::get_user_events(array('count' => 5, 'orderby' => 'created', 'order' => 'desc'));
            if (!empty($recent_events)) {
                ?>
 			<?php 
                echo $before_widget;
                ?>
 			<?php 
                if ($title) {
                    echo $before_title . esc_html($title) . $after_title;
                }
                ?>
 			<ul>
			<?php 
                foreach ($recent_events as $recent_event) {
                    $wp_event_url = eventbrite_venue_get_wp_event_url($recent_event);
                    ?>
 				<li>
 					<?php 
                    if ($wp_event_url) {
                        ?>
 						<a href="<?php 
                        echo esc_url($wp_event_url);
                        ?>
" title="<?php 
                        echo esc_attr($recent_event->name->text);
                        ?>
">
 					<?php 
                    }
                    ?>
					<?php 
                    echo esc_html($recent_event->name->text);
                    ?>
 					<?php 
                    if ($wp_event_url) {
                        ?>
 						</a>
 					<?php 
                    }
                    ?>
<br/>
					<span><?php 
                    echo esc_html(mysql2date(get_option('date_format'), $recent_event->start->utc));
                    ?>
</span>
 				</li>
 			<?php 
                }
                ?>
 			</ul>
 			<?php 
                echo $after_widget;
                ?>
 			<?php 
            }
            $cache[$args['widget_id']] = ob_get_flush();
            wp_cache_set('widget_just_announced', $cache, 'widget');
        }
/**
 * add Theme Options settings specific to this theme
 */
function eventbrite_venue_page_settings()
{
    if (class_exists('Voce_Eventbrite_API') && Voce_Eventbrite_API::get_auth_service()) {
        $settings = Voce_Settings_API::GetInstance()->add_page(__('Eventbrite', 'eventbrite-parent'), __('Eventbrite', 'eventbrite-parent'), 'eventbrite', 'edit_theme_options', '')->add_group('', Eventbrite_Settings::eventbrite_group_key())->add_setting('<h3 id="eb-pages">' . __('Recommended Page Settings for This Theme', 'eventbrite-venue') . '</h3>', 'eventbrite-page-settings', array('display_callback' => 'eventbrite_venue_page_settings_description_cb'))->group->add_setting(__('Events List', 'eventbrite-venue'), 'events-page-id', array('description' => __('This page will be used to show a list of your upcoming Eventbrite events.', 'eventbrite-venue'), 'display_callback' => 'eventbrite_venue_page_settings_cb', 'sanitize_callbacks' => array('absint')))->group->add_setting(__('Featured Events List', 'eventbrite-venue'), 'upcoming-events-page-id', array('description' => __('This page will be used to display a carousel of the selected featured Eventbrite events along with a listing of upcoming Eventbrite events.', 'eventbrite-venue'), 'display_callback' => 'eventbrite_venue_page_settings_cb', 'sanitize_callbacks' => array('absint')))->group->add_setting(__('Calendar Page', 'eventbrite-venue'), 'calendar-page-id', array('description' => __('This page will show a calendar (monthly) view of your Eventbrite events.', 'eventbrite-venue'), 'display_callback' => 'eventbrite_venue_page_settings_cb', 'sanitize_callbacks' => array('absint')))->group->add_setting(__('Additional Suggested Pages', 'eventbrite-venue'), 'suggested-pages', array('display_callback' => 'eventbrite_venue_page_suggested_cb'));
    }
}