Advertisement
Guest User

Add to cart feature

a guest
Jul 10th, 2013
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.61 KB | None | 0 0
  1. <?php
  2. /*
  3. Shortcode Name: Espresso Table
  4. Author: Seth Shoultes
  5. Contact:
  6. Website: http://www.eventespresso.com
  7. Description: Displays a movie listing like table. Allows you to 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.
  8. Usage Example: [ESPRESSO_MOVIE_TABLE max_days="30" qty="3" category_id="gracecard"]
  9. Custom CSS for the table display
  10. 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.
  11. */
  12. function espresso_display_movie_table($max_days="", $qty="10", $category_id="NULL"){
  13.     global $wpdb;
  14.     //$org_options = get_option('events_organization_settings');
  15.     //$event_page_id =$org_options['event_page_id'];
  16.     //testing if we got the cat and day filters (it works)
  17.     /*echo $event_category_id;
  18.     echo $max_days;
  19.     echo $qty;*/
  20.    
  21.     $sql  = "SELECT e.*, c.category_name, c.category_desc, c.display_desc, ese.start_time, ese.end_time FROM ". EVENTS_DETAIL_TABLE . " e ";
  22.     $sql  .= " JOIN " . EVENTS_START_END_TABLE . " ese ON ese.event_id = e.id ";
  23.     $sql  .= " JOIN " . EVENTS_CATEGORY_REL_TABLE . " r ON r.event_id = e.id ";
  24.     $sql  .= " JOIN " . EVENTS_CATEGORY_TABLE . " c ON  c.id = r.cat_id ";
  25.     $sql  .= " WHERE e.is_active = 'Y' ";
  26.     $sql  .= " AND event_status != 'D' ";
  27.     $sql  .= " AND event_status != 'S' ";
  28.     $sql  .= " AND  c.category_identifier = '" . $category_id . "' ";
  29.     if ($max_days != ""){
  30.         $sql  .= " AND ADDDATE('".date ( 'Y-m-d' )."', INTERVAL ".$max_days." DAY) >= e.start_date AND e.start_date >= '".date ( 'Y-m-d' )."' ";
  31.     }
  32.     $sql  .= " ORDER BY date(e.start_date), ese.start_time ";
  33.     $sql  .= " LIMIT 0," . $qty;
  34.    
  35. espresso_get_movie_tabe($sql);
  36.      
  37. }
  38. //Events Custom Table Listing - Shows the events on your page in matching table.
  39. function espresso_get_movie_tabe($sql){
  40.    global $wpdb, $org_options;
  41.   //echo 'This page is located in ' . get_option( 'upload_path' );
  42.   $event_page_id = $org_options['event_page_id'];
  43.   $currency_symbol = $org_options['currency_symbol'];
  44.   $events = $wpdb->get_results($sql);
  45.  
  46.   $category_name = $wpdb->last_result[0]->category_name;
  47.   $category_desc = $wpdb->last_result[0]->category_desc;
  48.   $display_desc = $wpdb->last_result[0]->display_desc;
  49.  
  50.   if ($display_desc == 'Y'){
  51.     echo '<p>' . stripslashes_deep($category_name) . '</p>';
  52.     echo '<p>' . stripslashes_deep($category_desc) . '</p>';        
  53.   }
  54. ?>
  55. <table class="espresso-table">
  56.  
  57.       <tr class="event-espresso">
  58.           <th class="padding"><?php _e('Class','event_espresso'); ?></th>
  59.           <th class="padding"><?php _e('Day','event_espresso'); ?></th>
  60.           <th class="padding"><?php _e('Date','event_espresso'); ?></th>
  61.           <th class="padding"><?php _e('Time','event_espresso'); ?></th>
  62.           <th class="padding"><?php _e('Tickets','event_espresso'); ?></th>
  63.           <th class="padding"><?php _e('Add to Cart','event_espresso'); ?></th>
  64.       </tr>
  65.  
  66.       <?php
  67.      
  68.       foreach ($events as $event){
  69.           $reg_limit = $event->reg_limit;
  70.      
  71.    
  72.     $event_desc = wpautop($event->event_desc);
  73.    
  74.     $live_button = '<a id="a_register_link-'.$event->id.'" href="'.get_option('siteurl').'/?page_id='.$event_page_id.'&regevent_action=register&event_id='.$event->id.'&name_of_event='.stripslashes_deep($event->event_name).'">Buy Now</a>';
  75.    
  76.     //Check to see how many open spots are available
  77.     $open_spots = get_number_of_attendees_reg_limit($event->id, 'available_spaces') == 'Unlimited' ? 999 : get_number_of_attendees_reg_limit($event->id, 'available_spaces');
  78.     //echo $open_spots;
  79.    
  80.     if ( $open_spots < 1 ) { $live_button = 'Closed';  }
  81.    
  82.       ?>
  83.       <tr class="gray">
  84.         <td class="padded">
  85.             <?php echo $event->event_name ?>
  86.           </td>
  87.           <td class="padded">
  88.               <?php echo event_date_display($event->start_date, $format = 'D') ?>
  89.           </td>
  90.           <td class="padded">
  91.               <?php echo event_date_display($event->start_date, $format = 'M d Y') ?>
  92.           </td>
  93.           <td class="padded">
  94.               <?php echo $event->start_time ?>
  95.           </td>
  96.           <td class="padded">
  97.               <?php echo $live_button ?>
  98.           </td>
  99.           <td class="padded">
  100.           <?php do_shortcode('[ESPRESSO_CART_LINK event_id="' . $event->id . '" anchor="Add to cart"]'); ?>
  101.           </td>
  102.       </tr>
  103.       <?php } //close foreach ?>
  104.  
  105. </table>
  106.  
  107. <?php
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement