Advertisement
Guest User

EE4 Events table language using tags

a guest
Dec 3rd, 2015
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.53 KB | None | 0 0
  1. <?php
  2. // Options
  3. $date_format        = get_option( 'date_format' );
  4. $time_format        = get_option( 'time_format' );
  5. // Load Venue View Helper
  6. EE_Registry::instance()->load_helper('Venue_View');
  7. //Defaults
  8. $reg_button_text        = !isset($reg_button_text) ? __('Register', 'event_espresso') : $reg_button_text;
  9. $alt_button_text        = !isset($alt_button_text) ? __('View Details', 'event_espresso') : $alt_button_text;//For alternate registration pages
  10. $sold_out_button_text   = !isset($sold_out_button_text) ? __('Sold Out', 'event_espresso') : $sold_out_button_text;//For sold out events
  11. if ( have_posts() ) :
  12.     // allow other stuff
  13.     do_action( 'AHEE__espresso_events_table_template_template__before_loop' );
  14.     ?>
  15.    
  16.     <?php if ($category_filter != 'false'){ ?>
  17.     <p class="category-filter">
  18.         <label><?php echo __('Category Filter', 'event_espresso'); ?></label>
  19.         <select class="" id="ee_filter_cat">
  20.         <option class="ee_filter_show_all"><?php echo __('Show All', 'event_espresso'); ?></option>
  21.         <?php
  22.         $taxonomy = array('espresso_event_categories');
  23.         $args = array('orderby'=>'name','hide_empty'=>true);
  24.         $ee_terms = get_terms($taxonomy, $args);
  25.         foreach($ee_terms as $term){
  26.             echo '<option class="' . $term->slug . '">'. $term->name . '</option>';
  27.         }
  28.         ?>
  29.         </select>
  30.     </p>
  31.     <?php } ?>
  32.    
  33.     <?php if ($footable != 'false' && $table_search != 'false'){ ?>
  34.     <p>
  35.         <?php echo __('Search:', 'event_espresso'); ?> <input id="filter" type="text"/>
  36.     </p>
  37.     <?php } ?>
  38.  
  39.     <table id="ee_filter_table" class="espresso-table footable table" data-page-size="<?php echo $table_pages; ?>" data-filter="#filter">
  40.     <thead class="espresso-table-header-row">
  41.         <tr>
  42.                 <th class="th-group"><?php _e('Date','event_espresso'); ?></th>
  43.                 <th class="th-group"><?php _e('Day','event_espresso'); ?></th>
  44.                 <th class="th-group"><?php _e('Time','event_espresso'); ?></th>
  45.                 <th class="th-group"><?php _e('Course','event_espresso'); ?></th>
  46.                 <th class="th-group"><?php _e('Language','event_espresso'); ?></th>
  47.                 <th class="th-group"><?php _e('Price','event_espresso'); ?></th>
  48.             <th class="th-group" data-sort-ignore="true"></th>
  49.         </tr>
  50.     </thead>
  51.     <?php if ($footable != 'false' && $table_paging != 'false'){ ?>
  52.     <tfoot>
  53.         <tr>
  54.             <td colspan="4">
  55.                 <div class="pagination pagination-centered"></div>
  56.             </td>
  57.         </tr>
  58.     </tfoot>
  59.     <?php } ?>
  60.     <tbody>
  61.  
  62.     <?php
  63.     // Start the Loop.
  64.     while ( have_posts() ) : the_post();
  65.         // Include the post TYPE-specific template for the content.
  66.         global $post;
  67.         //Debug
  68.         //d( $post );
  69.        
  70.         //Get the category for this event
  71.         $event = EEH_Event_View::get_event();
  72.         if ( $event instanceof EE_Event ) {
  73.             if ( $event_categories = get_the_terms( $event->ID(), 'espresso_event_categories' )) {
  74.                 // loop thru terms and create links
  75.                 $category_slugs = '';
  76.                 foreach ( $event_categories as $term ) {
  77.                     $category_slugs[] = $term->slug;
  78.                 }
  79.                 $category_slugs = implode(' ', $category_slugs);
  80.             } else {
  81.                 // event has no terms
  82.                 $category_slugs = '';
  83.             }
  84.         }
  85.         //Create the event link
  86.         $external_url       = $post->EE_Event->external_url();
  87.         $button_text        = !empty($external_url) ? $alt_button_text : $reg_button_text;
  88.         $registration_url   = !empty($external_url) ? $post->EE_Event->external_url() : $post->EE_Event->get_permalink();
  89.        
  90.         //OA Add: Language
  91.         $languages = get_the_tags();
  92.  
  93.        
  94.        
  95.         //Create the register now button
  96.         $live_button        = '<a class="register-button" id="a_register_link-'.$post->ID.'" href="'.$registration_url.'">'.$button_text.'</a>';
  97.         if ( $event->is_sold_out() || $event->is_sold_out(TRUE ) ) {
  98.             $live_button    = '<a id="a_register_link-'.$post->ID.'" class="soldout-button" href="'.$registration_url.'">'.$sold_out_button_text.'</a>';
  99.         }
  100.        
  101.         $datetimes = EEM_Datetime::instance()->get_datetimes_for_event_ordered_by_start_time( $post->ID, $show_expired, false, 1 );
  102.         $datetime = end( $datetimes );
  103.        
  104.         $startdate = date_i18n( $date_format, strtotime( $datetime->start_date_and_time('Y-m-d', 'H:i:s') ) );
  105.         $starttime = date_i18n( 'G:i', strtotime( $datetime->start_time('H:i:s') ) );
  106.         $endtime = date_i18n( 'G:i', strtotime( $datetime->end_time('H:i:s') ) );
  107.        
  108.         // grab array of EE_Ticket objects for event
  109.         $tickets = espresso_event_tickets_available( $post->ID, FALSE, FALSE );
  110.         // grab first ticket from array
  111.         $ticket = array_shift( $tickets );
  112.         $ticket_price = $ticket instanceof EE_Ticket ? sprintf("%0.2f",$ticket->ticket_price()) . '<span class="currency-code"> (CHF)</span>' : '';
  113.         $ticket_price_data_value = $ticket instanceof EE_Ticket ? $ticket->price() : '';
  114.         $tickets_price_free_check = $ticket_price_data_value == 0 ? __('Free','event_espresso') : $ticket_price;
  115.          // OA Add so that it doesn't show free for full events
  116.          $tickets_price_free_check = (string)$ticket_price_data_value == '' ? __('Sold Out','event_espresso') : $tickets_price_free_check;
  117.          
  118.          // grab primary datetime for event
  119.          $first_datetime = espresso_event_date_obj( $post->ID );
  120.          $tickets_left = $first_datetime instanceof EE_Datetime ? $first_datetime->tickets_remaining() :   0;
  121.          $tickets_left = $tickets_left === INF ? __('unlimited','event_espresso') : $tickets_left;
  122.         ?>
  123.         <tr class="espresso-table-row <?php echo $category_slugs; ?>">
  124.             <td class="start_date event-<?php echo $post->ID; ?>" data-value="<?php echo strtotime( $startdate ); ?>"><?php echo $startdate; ?></td>
  125.             <td class="day_of_week event-<?php echo $post->ID; ?>"><?php espresso_event_date_range( 'l', ' ', 'l', ' ', $event->ID() ); ?></td>
  126.             <td style="text-align:center" class="time event-<?php echo $post->ID; ?>"><?php echo $starttime ; ?> - <?php echo $endtime ; ?></td>
  127.             <td class="event_title event-<?php echo $post->ID; ?>"><?php echo $post->post_title; ?></td>
  128.             <td style="text-align:center" class="languages-<?php echo $post->ID; ?>">
  129.             <?php
  130.                 if( $languages ) {
  131.                     echo '<ul class="languages">';
  132.                     foreach ($languages as $lang) {
  133.                         echo '<li>' . $lang->name . '</li>';
  134.                     }
  135.                     echo '</ul>';
  136.                 }
  137.             ?>
  138.             </td>
  139.             <td style="text-align:center" class="starting_from_pricing event-<?php echo $post->ID; ?>"><?php echo $tickets_price_free_check; ?></td>
  140.             <td style="text-align:center" class="td-group reg-col" nowrap="nowrap"><?php echo $live_button; ?></td>
  141.        
  142.         </tr>
  143.         <?php
  144.     endwhile;
  145.     echo '</table>';
  146.     // allow moar other stuff
  147.     do_action( 'AHEE__espresso_events_table_template_template__after_loop' );
  148. else :
  149.     // If no content, include the "No posts found" template.
  150.     espresso_get_template_part( 'content', 'none' );
  151. endif;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement