Last active
December 20, 2015 23:09
-
-
Save Apina/432c17ffa0c990912479 to your computer and use it in GitHub Desktop.
what, when, where modified
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
Shortcode Name: Espresso Table | |
Author: Seth Shoultes | |
Contact: seth@eventespresso.com | |
Website: http://www.eventespresso.com | |
Description: Only show events in a CATEGORY within a certain number number of days into the future and a qty. The example below only shows events in a certain category that start within 30 days from the current date. | |
Usage Example: [ESPRESSO_TABLE max_days="30" qty="3" category_id="gracecard" order_by="state"] | |
Custom CSS for the table display | |
Notes: This file should be stored in your "/wp-content/uploads/espresso/templates/" folder and you should have the custom_includes.php files installed in your "/wp-content/uploads/espresso/" directory. | |
*/ | |
/* | |
What? When? Where? Get it! Table by Dean Robinson | |
Requires Multiple Event Registration add on | |
What = Event name and link to event registration page | |
When = Date and Time | |
Where = Venue name - not linked | |
Get it = add to cart - no redirect | |
*/ | |
function espresso_display_table($atts){ | |
global $wpdb; | |
$org_options = get_option('events_organization_settings'); | |
$event_page_id =$org_options['event_page_id']; | |
global $load_espresso_scripts; | |
$load_espresso_scripts = true;//This tells the plugin to load the required scripts | |
extract(shortcode_atts(array('event_category_id'=>'NULL','category_identifier' => 'NULL','show_expired' => 'false', 'show_secondary'=>'false','show_deleted'=>'false','show_recurrence'=>'true', 'limit' => '0', 'order_by' => 'NULL', 'max_days'=>''),$atts)); | |
if ($category_identifier != 'NULL'){ | |
$type = 'category'; | |
} | |
$show_expired = $show_expired == 'false' ? " AND e.start_date >= '".date ( 'Y-m-d' )."' " : ''; | |
$show_secondary = $show_secondary == 'false' ? " AND e.event_status != 'S' " : ''; | |
$show_deleted = $show_deleted == 'false' ? " AND e.event_status != 'D' " : ''; | |
$show_recurrence = $show_recurrence == 'false' ? " AND e.recurrence_id = '0' " : ''; | |
$limit = $limit > 0 ? " LIMIT 0," . $limit . " " : ''; | |
$order_by = $order_by != 'NULL'? " ORDER BY ". $order_by ." ASC " : " ORDER BY date(start_date), id ASC "; | |
if ($type == 'category'){ | |
$sql = "SELECT e.* FROM " . EVENTS_CATEGORY_TABLE . " c "; | |
$sql .= " JOIN " . EVENTS_CATEGORY_REL_TABLE . " r ON r.cat_id = c.id "; | |
$sql .= " JOIN " . EVENTS_DETAIL_TABLE . " e ON e.id = r.event_id "; | |
$sql .= " WHERE c.category_identifier = '" . $category_identifier . "' "; | |
$sql .= " AND e.is_active = 'Y' "; | |
}else{ | |
$sql = "SELECT e.* FROM " . EVENTS_DETAIL_TABLE . " e "; | |
$sql .= " WHERE e.is_active = 'Y' "; | |
} | |
if ($max_days != ""){ | |
$sql .= " AND ADDDATE('".date ( 'Y-m-d' )."', INTERVAL ".$max_days." DAY) >= e.start_date AND e.start_date >= '".date ( 'Y-m-d' )."' "; | |
} | |
$sql .= $show_expired; | |
$sql .= $show_secondary; | |
$sql .= $show_deleted; | |
$sql .= $show_recurrence; | |
$sql .= $order_by; | |
$sql .= $limit; | |
echo espresso_get_table($sql); | |
} | |
//Events Custom Table Listing - Shows the events on your page in matching table. | |
function espresso_get_table($sql){ | |
global $wpdb, $org_options; | |
//echo 'This page is located in ' . get_option( 'upload_path' ); | |
$event_page_id = $org_options['event_page_id']; | |
$currency_symbol = $org_options['currency_symbol']; | |
$events = $wpdb->get_results($sql); | |
$category_name = $wpdb->last_result[0]->category_name; | |
$category_desc = $wpdb->last_result[0]->category_desc; | |
$display_desc = $wpdb->last_result[0]->display_desc; | |
if ($display_desc == 'Y'){ | |
echo '<p>' . stripslashes_deep($category_name) . '</p>'; | |
echo '<p>' . stripslashes_deep($category_desc) . '</p>'; | |
} | |
?> | |
<?php //var_dump($events); ?> | |
<table class="espresso-table" width="100%"> | |
<thead class="espresso-table-header-row"> | |
<tr> | |
<th class="th-group"><?php _e('When?','event_espresso'); ?></th> | |
<th class="th-group"><?php _e('What?','event_espresso'); ?></th> | |
<th class="th-group"><?php _e('Where','event_espresso'); ?></th> | |
<th class="th-group"><?php _e('Flyer','event_espresso'); ?></th> | |
<th class="th-group"><?php _e('Get it!','event_espresso'); ?></th> | |
</tr> | |
</thead> | |
<tbody> | |
<?php | |
foreach ($events as $event){ | |
$reg_limit = $event->reg_limit; | |
$event_desc = wpautop($event->event_desc); | |
$register_button = '<a id="a_register_link-'.$event->id.'" href="'.get_option('siteurl').'/?page_id='.$event_page_id.'®event_action=register&event_id='.$event->id.'&name_of_event='.stripslashes_deep($event->event_name).'">Register</a>'; | |
//Check to see how many open spots are available | |
$open_spots = get_number_of_attendees_reg_limit($event->id, 'available_spaces') == 'Unlimited' ? 999 : get_number_of_attendees_reg_limit($event->id, 'available_spaces'); | |
//echo $open_spots; | |
if ( $open_spots < 1 ) { $live_button = 'Closed'; } | |
?> | |
<?php //print_r ($event); ?> | |
<tr class="espresso-table-row"> | |
<!-- ######### date ########### --> | |
<td class="td-group"> | |
<?php echo event_date_display($event->start_date, $format = 'l, M d, Y') ?> <?php echo espresso_event_time($event->id, 'start_time', get_option('time_format')) ?> | |
</td> | |
<!-- ######### event ########### --> | |
<td class="td-group"> | |
<?php echo '<a href="'.get_option('siteurl').'/?page_id='.$event_page_id.'®event_action=register&event_id='.$event->id.'&name_of_event='.stripslashes_deep($event->event_name).'">' . $event->event_name . '</a>'; ?> | |
</td> | |
<!-- ########## venue ########## --> | |
<td class="td-group"> | |
<a href="<?php $thevenue = unserialize($event->event_meta); echo $thevenue['metavenue'] ; ?>"> | |
<?php echo do_shortcode('[ESPRESSO_VENUE event_id=' . $event->id . ' title_wrapper="p" show_image="false" show_description="false" show_address="false" show_additional_details="false" show_google_map_link="false" show_map_image="false"]'); ?> | |
</a> | |
</td> | |
<!-- ######### meta ########### --> | |
<td class="td-group"> | |
<?php $themeta = unserialize($event->event_meta); echo '<a href="' . $themeta['testmeta'] . '">Flyer</a>'; ?> | |
</td> | |
<!-- ######### register ########### --> | |
<td class="td-group"> | |
<?php echo do_shortcode('[ESPRESSO_CART_LINK anchor="Add to cart" event_id="' . $event->id . '"]'); ?> | |
</td> | |
</tr> | |
<?php } //close foreach ?> | |
</tbody> | |
</table> | |
<?php | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment