Advertisement
Guest User

EE custom_functions.php w/added code

a guest
Nov 6th, 2013
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.10 KB | None | 0 0
  1. <?php
  2. /*
  3. Function Name: Maximum Date Display
  4. Author: Seth Shoultes
  5. Contact: seth@smartwebutah.com
  6. Website: http://shoultes.net
  7. Description: This function is used in the Events Table Display template file to show events for a maximum number of days in the future
  8. Usage Example:
  9. Requirements: Events Table Display template file
  10. Notes:
  11. */
  12. function display_event_espresso_date_max($max_days="null"){
  13.     global $wpdb;
  14.     //$org_options = get_option('events_organization_settings');
  15.     //$event_page_id =$org_options['event_page_id'];
  16.     if ($max_days != "null"){
  17.         if ($_REQUEST['show_date_max'] == '1'){
  18.             foreach ($_REQUEST as $k=>$v) $$k=$v;
  19.         }
  20.         $max_days = $max_days;
  21.         $sql  = "SELECT * FROM " . EVENTS_DETAIL_TABLE . " WHERE ADDDATE('".date ( 'Y-m-d' )."', INTERVAL ".$max_days." DAY) >= start_date AND start_date >= '".date ( 'Y-m-d' )."' AND is_active = 'Y' ORDER BY date(start_date)";
  22.         event_espresso_get_event_details($sql);//This function is called from the event_list.php file which should be located in your templates directory.
  23.  
  24.     }              
  25. }
  26.  
  27. /*
  28. Function Name: Event Status
  29. Author: Seth Shoultes
  30. Contact: seth@eventespresso.com
  31. Website: http://eventespresso.com
  32. Description: This function is used to display the status of an event.
  33. Usage Example: Can be used to display custom status messages in your events.
  34. Requirements:
  35. Notes:
  36. */
  37. if (!function_exists('espresso_event_status')) {
  38.     function espresso_event_status($event_id){
  39.         $event_status = event_espresso_get_is_active($event_id);
  40.        
  41.         //These messages can be uesd to display the status of the an event.
  42.         switch ($event_status['status']){
  43.             case 'EXPIRED':
  44.                 $event_status_text = __('This event is expired.','event_espresso');
  45.             break;
  46.            
  47.             case 'ACTIVE':
  48.                 $event_status_text = __('This event is active.','event_espresso');
  49.             break;
  50.            
  51.             case 'NOT_ACTIVE':
  52.                 $event_status_text = __('This event is not active.','event_espresso');
  53.             break;
  54.            
  55.             case 'ONGOING':
  56.                 $event_status_text = __('This is an ongoing event.','event_espresso');
  57.             break;
  58.            
  59.             case 'SECONDARY':
  60.                 $event_status_text = __('This is a secondary/waiting list event.','event_espresso');
  61.             break;
  62.            
  63.         }
  64.         return $event_status_text;
  65.     }
  66. }
  67.  
  68. /*
  69. Function Name: Custom Event List Builder
  70. Author: Seth Shoultes
  71. Contact: seth@eventespresso.com
  72. Website: http://eventespresso.com
  73. Description: This function creates lists of events using custom templates.
  74. Usage Example: Create a page or widget template to show events.
  75. Requirements: Template files must be stored in your wp-content/uploads/espresso/templates directory
  76. Notes:
  77. */
  78. if (!function_exists('espresso_list_builder')) {
  79.     function espresso_list_builder($sql, $template_file, $before, $after){
  80.        
  81.         global $wpdb, $org_options;
  82.         //echo 'This page is located in ' . get_option( 'upload_path' );
  83.         $event_page_id = $org_options['event_page_id'];
  84.         $currency_symbol = $org_options['currency_symbol'];
  85.         $events = $wpdb->get_results($sql);
  86.         $category_id = $wpdb->last_result[0]->id;
  87.         $category_name = $wpdb->last_result[0]->category_name;
  88.         $category_desc = html_entity_decode( wpautop($wpdb->last_result[0]->category_desc) );
  89.         $display_desc = $wpdb->last_result[0]->display_desc;
  90.        
  91.         if ($display_desc == 'Y'){
  92.             echo '<p id="events_category_name-'. $category_id . '" class="events_category_name">' . stripslashes_deep($category_name) . '</p>';
  93.             echo wpautop($category_desc);              
  94.         }
  95.        
  96.         foreach ($events as $event){
  97.             $event_id = $event->id;
  98.             $event_name = $event->event_name;
  99.             $event_identifier = $event->event_identifier;
  100.             $active = $event->is_active;
  101.             $registration_start = $event->registration_start;
  102.             $registration_end = $event->registration_end;
  103.             $start_date = $event->start_date;
  104.             $end_date = $event->end_date;
  105.             $reg_limit = $event->reg_limit;
  106.             $event_address = $event->address;
  107.             $event_address2 = $event->address2;
  108.             $event_city = $event->city;
  109.             $event_state = $event->state;
  110.             $event_zip = $event->zip;
  111.             $event_country = $event->country;
  112.             $member_only = $event->member_only;
  113.             $externalURL = $event->externalURL;
  114.             $recurrence_id = $event->recurrence_id;
  115.            
  116.             $allow_overflow = $event->allow_overflow;
  117.             $overflow_event_id = $event->overflow_event_id;
  118.            
  119.             //Address formatting
  120.             $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 :'');
  121.            
  122.             //Google map link creation
  123.             $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') );
  124.            
  125.             //These variables can be used with other the espresso_countdown, espresso_countup, and espresso_duration functions and/or any javascript based functions.
  126.             $start_timestamp = espresso_event_time($event_id, 'start_timestamp', get_option('time_format'));
  127.             $end_timestamp = espresso_event_time($event_id, 'end_timestamp', get_option('time_format'));
  128.            
  129.             //This can be used in place of the registration link if you are usign the external URL feature
  130.             $registration_url = $externalURL != '' ? $externalURL : get_option('siteurl') . '/?page_id='.$event_page_id.'&regevent_action=register&event_id='. $event_id;
  131.        
  132.             if (!is_user_logged_in() && get_option('events_members_active') == 'true' && $member_only == 'Y') {
  133.                 //Display a message if the user is not logged in.
  134.                  //_e('Member Only Event. Please ','event_espresso') . event_espresso_user_login_link() . '.';
  135.             }else{
  136.     //Serve up the event list
  137.     //As of version 3.0.17 the event lsit details have been moved to event_list_display.php
  138.                 echo $before = $before == ''? '' : $before;
  139.                 include('templates/'. $template_file);
  140.                 echo $after = $after == ''? '' : $after;
  141.             }
  142.         }
  143.     //Check to see how many database queries were performed
  144.     //echo '<p>Database Queries: ' . get_num_queries() .'</p>';
  145.     }
  146. }
  147.  
  148. //Code to make the link in the confirmation email (paymetn overview) link to the alt. url link instead of the EE event url
  149.  
  150. function espresso_prepare_event_link_fixed ($payment_data) {
  151.     global $wpdb;
  152.     remove_filter('filter_hook_espresso_prepare_event_link', 'espresso_prepare_event_link');
  153.     $sql = "SELECT  ea.event_id, ed.event_name, ed.externalURL FROM " . EVENTS_ATTENDEE_TABLE . " ea";
  154.     $sql .= " JOIN " . EVENTS_DETAIL_TABLE . " ed ON ed.id=ea.event_id";
  155.     $sql .= " WHERE ea.attendee_session='" . $payment_data['attendee_session'] . "'";
  156.     $events = $wpdb->get_results($sql, OBJECT_K);
  157.     $payment_data['event_link'] = '';
  158.     foreach ($events as $event) {
  159.         if (empty($event->externalURL)) {
  160.             $event_url = espresso_reg_url($event->event_id);
  161.         } else {
  162.             $event_url = $event->externalURL;
  163.         }
  164.         $payment_data['event_link'] .= '<a href="' . $event_url . '">' . $event->event_name . '</a><br />';
  165.     }
  166.     return $payment_data;
  167. }
  168. add_filter('filter_hook_espresso_prepare_event_link', 'espresso_prepare_event_link_fixed', 5);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement