echo $event_id . '-' . $meta['price_id'];
?>
">

		<?php 
//Show the description ?
if ($display_desc == "Y" && $display_description_on_multi_reg_page != 'N') {
    ?>
			<?php 
    //Featured image
    echo apply_filters('filter_hook_espresso_display_featured_image', $event_id, !empty($event_meta['event_thumbnail_url']) ? $event_meta['event_thumbnail_url'] : '');
    ?>
			<div class="event_description">
			<?php 
    //Code to show the actual description. The Wordpress function "wpautop" adds formatting to your description.
    echo espresso_format_content($event_desc);
    ?>
</div>
			<?php 
}
//End display description
//print_r( event_espresso_get_is_active($event_id));
switch ($is_active['status']) {
    case 'EXPIRED':
        //only show the event description.
        _e('<h3 class="expired_event">This event has passed.</h3>', 'event_espresso');
        break;
    case 'REGISTRATION_CLOSED':
        //only show the event description.
        // if todays date is after $reg_end_date
        ?>
Example #2
0
 function event_espresso_get_event_details($attributes)
 {
     global $wpdb, $org_options, $events_in_session;
     $event_page_id = $org_options['event_page_id'];
     $currency_symbol = isset($org_options['currency_symbol']) ? $org_options['currency_symbol'] : '';
     $ee_search = isset($_REQUEST['ee_search']) && $_REQUEST['ee_search'] == 'true' && isset($_REQUEST['ee_name']) && !empty($_REQUEST['ee_name']) ? true : false;
     $ee_search_string = isset($_REQUEST['ee_name']) && !empty($_REQUEST['ee_name']) ? sanitize_text_field($_REQUEST['ee_name']) : '';
     //Check for Multi Event Registration
     $multi_reg = false;
     $category_name = '';
     if (function_exists('event_espresso_multi_reg_init')) {
         $multi_reg = true;
     }
     $default_attributes = array('category_identifier' => NULL, 'staff_id' => NULL, 'allow_override' => 0, 'show_expired' => 'false', 'show_secondary' => 'false', 'show_deleted' => 'false', 'show_recurrence' => 'true', 'limit' => '0', 'order_by' => 'NULL', 'sort' => 'ASC', 'css_class' => 'NULL', 'current_page' => 1, 'events_per_page' => 50, 'num_page_links_to_display' => 10, 'use_wrapper' => true);
     // loop thru default atts
     foreach ($default_attributes as $key => $default_attribute) {
         // check if att exists
         if (!isset($attributes[$key])) {
             $attributes[$key] = $default_attribute;
         }
     }
     // now extract shortcode attributes
     extract($attributes);
     //Create the query
     $DISTINCT = $ee_search == true ? "DISTINCT" : '';
     $sql = "SELECT {$DISTINCT} e.*, ese.start_time, ese.end_time, p.event_cost ";
     //Category sql
     $sql .= $category_identifier != NULL && !empty($category_identifier) ? ", c.category_name, c.category_desc, c.display_desc, c.category_identifier" : '';
     //Venue sql
     isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y' ? $sql .= ", v.name venue_name, v.address venue_address, v.city venue_city, v.state venue_state, v.zip venue_zip, v.country venue_country, v.meta venue_meta " : '';
     //Staff sql
     isset($org_options['use_personnel_manager']) && $org_options['use_personnel_manager'] == 'Y' ? $sql .= ", st.name staff_name " : '';
     $sql .= " FROM " . EVENTS_DETAIL_TABLE . " e ";
     $sql .= $category_identifier != NULL && !empty($category_identifier) ? " JOIN " . EVENTS_CATEGORY_REL_TABLE . " r ON r.event_id = e.id  JOIN " . EVENTS_CATEGORY_TABLE . " c ON  c.id = r.cat_id " : '';
     //Venue sql
     isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y' ? $sql .= " LEFT JOIN " . EVENTS_VENUE_REL_TABLE . " vr ON vr.event_id = e.id LEFT JOIN " . EVENTS_VENUE_TABLE . " v ON v.id = vr.venue_id " : '';
     //Venue sql
     isset($org_options['use_personnel_manager']) && $org_options['use_personnel_manager'] == 'Y' ? $sql .= " LEFT JOIN " . EVENTS_PERSONNEL_REL_TABLE . " str ON str.event_id = e.id LEFT JOIN " . EVENTS_PERSONNEL_TABLE . " st ON st.id = str.person_id " : '';
     $sql .= " LEFT JOIN " . EVENTS_START_END_TABLE . " ese ON ese.event_id= e.id ";
     $sql .= " LEFT JOIN " . EVENTS_PRICES_TABLE . " p ON p.event_id=e.id ";
     $sql .= " WHERE is_active = 'Y' ";
     //Category sql
     $sql .= $category_identifier !== NULL && !empty($category_identifier) ? " AND c.category_identifier = '" . $category_identifier . "' " : '';
     //Staff sql
     $sql .= $staff_id !== NULL && !empty($staff_id) ? " AND st.id = '" . $staff_id . "' " : '';
     $sql .= $show_expired == 'false' ? " AND (e.start_date >= '" . date('Y-m-d') . "' OR e.event_status = 'O' OR e.registration_end >= '" . date('Y-m-d') . "') " : '';
     if ($show_expired == 'true') {
         $allow_override = 1;
     }
     //If using the [ESPRESSO_VENUE_EVENTS] shortcode
     $sql .= isset($use_venue_id) && $use_venue_id == true ? " AND v.id = '" . $venue_id . "' " : '';
     $sql .= $show_secondary == 'false' ? " AND e.event_status != 'S' " : '';
     $sql .= $show_deleted == 'false' ? " AND e.event_status != 'D' " : " AND e.event_status = 'D' ";
     if ($show_deleted == 'true') {
         $allow_override = 1;
     }
     //echo '<p>'.$order_by.'</p>';
     $sql .= $show_recurrence == 'false' ? " AND e.recurrence_id = '0' " : '';
     //Search query
     if ($ee_search) {
         // search for full original string within bracketed search options
         $sql .= " AND ( e.event_name LIKE '%{$ee_search_string}%' ";
         // array of common words that we don't want to waste time looking for
         $words_to_strip = array(' the ', ' a ', ' or ', ' and ');
         $words = str_replace($words_to_strip, ' ', $ee_search_string);
         // break words array into individual strings
         $words = explode(' ', $words);
         // search for each word  as an OR statement
         foreach ($words as $word) {
             $sql .= " OR e.event_name LIKE '%{$word}%' ";
         }
         // close the search options
         $sql .= " ) ";
     }
     $sql .= " GROUP BY e.id ";
     $sql .= $order_by != 'NULL' ? " ORDER BY " . $order_by . " " . $sort . " " : " ORDER BY date(start_date), id ASC ";
     $sql .= $limit > 0 ? ' LIMIT 0, ' . $limit : '';
     //echo $sql;
     //echo 'This page is located in ' . get_option( 'upload_path' );
     $events = $wpdb->get_results($sql);
     $category_id = isset($wpdb->last_result[0]->id) ? $wpdb->last_result[0]->id : '';
     $category_name = isset($wpdb->last_result[0]->category_name) ? $wpdb->last_result[0]->category_name : '';
     $category_identifier = isset($wpdb->last_result[0]->category_identifier) ? $wpdb->last_result[0]->category_identifier : '';
     $category_desc = isset($wpdb->last_result[0]->category_desc) ? html_entity_decode(wpautop($wpdb->last_result[0]->category_desc)) : '';
     $display_desc = isset($wpdb->last_result[0]->display_desc) ? $wpdb->last_result[0]->display_desc : '';
     $total_events = count($events);
     $total_pages = ceil($total_events / $events_per_page);
     $offset = ($current_page - 1) * $events_per_page;
     $events = array_slice($events, $offset, $events_per_page);
     //Debug
     //var_dump($events);
     if ($use_wrapper) {
         echo "<div id='event_wrapper'>";
     }
     $page_link_ar = array();
     foreach ($attributes as $key => $attribute) {
         if (!in_array($key, array('current_page', 'use_wrapper'))) {
             $page_link_ar[] = "{$key}=" . urlencode($attribute);
         }
     }
     $page_link = implode('&', $page_link_ar);
     echo "<div id='event_search_code' style='display:none;' data='{$page_link}'></div>";
     //css_class='$css_class' allow_override='$allow_override' events_per_page='$events_per_page' num_page_links_to_display='$num_page_links_to_display'></div>";
     echo "<div id='event_container_pagination' >";
     if ($total_pages > 1) {
         $mid = ceil($num_page_links_to_display / 2);
         if ($num_page_links_to_display % 2 == 0) {
             $back = $mid;
         } else {
             $back = $mid - 1;
         }
         $start = $current_page - $back;
         if ($start < 1) {
             $start = 1;
         }
         $end = $start + $num_page_links_to_display;
         if ($end > $total_pages) {
             $end = $total_pages;
         }
         $prev = $current_page - 1;
         $prev_no_more = '';
         if ($prev < 1) {
             $prev = 1;
             $prev_no_more = 'no_more';
         }
         $next = $current_page + 1;
         $next_no_more = '';
         if ($next > $total_pages) {
             $next = $total_pages;
             $next_no_more = 'no_more';
         }
         $espresso_paginate = "<div class='page_navigation'>";
         $espresso_paginate .= "<a href='#' current_page=1 class='event_paginate {$prev_no_more} ui-icon ui-icon-seek-first'>&lt;&lt;</a>";
         $espresso_paginate .= "<a href='#' current_page={$prev} class='event_paginate {$prev_no_more} ui-icon ui-icon-seek-prev'>&lt;</a>";
         if ($start > 1) {
             $espresso_paginate .= "<span class='ellipse less'>...</span>";
         }
         for ($i = $start; $i <= $end; $i++) {
             $active_page = '';
             if ($i == $current_page) {
                 $active_page = 'active_page';
             }
             $espresso_paginate .= "<a class='page_link event_paginate {$active_page} ' current_page={$i} href='#' style='display: block; '>{$i}</a>";
         }
         if ($end < $total_pages) {
             $espresso_paginate .= "<span class='ellipse more'>...</span>";
         }
         $espresso_paginate .= "<a href='#' current_page={$next} class='event_paginate {$next_no_more} ui-icon ui-icon-seek-next'>&gt;</a>";
         $espresso_paginate .= "<a href='#' current_page={$total_pages} class='event_paginate {$next_no_more} ui-icon ui-icon-seek-end'>&gt;&gt;</a>";
         $espresso_paginate .= "</div>";
     }
     echo "<div id='event_content' class='event_content'>";
     if (count($events) < 1) {
         //echo $sql;
         echo __('No events available...', 'event_espresso');
     }
     if ($display_desc == 'Y') {
         echo '<p id="events_category_name-' . $category_id . '" class="events_category_name">' . stripslashes_deep($category_name) . '</p>';
         echo espresso_format_content($category_desc);
     }
     foreach ($events as $event) {
         $event_id = $event->id;
         $event_name = $event->event_name;
         $event_desc = stripslashes_deep($event->event_desc);
         $event_identifier = $event->event_identifier;
         $active = $event->is_active;
         $registration_start = $event->registration_start;
         $registration_end = $event->registration_end;
         $start_date = $event->start_date;
         $end_date = $event->end_date;
         $reg_limit = $event->reg_limit;
         $event_address = $event->address;
         $event_address2 = $event->address2;
         $event_city = $event->city;
         $event_state = $event->state;
         $event_zip = $event->zip;
         $event_country = $event->country;
         $member_only = $event->member_only;
         $externalURL = $event->externalURL;
         $recurrence_id = $event->recurrence_id;
         $display_reg_form = $event->display_reg_form;
         $allow_overflow = $event->allow_overflow;
         $overflow_event_id = $event->overflow_event_id;
         $event_desc = array_shift(explode('<!--more-->', $event_desc));
         global $event_meta;
         $event_meta = unserialize($event->event_meta);
         $event_meta['is_active'] = $event->is_active;
         $event_meta['event_status'] = $event->event_status;
         $event_meta['start_time'] = empty($event->start_time) ? '' : $event->start_time;
         $event_meta['start_date'] = $event->start_date;
         $event_meta['registration_start'] = $event->registration_start;
         $event_meta['registration_startT'] = $event->registration_startT;
         $event_meta['registration_end'] = $event->registration_end;
         $event_meta['registration_endT'] = $event->registration_endT;
         //Venue information
         if ($org_options['use_venue_manager'] == 'Y') {
             $event_address = empty($event->venue_address) ? '' : $event->venue_address;
             $event_address2 = empty($event->venue_address2) ? '' : $event->venue_address2;
             $event_city = empty($event->venue_city) ? '' : $event->venue_city;
             $event_state = empty($event->venue_state) ? '' : $event->venue_state;
             $event_zip = empty($event->venue_zip) ? '' : $event->venue_zip;
             $event_country = empty($event->venue_country) ? '' : $event->venue_country;
             //Leaving these variables intact, just in case people want to use them
             $venue_title = empty($event->venue_name) ? '' : $event->venue_name;
             $venue_address = $event_address;
             $venue_address2 = $event_address2;
             $venue_city = $event_city;
             $venue_state = $event_state;
             $venue_zip = $event_zip;
             $venue_country = $event_country;
             global $venue_meta;
             $add_venue_meta = array('venue_title' => $venue_title, 'venue_address' => $event_address, 'venue_address2' => $event_address2, 'venue_city' => $event_city, 'venue_state' => $event_state, 'venue_country' => $event_country);
             $venue_meta = !empty($event->venue_meta) && !empty($add_venue_meta) ? array_merge(unserialize($event->venue_meta), $add_venue_meta) : '';
             //print_r($venue_meta);
         }
         //Address formatting
         $location = (!empty($event_address) ? $event_address : '') . (!empty($event_address2) ? '<br />' . $event_address2 : '') . (!empty($event_city) ? '<br />' . $event_city : '') . (!empty($event_state) ? ', ' . $event_state : '') . (!empty($event_zip) ? '<br />' . $event_zip : '') . (!empty($event_country) ? '<br />' . $event_country : '');
         //Google map link creation
         $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country, 'text' => 'Map and Directions', 'type' => 'text'));
         global $all_meta;
         $all_meta = array('event_id' => $event_id, 'event_name' => stripslashes_deep($event_name), 'event_desc' => stripslashes_deep($event_desc), 'event_address' => $event_address, 'event_address2' => $event_address2, 'event_city' => $event_city, 'event_state' => $event_state, 'event_zip' => $event_zip, 'event_country' => $venue_country, 'venue_title' => $venue_title, 'venue_address' => $venue_address, 'venue_address2' => $venue_address2, 'venue_city' => $venue_city, 'venue_state' => $venue_state, 'venue_country' => $venue_country, 'location' => $location, 'is_active' => $event->is_active, 'event_status' => $event->event_status, 'contact_email' => empty($event->alt_email) ? $org_options['contact_email'] : $event->alt_email, 'start_time' => empty($event->start_time) ? '' : $event->start_time, 'registration_startT' => $event->registration_startT, 'registration_start' => $registration_start, 'registration_endT' => $event->registration_endT, 'registration_end' => $registration_end, 'is_active' => empty($is_active) ? '' : $is_active, 'event_country' => $event_country, 'start_date' => event_date_display($start_date, get_option('date_format')), 'end_date' => event_date_display($end_date, get_option('date_format')), 'time' => empty($event->start_time) ? '' : $event->start_time, 'start_time' => empty($event->start_time) ? '' : $event->start_time, 'end_time' => empty($event->end_time) ? '' : $event->end_time, 'google_map_link' => $google_map_link, 'price' => empty($event->event_cost) ? '' : $event->event_cost, 'event_cost' => empty($event->event_cost) ? '' : $event->event_cost);
         //Debug
         //echo '<p>'.print_r($all_meta).'</p>';
         //These variables can be used with other the espresso_countdown, espresso_countup, and espresso_duration functions and/or any javascript based functions.
         //Warning: May cause additional database queries an should only be used for sites with a small amount of events.
         // $start_timestamp = espresso_event_time($event_id, 'start_timestamp');
         //$end_timestamp = espresso_event_time($event_id, 'end_timestamp');
         //This can be used in place of the registration link if you are usign the external URL feature
         $registration_url = $externalURL != '' ? $externalURL : espresso_reg_url($event_id);
         //Serve up the event list
         //As of version 3.0.17 the event list details have been moved to event_list_display.php
         if ($allow_override == 1) {
             //Uncomment to show active status array
             //print_r( event_espresso_get_is_active($event_id));
             include 'event_list_display.php';
         } else {
             switch (event_espresso_get_status($event_id)) {
                 case 'NOT_ACTIVE':
                     //Don't show the event
                     //Uncomment the following two lines to show events that are not active and the active status array
                     //print_r( event_espresso_get_is_active($event_id));
                     //include('event_list_display.php');
                     break;
                 case 'PENDING':
                     if (current_user_can('administrator') || function_exists('espresso_member_data') && espresso_can_view_event($event_id) == true) {
                         //Uncomment to show active status array
                         //print_r( event_espresso_get_is_active($event_id));
                         echo '<div class="pending_event">';
                         include 'event_list_display.php';
                         echo '</div>';
                     }
                     break;
                 default:
                     //Uncomment to show active status array
                     //print_r( event_espresso_get_is_active($event_id));
                     include 'event_list_display.php';
                     break;
             }
         }
     }
     echo "</div>";
     echo "</div>";
     if (isset($espresso_paginate)) {
         echo $espresso_paginate;
         // spit out the pagination links
     }
     if ($use_wrapper) {
         echo "</div>";
     }
     //Check to see how many database queries were performed
     //echo '<p>Database Queries: ' . get_num_queries() .'</p>';
     espresso_registration_footer();
 }
function espresso_replace_ticket_shortcodes($content, $data)
{
    global $wpdb, $org_options;
    $SearchValues = array("[att_id]", "[qr_code]", "[gravatar]", "[event_id]", "[event_identifier]", "[registration_id]", "[registration_date]", "[fname]", "[lname]", "[event_name]", "[description]", "[cost]", "[ticket_type]", "[ticket_qty]", "[company]", "[co_add1]", "[co_add2]", "[co_city]", "[co_state]", "[co_zip]", "[start_date]", "[start_time]", "[end_date]", "[end_time]", "[ticket_content]", "[ticket_logo_url]", "[ticket_logo_image]", "[venue_title]", "[venue_address]", "[venue_address2]", "[venue_city]", "[venue_state]", "[venue_zip]", "[venue_country]", "[venue_phone]", "[venue_description]", "[venue_website]", "[venue_image]", "[google_map_image]", "[google_map_link]", "[seatingchart_tag]");
    $ReplaceValues = array($data->attendee->id, $data->qr_code, $data->gravatar, $data->attendee->event_id, $data->event->event_identifier, $data->attendee->registration_id, event_date_display($data->attendee->registration_date), stripslashes_deep($data->attendee->fname), stripslashes_deep($data->attendee->lname), stripslashes_deep($data->event->event_name), stripslashes_deep($data->event->event_desc), $org_options['currency_symbol'] . ' ' . $data->attendee->final_price, $data->attendee->price_option, $data->attendee->quantity, stripslashes_deep($org_options['organization']), $org_options['organization_street1'], $org_options['organization_street2'], $org_options['organization_city'], $org_options['organization_state'], $org_options['organization_zip'], event_date_display($data->attendee->start_date), event_date_display($data->attendee->event_time, get_option('time_format')), event_date_display($data->attendee->end_date), event_date_display($data->attendee->end_time, get_option('time_format')), espresso_format_content($data->event->ticket_content), $data->event->ticket_logo_url, $data->event->ticket_logo_image, $data->event->venue_name, $data->event->address, $data->event->address2, $data->event->city, $data->event->state, $data->event->zip, $data->event->country, isset($data->event->venue_meta['phone']) && !empty($data->event->venue_meta['phone']) ? $data->event->venue_meta['phone'] : '', isset($data->event->venue_meta['description']) && !empty($data->event->venue_meta['description']) ? espresso_format_content($data->event->venue_meta['description']) : '', isset($data->event->venue_meta['website']) && !empty($data->event->venue_meta['website']) ? $data->event->venue_meta['website'] : '', isset($data->event->venue_meta['image']) && !empty($data->event->venue_meta['image']) ? $data->event->venue_meta['image'] : '', $data->event->google_map_image, $data->event->google_map_link, isset($data->attendee->seatingchart_tag) && !empty($data->attendee->seatingchart_tag) ? $data->attendee->seatingchart_tag : '');
    //Get the questions and answers
    $questions = $wpdb->get_results("select qst.question as question, ans.answer as answer from " . EVENTS_ANSWER_TABLE . " ans inner join " . EVENTS_QUESTION_TABLE . " qst on ans.question_id = qst.id where ans.attendee_id = " . $data->attendee->id, ARRAY_A);
    //echo '<p>'.print_r($questions).'</p>';
    if ($wpdb->num_rows > 0 && $wpdb->last_result[0]->question != NULL) {
        foreach ($questions as $q) {
            $k = $q['question'];
            $v = $q['answer'];
            //Output the question
            array_push($SearchValues, "[" . 'question_' . $k . "]");
            array_push($ReplaceValues, $k);
            //Output the answer
            array_push($SearchValues, "[" . 'answer_' . $k . "]");
            array_push($ReplaceValues, $v);
        }
    }
    //Get the event meta
    //echo '<p>'.print_r($data->event->event_meta).'</p>';
    if (!empty($data->event->event_meta)) {
        foreach ($data->event->event_meta as $k => $v) {
            array_push($SearchValues, "[" . $k . "]");
            array_push($ReplaceValues, stripslashes_deep($v));
        }
    }
    return str_replace($SearchValues, $ReplaceValues, $content);
}
 function event_espresso_get_event_details($sql, $css_class = NULL, $allow_override = 0)
 {
     //echo $sql;
     global $wpdb, $org_options, $events_in_session;
     $multi_reg = false;
     if (function_exists('event_espresso_multi_reg_init')) {
         $multi_reg = true;
     }
     //echo 'This page is located in ' . get_option( 'upload_path' );
     $event_page_id = $org_options['event_page_id'];
     $currency_symbol = isset($org_options['currency_symbol']) ? $org_options['currency_symbol'] : '';
     $events = $wpdb->get_results($sql);
     $category_id = isset($wpdb->last_result[0]->id) ? $wpdb->last_result[0]->id : '';
     $category_name = isset($wpdb->last_result[0]->category_name) ? $wpdb->last_result[0]->category_name : '';
     $category_identifier = isset($wpdb->last_result[0]->category_identifier) ? $wpdb->last_result[0]->category_identifier : '';
     $category_desc = isset($wpdb->last_result[0]->category_desc) ? html_entity_decode(wpautop($wpdb->last_result[0]->category_desc)) : '';
     $display_desc = isset($wpdb->last_result[0]->display_desc) ? $wpdb->last_result[0]->display_desc : '';
     if ($display_desc == 'Y') {
         echo '<p id="events_category_name-' . $category_id . '" class="events_category_name">' . stripslashes_deep($category_name) . '</p>';
         echo espresso_format_content($category_desc);
     }
     //Debug
     //var_dump($events);
     foreach ($events as $event) {
         $event_id = $event->id;
         $event_name = $event->event_name;
         $event_desc = stripslashes_deep($event->event_desc);
         $event_identifier = $event->event_identifier;
         $active = $event->is_active;
         $registration_start = $event->registration_start;
         $registration_end = $event->registration_end;
         $start_date = $event->start_date;
         $end_date = $event->end_date;
         $reg_limit = $event->reg_limit;
         $event_address = $event->address;
         $event_address2 = $event->address2;
         $event_city = $event->city;
         $event_state = $event->state;
         $event_zip = $event->zip;
         $event_country = $event->country;
         $member_only = $event->member_only;
         $externalURL = $event->externalURL;
         $recurrence_id = $event->recurrence_id;
         $display_reg_form = $event->display_reg_form;
         $allow_overflow = $event->allow_overflow;
         $overflow_event_id = $event->overflow_event_id;
         $event_desc = array_shift(explode('<!--more-->', $event_desc));
         global $event_meta;
         $event_meta = unserialize($event->event_meta);
         $event_meta['is_active'] = $event->is_active;
         $event_meta['event_status'] = $event->event_status;
         $event_meta['start_time'] = empty($event->start_time) ? '' : $event->start_time;
         $event_meta['start_date'] = $event->start_date;
         $event_meta['registration_start'] = $event->registration_start;
         $event_meta['registration_startT'] = $event->registration_startT;
         $event_meta['registration_end'] = $event->registration_end;
         $event_meta['registration_endT'] = $event->registration_endT;
         //Venue information
         if ($org_options['use_venue_manager'] == 'Y') {
             $event_address = empty($event->venue_address) ? '' : $event->venue_address;
             $event_address2 = empty($event->venue_address2) ? '' : $event->venue_address2;
             $event_city = empty($event->venue_city) ? '' : $event->venue_city;
             $event_state = empty($event->venue_state) ? '' : $event->venue_state;
             $event_zip = empty($event->venue_zip) ? '' : $event->venue_zip;
             $event_country = empty($event->venue_country) ? '' : $event->venue_country;
             //Leaving these variables intact, just in case people want to use them
             $venue_title = empty($event->venue_name) ? '' : $event->venue_name;
             $venue_address = $event_address;
             $venue_address2 = $event_address2;
             $venue_city = $event_city;
             $venue_state = $event_state;
             $venue_zip = $event_zip;
             $venue_country = $event_country;
             global $venue_meta;
             $add_venue_meta = array('venue_title' => $venue_title, 'venue_address' => $event_address, 'venue_address2' => $event_address2, 'venue_city' => $event_city, 'venue_state' => $event_state, 'venue_country' => $event_country);
             $venue_meta = !empty($event->venue_meta) && !empty($add_venue_meta) ? array_merge(unserialize($event->venue_meta), $add_venue_meta) : '';
             //print_r($venue_meta);
         }
         //Address formatting
         $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '<br />' . $event_address2 : '') . ($event_city != '' ? '<br />' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '<br />' . $event_zip : '') . ($event_country != '' ? '<br />' . $event_country : '');
         //Google map link creation
         $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country, 'text' => 'Map and Directions', 'type' => 'text'));
         global $all_meta;
         $all_meta = array('event_name' => stripslashes_deep($event_name), 'event_desc' => stripslashes_deep($event_desc), 'event_address' => $event_address, 'event_address2' => $event_address2, 'event_city' => $event_city, 'event_state' => $event_state, 'event_zip' => $event_zip, 'is_active' => $event->is_active, 'event_status' => $event->event_status, 'start_time' => empty($event->start_time) ? '' : $event->start_time, 'registration_startT' => $event->registration_startT, 'registration_start' => $registration_start, 'registration_endT' => $event->registration_endT, 'registration_end' => $registration_end, 'is_active' => empty($is_active) ? '' : $is_active, 'event_country' => $event_country, 'start_date' => event_date_display($start_date, get_option('date_format')), 'end_date' => event_date_display($end_date, get_option('date_format')), 'time' => empty($event->start_time) ? '' : $event->start_time, 'google_map_link' => $google_map_link, 'price' => empty($event->event_cost) ? '' : $event->event_cost, 'event_cost' => empty($event->event_cost) ? '' : $event->event_cost);
         //Debug
         //echo '<p>'.print_r($all_meta).'</p>';
         //These variables can be used with other the espresso_countdown, espresso_countup, and espresso_duration functions and/or any javascript based functions.
         //Warning: May cause additional database queries an should only be used for sites with a small amount of events.
         // $start_timestamp = espresso_event_time($event_id, 'start_timestamp');
         //$end_timestamp = espresso_event_time($event_id, 'end_timestamp');
         //This can be used in place of the registration link if you are usign the external URL feature
         $registration_url = $externalURL != '' ? $externalURL : espresso_reg_url($event_id);
         if (!is_user_logged_in() && get_option('events_members_active') == 'true' && $member_only == 'Y') {
             //Display a message if the user is not logged in.
             //_e('Member Only Event. Please ','event_espresso') . event_espresso_user_login_link() . '.';
         } else {
             //Serve up the event list
             //As of version 3.0.17 the event list details have been moved to event_list_display.php
             if ($allow_override == 1) {
                 //Uncomment to show active status array
                 //print_r( event_espresso_get_is_active($event_id));
                 include 'event_list_display.php';
             } else {
                 switch (event_espresso_get_status($event_id)) {
                     case 'NOT_ACTIVE':
                         //Don't show the event
                         //Uncomment the following two lines to show events that are not active and the active status array
                         //print_r( event_espresso_get_is_active($event_id));
                         //include('event_list_display.php');
                         break;
                     case 'PENDING':
                         if (current_user_can('administrator') || function_exists('espresso_member_data') && espresso_can_view_event($event_id) == true) {
                             //Uncomment to show active status array
                             //print_r( event_espresso_get_is_active($event_id));
                             echo '<div class="pending_event">';
                             include 'event_list_display.php';
                             echo '</div>';
                         }
                         break;
                     default:
                         //Uncomment to show active status array
                         //print_r( event_espresso_get_is_active($event_id));
                         include 'event_list_display.php';
                         break;
                 }
             }
         }
     }
     //Check to see how many database queries were performed
     //echo '<p>Database Queries: ' . get_num_queries() .'</p>';
     espresso_registration_footer();
 }
 function espresso_venue_details_sc($atts)
 {
     global $wpdb, $this_event_id;
     empty($atts) ? '' : extract($atts);
     //Outside wrapper
     $outside_wrapper_class = isset($outside_wrapper_class) ? 'class="' . $outside_wrapper_class . '"' : 'class="event_venue"';
     $wrapper_start = isset($outside_wrapper) ? '<' . $outside_wrapper . ' ' . $outside_wrapper_class : '<div ' . $outside_wrapper_class;
     $wrapper_end = isset($outside_wrapper) ? '</' . $outside_wrapper . '>' : '</div>';
     //Image class
     $image_class = isset($image_class) ? 'class="' . $image_class . '"' : 'class="venue_image"';
     $image_wrapper_class = isset($image_wrapper_class) ? 'class="' . $image_wrapper_class . '"' : 'class="image_wrapper"';
     $image_wrapper_start = isset($image_wrapper) ? '<' . $image_wrapper . ' ' . $image_wrapper_class : '<p ' . $image_wrapper_class . '>';
     $image_wrapper_end = isset($image_wrapper) ? '</' . $image_wrapper . '>' : '</p>';
     //Venue title
     $title_class = isset($title_class) ? 'class="' . $title_class . '"' : 'class="venue_name"';
     $title_wrapper_start = isset($title_wrapper) ? '<' . $title_wrapper . ' ' . $title_class : '<h3 ' . $title_class;
     $title_wrapper_end = isset($title_wrapper) ? '</' . $title_wrapper . '>' : '</h3>';
     //Inside wrappers
     $inside_wrapper_class = isset($inside_wrapper_class) ? 'class="' . $inside_wrapper_class . '"' : 'class="venue_details"';
     $inside_wrapper_before = isset($inside_wrapper) ? '<' . $inside_wrapper . ' ' . $inside_wrapper_class . '>' : '<p ' . $inside_wrapper_class . '>';
     $inside_wrapper_after = isset($inside_wrapper) ? '</' . $inside_wrapper . '>' : '</p>';
     //Map image class
     $map_image_class = isset($map_image_class) ? 'class="' . $map_image_class . '"' : 'class="venue_map_image"';
     $map_image_wrapper_class = isset($map_image_wrapper_class) ? 'class="' . $map_image_wrapper_class . '">' : 'class="map_image_wrapper">';
     $map_image_wrapper_start = isset($map_image_wrapper) ? '<' . $map_image_wrapper . ' ' . $map_image_wrapper_class : '<p ' . $map_image_wrapper_class;
     $map_image_wrapper_end = isset($map_image_wrapper) ? '</' . $map_image_wrapper . '>' : '</p>';
     //Google Map link text
     $show_google_map_link = isset($show_google_map_link) && $show_google_map_link == 'false' ? false : true;
     $map_link_text = isset($map_link_text) ? $map_link_text : __('Map and Directions', 'event_espresso');
     //Show Google map image?
     $show_map_image = isset($show_map_image) && $show_map_image == 'false' ? false : true;
     //Show title?
     $show_title = isset($show_title) && $show_title == 'false' ? false : true;
     //Show image?
     $show_image = isset($show_image) && $show_image == 'false' ? false : true;
     //Show the description?
     $show_description = isset($show_description) && $show_description == 'false' ? false : true;
     //Show address details?
     $show_address = isset($show_address) && $show_address == 'false' ? false : true;
     //Show additional details
     $show_additional_details = isset($show_additional_details) && $show_additional_details == 'false' ? false : true;
     $FROM = " FROM ";
     $order_by = isset($order_by) && $order_by != '' ? " ORDER BY " . $order_by . " ASC " : " ORDER BY name ASC ";
     $limit = isset($limit) && $limit > 0 ? " LIMIT 0," . $limit . " " : '';
     $using_id = false;
     //Find the event id
     if (isset($id) && $id > 0) {
     } elseif (isset($event_id)) {
         $event_id = $event_id;
         //Check to see if the event is used in the shortcode parameter
         $using_id = true;
     } elseif (isset($this_event_id)) {
         $event_id = $this_event_id;
         //Check to see if the global event id is being used
         $using_id = true;
     } elseif (isset($_REQUEST['event_id'])) {
         $event_id = $_REQUEST['event_id'];
         //If the first two are not being used, then get the event id from the url
         $using_id = true;
     }
     $sql = "SELECT ev.* ";
     if ($using_id == true) {
         $sql .= " {$FROM} " . EVENTS_DETAIL_TABLE . " e ";
         $sql .= " LEFT JOIN " . EVENTS_VENUE_REL_TABLE . " vr ON e.id = vr.event_id ";
         $FROM = " LEFT JOIN ";
     }
     $sql .= " {$FROM} " . EVENTS_VENUE_TABLE . " ev ";
     if ($using_id == true) {
         $sql .= " ON vr.venue_id = ev.id ";
     }
     if (isset($id) && $id > 0) {
         $sql .= " WHERE ev.id = '" . $id . "' ";
     } elseif (isset($event_id) && $event_id > 0) {
         $sql .= " WHERE e.id ='" . $event_id . "' ";
     } else {
         $sql .= " GROUP BY ev.name ";
     }
     if ($using_id == false) {
         $sql .= $order_by;
         $sql .= $limit;
     }
     //echo $sql ;
     $venues = $wpdb->get_results($sql);
     $num_rows = $wpdb->num_rows;
     if ($num_rows > 0) {
         $html = '';
         foreach ($venues as $venue) {
             $venue_id = $venue->id;
             $meta = unserialize($venue->meta);
             //Google map link creation
             $google_map_link = espresso_google_map_link(array('address' => $venue->address, 'city' => $venue->city, 'state' => $venue->state, 'zip' => $venue->zip, 'country' => $venue->country, 'text' => $map_link_text, 'type' => 'text'));
             //Google map image creation
             if ($show_map_image != false) {
                 $map_w = isset($map_w) ? $map_w : 400;
                 $map_h = isset($map_h) ? $map_h : 400;
                 $google_map_image = espresso_google_map_link(array('id' => $venue_id, 'map_image_class' => $map_image_class, 'address' => $venue->address, 'city' => $venue->city, 'state' => $venue->state, 'zip' => $venue->zip, 'country' => $venue->country, 'text' => $map_link_text, 'type' => 'map', 'map_h' => $map_h, 'map_w' => $map_w));
             }
             //Build the venue title
             if ($show_title != false) {
                 $html .= $venue->name != '' ? $title_wrapper_start . '>' . stripslashes_deep($venue->name) . $title_wrapper_end : '';
             }
             //Build the venue image
             if ($show_image != false) {
                 $html .= $meta['image'] != '' ? $image_wrapper_start . '<img id="venue_image_' . $venue_id . '" ' . $image_class . ' src="' . stripslashes_deep($meta['image']) . '" />' . $image_wrapper_end : '';
             }
             //Build the description
             if ($show_description != false) {
                 $html .= $meta['description'] != '' ? espresso_format_content($meta['description']) : '';
             }
             //Build the address details
             if ($show_address != false) {
                 $html .= $inside_wrapper_before;
                 $html .= $venue->address != '' ? stripslashes_deep($venue->address) . '<br />' : '';
                 $html .= $venue->address2 != '' ? stripslashes_deep($venue->address2) . '<br />' : '';
                 $html .= $venue->city != '' ? stripslashes_deep($venue->city) . '<br />' : '';
                 $html .= $venue->state != '' ? stripslashes_deep($venue->state) . '<br />' : '';
                 $html .= $venue->zip != '' ? stripslashes_deep($venue->zip) . '<br />' : '';
                 $html .= $venue->country != '' ? stripslashes_deep($venue->country) . '<br />' : '';
                 $html .= $show_google_map_link != false ? $google_map_link : '';
                 $html .= $inside_wrapper_after;
             }
             //Build the additional details
             if ($show_additional_details != false) {
                 $html .= $inside_wrapper_before;
                 $html .= $meta['website'] != '' ? __('Website:', 'event_espresso') . ' <a href="' . stripslashes_deep($meta['website']) . '" target="_blank">' . stripslashes_deep($meta['website']) . '</a><br />' : '';
                 $html .= $meta['contact'] != '' ? __('Contact:', 'event_espresso') . ' ' . stripslashes_deep($meta['contact']) . '<br />' : '';
                 $html .= $meta['phone'] != '' ? __('Phone:', 'event_espresso') . ' ' . stripslashes_deep($meta['phone']) . '<br />' : '';
                 $html .= $meta['twitter'] != '' ? __('Twitter:', 'event_espresso') . ' <a href="http://twitter.com/#!/' . stripslashes_deep($meta['twitter']) . '" target="_blank">@' . stripslashes_deep($meta['twitter']) . '</a><br />' : '';
                 $html .= $inside_wrapper_after;
             }
             //Build the venue image
             if ($show_map_image != false) {
                 $html .= $map_image_wrapper_start . $google_map_image . $map_image_wrapper_end;
             }
         }
     }
     //ob_start();
     return $wrapper_start . ' id="venue_id_' . $venue_id . '">' . $html . $wrapper_end;
     //$buffer = ob_get_contents();
     //ob_end_clean();
     //return $buffer;
 }
function espresso_calendar_do_stuff($show_expired)
{
    global $wpdb, $org_options, $espresso_calendar, $event_category_id, $events, $eventsArray;
    remove_shortcode('LISTATTENDEES');
    $throttle = '';
    if (isset($espresso_calendar['throttle']['enable']) && $espresso_calendar['throttle']['enable'] == true) {
        if ($espresso_calendar['throttle']['amount'] > 1) {
            $throttle = 'LIMIT ' . $espresso_calendar['throttle']['amount'];
        }
    }
    // set boolean for categories
    $use_categories = isset($espresso_calendar['disable_categories']) && $espresso_calendar['disable_categories'] == FALSE ? TRUE : FALSE;
    //Build the SQL to run
    //Get the categories
    if (!empty($event_category_id)) {
        $type = 'cat';
        $sql = "SELECT e.*, c.category_meta, c.category_identifier, c.category_name, c.category_desc, c.display_desc, ese.start_time, ese.end_time FROM " . EVENTS_DETAIL_TABLE . " e ";
        $sql .= " JOIN " . EVENTS_CATEGORY_REL_TABLE . " r ON r.event_id = e.id ";
        $sql .= " JOIN " . EVENTS_CATEGORY_TABLE . " c ON c.id = r.cat_id ";
        $sql .= " LEFT JOIN " . EVENTS_START_END_TABLE . " ese ON ese.event_id= e.id ";
        if (function_exists('espresso_version')) {
            if (espresso_version() >= '3.2.P') {
                // if we're using ee 3.2+, is_active is true/false
                $sql .= " WHERE e.is_active != false ";
            } else {
                $sql .= " WHERE e.is_active != 'N' ";
            }
        }
        $sql .= " AND e.event_status != 'D' ";
        //Deleted
        $sql .= " AND e.event_status != 'S' ";
        //Secondary/Waitlist
        $sql .= " AND e.event_status != 'P' ";
        //Pending
        $sql .= " AND e.event_status != 'X' ";
        $sql .= " AND e.event_status != 'R' ";
        //Draft
        $sql .= " AND c.category_identifier = '" . $event_category_id . "' ";
        if ($show_expired == "false") {
            $sql .= " AND start_date >= '" . date('Y-m-d') . "' ";
            $sql .= " AND e.registration_start <= '" . date('Y-m-d') . "' ";
            $sql .= " AND e.registration_end >= '" . date('Y-m-d') . "' ";
        }
    } else {
        //Get all events
        $type = 'all';
        $sql = "SELECT e.*, ese.start_time, ese.end_time";
        $sql .= " FROM " . EVENTS_DETAIL_TABLE . " e ";
        $sql .= " LEFT JOIN " . EVENTS_START_END_TABLE . " ese ON ese.event_id= e.id ";
        if (function_exists('espresso_version')) {
            if (espresso_version() >= '3.2.P') {
                // if we're using ee 3.2+, is_active is true/false
                $sql .= " WHERE e.is_active != false ";
            } else {
                $sql .= " WHERE e.is_active != 'N' ";
            }
        }
        $sql .= " AND e.event_status != 'D' ";
        //Deleted
        $sql .= " AND e.event_status != 'S' ";
        //Secondary/Waitlist
        $sql .= " AND e.event_status != 'P' ";
        //Pending
        $sql .= " AND e.event_status != 'X' ";
        $sql .= " AND e.event_status != 'R' ";
        //Draft
        if ($show_expired == "false") {
            $sql .= " AND e.start_date >= '" . date('Y-m-d') . "' ";
            $sql .= " AND e.registration_start <= '" . date('Y-m-d') . "' ";
            $sql .= " AND e.registration_end >= '" . date('Y-m-d') . "' ";
        }
    }
    $sql .= " GROUP BY e.id ORDER BY e.start_date = '0000-00-00' ASC " . $throttle;
    //Debug
    //echo '<h4>$sql : ' . $sql . '  <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span></h4><br /><br /><br />';
    $events = array();
    // grab event data with event IDs as the array keys
    $events_data = $wpdb->get_results($wpdb->prepare($sql, ''), OBJECT_K);
    //echo '<h3>$events_data</h3><pre style="height:auto;border:2px solid lightblue;">' . print_r( $events_data, TRUE ) . '</pre><br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>';
    //Do we need to get Category data ?
    if ($use_categories && $type == 'all') {
        // grab event_ids from query results above to use in category query
        $EVT_IDs = array_keys($events_data);
        $SQL = "SELECT event_id, c.category_meta, c.category_identifier, c.category_name, c.category_desc, c.display_desc";
        $SQL .= " FROM " . EVENTS_CATEGORY_REL_TABLE . ' r ';
        $SQL .= " LEFT JOIN " . EVENTS_CATEGORY_TABLE . " c ON c.id = r.cat_id ";
        $SQL .= " WHERE event_id IN ( '" . implode("', '", $EVT_IDs) . "' )";
        $categories = $wpdb->get_results($wpdb->prepare($SQL, ''));
        $event_categories = array();
        foreach ($categories as $category) {
            $event_categories[$category->event_id][] = $category;
        }
    }
    foreach ($events_data as $event) {
        global $this_event_id;
        $this_event_id = $event->id;
        //Get details about the category of the event
        if ($use_categories) {
            // extract info from separate array of category data ?
            if (isset($event_categories[$event->id]) && $type == 'all') {
                // get first element of array without modifying original array
                $primary_cat = array_shift(array_values($event_categories[$event->id]));
                $category_data['category_meta'] = unserialize($primary_cat->category_meta);
            } else {
                if ($type == 'cat') {
                    // or was one category set via the shortcode
                    $category_data['category_meta'] = unserialize($event->category_meta);
                } else {
                    $category_data['category_meta'] = array();
                }
            }
            //Assign colors to events by category
            if (isset($category_data['category_meta']['use_pickers']) && $category_data['category_meta']['use_pickers'] == 'Y') {
                $eventArray['color'] = $category_data['category_meta']['event_background'];
                $eventArray['textColor'] = $category_data['category_meta']['event_text_color'];
            }
        }
        $event_meta = unserialize($event->event_meta);
        //If the version of Event Espresso is 3.2 or older, we need to use the new permalink structure. If not, then we need to default to the structure.
        if (function_exists('espresso_version')) {
            if (espresso_version() >= '3.2.P') {
                switch ($espresso_calendar['espresso_page_post']) {
                    case 'P':
                        $registration_url = get_permalink($event->post_id);
                        break;
                    case 'R':
                    default:
                        //$registration_url = get_home_url(). '/?page_id=' . $org_options['event_page_id'] . '&regevent_action=register&event_id=' . $event->id;
                        $registration_url = espresso_reg_url($event->id, $event->slug);
                        break;
                }
            } else {
                switch ($espresso_calendar['espresso_page_post']) {
                    case 'P':
                        $registration_url = get_home_url() . '/?p=' . $event->post_id;
                        break;
                    case 'R':
                    default:
                        $registration_url = get_home_url() . '/?page_id=' . $org_options['event_page_id'] . '&regevent_action=register&event_id=' . $event->id;
                        break;
                }
            }
        }
        //Checkthe status of the event. If the event is expired, the link to the registration page will be deactivated.
        $eventArray['url'] = '';
        $status = '';
        //Changed 8-30-2011 by Seth
        /* switch (event_espresso_get_status($event->id)){
        	  case 'NOT_ACTIVE':
        	  $status = ' - ' . __('Expired','event_espresso');
        	  break;
        	  case 'ACTIVE':
        	  $status = '';
        	  break;
        	  } */
        //End Seth
        // Build calendar array from $event data
        //Gets the URL of the event and links the event to the registration form.
        $eventArray['url'] = $event->externalURL != '' ? htmlspecialchars_decode($event->externalURL) : $registration_url;
        //Id of the event
        $eventArray['id'] = $event->id;
        if (isset($espresso_calendar['show_attendee_limit']) && $espresso_calendar['show_attendee_limit'] == true) {
            $orig_attendee_limit = get_number_of_attendees_reg_limit($event->id, $type = 'num_attendees_slash_reg_limit');
            $parse_limits = explode('/', $orig_attendee_limit, 2);
            $num_completed = $parse_limits[0];
            $reg_limit = $parse_limits[1];
            if ($reg_limit >= 999999) {
                $eventArray['attendee_limit'] = __('UNL', 'event_espresso');
            } else {
                $eventArray['attendee_limit'] = $num_completed . '/' . $reg_limit;
            }
        }
        //Get the title of the event
        $ee_event_title = htmlspecialchars_decode(stripslashes_deep($event->event_name . $status), ENT_QUOTES);
        $eventArray['title'] = $ee_event_title;
        //Gets the description of the event. This can be used for hover effects such as jQuery Tooltips or QTip
        if (isset($espresso_calendar['show_tooltips']) && $espresso_calendar['show_tooltips'] == true) {
            $eventArray['description'] = espresso_format_content($event->event_desc);
        }
        //Supports 3.2 short descriptions
        if (isset($org_options['template_settings']['display_short_description_in_event_list']) && $org_options['template_settings']['display_short_description_in_event_list'] == true) {
            $eventArray['description'] = array_shift(explode('<!--more-->', $eventArray['description']));
        }
        //Supports 3.1 short descriptions
        if (isset($org_options['display_short_description_in_event_list']) && $org_options['display_short_description_in_event_list'] == 'Y') {
            $eventArray['description'] = array_shift(explode('<!--more-->', $eventArray['description']));
        }
        $eventArray['display_reg_form'] = $event->display_reg_form;
        //Get the start and end times for each event
        //important! time must be in iso8601 format 2010-05-10T08:30!!
        $eventArray['start'] = date("c", strtotime($event->start_date . ' ' . event_date_display($event->start_time, get_option('time_format'))));
        $eventArray['end'] = date("c", strtotime($event->end_date . ' ' . event_date_display($event->end_time, get_option('time_format'))));
        $eventArray['day'] = date("j", strtotime($event->end_date));
        $eventArray['month'] = date("n", strtotime($event->end_date));
        if ($eventArray['end'] < date('Y-m-d')) {
            $eventArray['expired'] = 'expired';
        } else {
            $eventArray['expired'] = '';
        }
        $eventArray['today'] = date('Y-m-d');
        $eventArray['this_month'] = date('m');
        $eventArray['startTime'] = !empty($event->start_time) ? event_date_display($event->start_time, $espresso_calendar['time_format']) : '';
        $eventArray['endTime'] = !empty($event->end_time) ? event_date_display($event->end_time, $espresso_calendar['time_format']) : '';
        // Add thumb to eventArray
        $eventArray['event_img_thumb'] = '';
        if (isset($espresso_calendar['enable_calendar_thumbs']) && $espresso_calendar['enable_calendar_thumbs'] == true) {
            if (isset($event_meta['event_thumbnail_url'])) {
                $calendar_thumb = $event_meta['event_thumbnail_url'];
                //Debug:
                //echo '<a href="' . $registration_url . '"><img class="event-id-'. $event->id . '" src="'. $calendar_thumb . '" alt="" title="' . $ee_event_title . '" / ></a>';
                $eventArray['event_img_thumb'] = $calendar_thumb;
            }
        }
        //Custom fields:
        //These can be used to perform special functions in your display.
        //This decalares the category ID as the CSS class name
        $eventArray['className'] = '';
        $eventArray['eventType'] = '';
        if ($use_categories) {
            if (isset($espresso_calendar['enable_cat_classes']) && $espresso_calendar['enable_cat_classes'] == TRUE) {
                if (isset($event_categories[$event->id]) && $type == 'all') {
                    foreach ($event_categories[$event->id] as $EVT) {
                        //This is the css class name
                        $eventArray['className'] .= ' ' . $EVT->category_identifier;
                    }
                    // set event type to the category id
                    $eventArray['eventType'] = isset($primary_cat->category_name) && !empty($primary_cat->category_name) ? $primary_cat->category_name : '';
                } else {
                    //This is the css class name
                    $eventArray['className'] .= isset($event->category_identifier) ? ' ' . $event->category_identifier : '';
                    // set event type to the category id
                    $eventArray['eventType'] .= isset($event->category_name) ? ' ' . $event->category_name : '';
                }
            }
        }
        //If set to true, events will be shown as all day events
        $eventArray['allDay'] = FALSE;
        //Array of the event details
        $events[] = $eventArray;
        //Reset category colors
        $eventArray['color'] = '';
        $eventArray['textColor'] = '';
    }
    //Debug:
    //Print the results of the code above
    //echo json_encode($events);
    //echo '<style type="text/css">'.$category_styles.'</style>';
}
Example #7
0
echo $first_event_instance['event_id'];
?>
" class="event_title ui-widget-header ui-corner-top">
			<?php 
echo stripslashes_deep($first_event_instance['event_name']);
?>
</h3>
			<div class="event-data-display ui-widget-content ui-corner-bottom">
	
	<?php 
if (count($events_group) > 1) {
    //Show short descriptions
    if ($first_event_excerpt != '' && isset($org_options['display_short_description_in_event_list']) && $org_options['display_short_description_in_event_list'] == 'Y') {
        ?>
	   			 <p><?php 
        echo espresso_format_content($first_event_excerpt);
        ?>
</p>
        <?php 
    }
    ?>
	    
	    <script type="text/javascript">
            $jaer = jQuery.noConflict();
        </script>
        
        <p><a href="#" onClick="$jaer('#date_picker_<?php 
    echo $first_event_instance['event_id'];
    ?>
').slideDown('slow');$jaer(this).parent().slideUp('slow');return false;" class="register_date" id="register_date_<?php 
    echo $first_event_instance['event_id'];
Example #8
0
function espresso_calendar_do_stuff($show_expired)
{
    global $wpdb, $org_options, $espresso_calendar, $event_category_id, $events, $eventsArray;
    //Build the SQL to run
    //Get the categories
    if ($event_category_id != "") {
        $type = 'cat';
        $sql = "SELECT e.*, c.category_name, c.category_desc, c.display_desc, ese.start_time, ese.end_time FROM " . EVENTS_DETAIL_TABLE . " e ";
        $sql .= " JOIN " . EVENTS_CATEGORY_REL_TABLE . " r ON r.event_id = e.id ";
        $sql .= " JOIN " . EVENTS_CATEGORY_TABLE . " c ON c.id = r.cat_id ";
        $sql .= " LEFT JOIN " . EVENTS_START_END_TABLE . " ese ON ese.event_id= e.id ";
        if (function_exists('espresso_version')) {
            if (espresso_version() >= '3.2.P') {
                // if we're using ee 3.2+, is_active is true/false
                $sql .= " WHERE e.is_active != false ";
            } else {
                $sql .= " WHERE e.is_active != 'N' ";
            }
        }
        $sql .= " AND e.event_status != 'D' ";
        //Deleted
        $sql .= " AND e.event_status != 'S' ";
        //Secondary/Waitlist
        $sql .= " AND e.event_status != 'P' ";
        //Pending
        $sql .= " AND e.event_status != 'X' ";
        $sql .= " AND e.event_status != 'R' ";
        //Draft
        $sql .= " AND c.category_identifier = '" . $event_category_id . "' ";
        if ($show_expired == "false") {
            $sql .= " AND start_date >= '" . date('Y-m-d') . "' ";
            $sql .= " AND e.registration_start <= '" . date('Y-m-d') . "' ";
            $sql .= " AND e.registration_end >= '" . date('Y-m-d') . "' ";
        }
    } else {
        //Get all events
        $type = 'all';
        $sql = "SELECT e.*, ese.start_time, ese.end_time FROM " . EVENTS_DETAIL_TABLE . " e ";
        $sql .= " LEFT JOIN " . EVENTS_START_END_TABLE . " ese ON ese.event_id= e.id ";
        if (function_exists('espresso_version')) {
            if (espresso_version() >= '3.2.P') {
                // if we're using ee 3.2+, is_active is true/false
                $sql .= " WHERE e.is_active != false ";
            } else {
                $sql .= " WHERE e.is_active != 'N' ";
            }
        }
        $sql .= " AND e.event_status != 'D' ";
        //Deleted
        $sql .= " AND e.event_status != 'S' ";
        //Secondary/Waitlist
        $sql .= " AND e.event_status != 'P' ";
        //Pending
        $sql .= " AND e.event_status != 'X' ";
        $sql .= " AND e.event_status != 'R' ";
        //Draft
        if ($show_expired == "false") {
            $sql .= " AND e.start_date >= '" . date('Y-m-d') . "' ";
            $sql .= " AND e.registration_start <= '" . date('Y-m-d') . "' ";
            $sql .= " AND e.registration_end >= '" . date('Y-m-d') . "' ";
        }
    }
    $sql .= " GROUP BY e.id ORDER BY date(start_date), id ASC";
    //Debug
    //echo '<p>$sql - '.$sql.'</p>';
    $events = array();
    $events_data = $wpdb->get_results($sql);
    foreach ($events_data as $event) {
        //Debug:
        //Print the category id for each event.
        //print_r( espresso_event_category_data($event->id) );
        //Get details about the category of the event
        $category_data = espresso_event_category_data($event->id);
        $category_data['category_meta'] = unserialize($category_data['category_meta']);
        //Debug:
        //echo "<pre>".print_r($category_data,true)."</pre>";
        //Assign colors to events by category
        if (isset($category_data['category_meta']) && $category_data['category_meta']['use_pickers'] == 'Y') {
            $eventArray['color'] = $category_data['category_meta']['event_background'];
            $eventArray['textColor'] = $category_data['category_meta']['event_text_color'];
        }
        $event_meta = unserialize($event->event_meta);
        //Debug:
        //var_dump($event);
        //If the version of Event Espresso is 3.2 or older, we need to use the new permalink structure. If not, then we need to default to the structure.
        if (function_exists('espresso_version')) {
            if (espresso_version() >= '3.2.P') {
                switch ($espresso_calendar['espresso_page_post']) {
                    case 'P':
                        $registration_url = get_permalink($event->post_id);
                        break;
                    case 'R':
                    default:
                        //$registration_url = get_home_url(). '/?page_id=' . $org_options['event_page_id'] . '&regevent_action=register&event_id=' . $event->id;
                        $registration_url = espresso_reg_url($event->id, $event->slug);
                        break;
                }
            } else {
                switch ($espresso_calendar['espresso_page_post']) {
                    case 'P':
                        $registration_url = get_home_url() . '/?p=' . $event->post_id;
                        break;
                    case 'R':
                    default:
                        $registration_url = get_home_url() . '/?page_id=' . $org_options['event_page_id'] . '&regevent_action=register&event_id=' . $event->id;
                        break;
                }
            }
        }
        //Checkthe status of the event. If the event is expired, the link to the registration page will be deactivated.
        $eventArray['url'] = '';
        $status = '';
        //Changed 8-30-2011 by Seth
        /* switch (event_espresso_get_status($event->id)){
        	  case 'NOT_ACTIVE':
        	  $status = ' - ' . __('Expired','event_espresso');
        	  break;
        	  case 'ACTIVE':
        	  $status = '';
        	  break;
        	  } */
        //End Seth
        // Build calendar array from $event data
        //Gets the URL of the event and links the event to the registration form.
        $eventArray['url'] = $event->externalURL != '' ? htmlspecialchars_decode($event->externalURL) : $registration_url;
        //Id of the event
        $eventArray['id'] = $event->id;
        //Get the title of the event
        $ee_event_title = htmlspecialchars_decode(stripslashes_deep($event->event_name . $status), ENT_QUOTES);
        $eventArray['title'] = $ee_event_title;
        //Gets the description of the event. This can be used for hover effects such as jQuery Tooltips or QTip
        $eventArray['description'] = espresso_format_content($event->event_desc);
        //Supports 3.2 short descriptions
        if (isset($org_options['template_settings']['display_short_description_in_event_list']) && $org_options['template_settings']['display_short_description_in_event_list'] == true) {
            $eventArray['description'] = array_shift(explode('<!--more-->', $eventArray['description']));
        }
        //Supports 3.1 short descriptions
        if (isset($org_options['display_short_description_in_event_list']) && $org_options['display_short_description_in_event_list'] == 'Y') {
            $eventArray['description'] = array_shift(explode('<!--more-->', $eventArray['description']));
        }
        //Get the start and end times for each event
        //important! time must be in iso8601 format 2010-05-10T08:30!!
        $eventArray['start'] = date("c", strtotime($event->start_date . ' ' . event_date_display($event->start_time, get_option('time_format'))));
        $eventArray['end'] = date("c", strtotime($event->end_date . ' ' . event_date_display($event->end_time, get_option('time_format'))));
        $eventArray['day'] = date("j", strtotime($event->end_date));
        $eventArray['month'] = date("n", strtotime($event->end_date));
        if ($eventArray['end'] < date('Y-m-d')) {
            $eventArray['expired'] = 'expired';
        } else {
            $eventArray['expired'] = '';
        }
        $eventArray['today'] = date('Y-m-d');
        $eventArray['this_month'] = date('m');
        $eventArray['startTime'] = event_date_display($event->start_time, $espresso_calendar['time_format']);
        $eventArray['endTime'] = event_date_display($event->end_time, $espresso_calendar['time_format']);
        // Add thumb to eventArray
        $eventArray['event_img_thumb'] = '';
        if ($espresso_calendar['enable_calendar_thumbs'] == true) {
            if (isset($event_meta['event_thumbnail_url'])) {
                $calendar_thumb = $event_meta['event_thumbnail_url'];
                //Debug:
                //echo '<a href="' . $registration_url . '"><img class="event-id-'. $event->id . '" src="'. $calendar_thumb . '" alt="" title="' . $ee_event_title . '" / ></a>';
                $eventArray['event_img_thumb'] = $calendar_thumb;
            }
        }
        //Custom fields:
        //These can be used to perform special functions in your display.
        //This decalares the category ID as the CSS class name
        $eventArray['className'] = '';
        $eventArray['eventType'] = '';
        if (isset($espresso_calendar['enable_cat_classes']) && $espresso_calendar['enable_cat_classes'] == true) {
            //Debug
            //var_dump($category_data);
            //This is the class
            $eventArray['className'] = $category_data['category_identifier'];
            //This can be used to use the category id as the event type
            $eventArray['eventType'] = $category_data['category_name'];
        }
        //end if user enabled cat for classes
        //End custom fields
        //If set to true, events will be shown as all day events
        $eventArray['allDay'] = FALSE;
        //Array of the event details
        $events[] = $eventArray;
        //Reset category colors
        $eventArray['color'] = '';
        $eventArray['textColor'] = '';
    }
    //Debug:
    //Print the results of the code above
    //echo json_encode($events);
    //echo '<style type="text/css">'.$category_styles.'</style>';
}