SHOW:
|
|
- or go back to the newest paste.
1 | function em_get_events_list_shortcode_all($atts, $format='') { | |
2 | $atts = (array) $atts; | |
3 | $atts['format'] = ($format != '' || empty($atts['format'])) ? $format : $atts['format']; | |
4 | $atts['format'] = html_entity_decode($atts['format']); //shorcode doesn't accept html | |
5 | $atts['page'] = ( !empty($atts['page']) && is_numeric($atts['page']) )? $atts['page'] : 1; | |
6 | $atts['page'] = ( !empty($_GET['page']) && is_numeric($_GET['page']) )? $_GET['page'] : $atts['page']; | |
7 | ||
8 | // get recurrence events | |
9 | $atts['recurring']=1; | |
10 | $evts_recurring=EM_Events::get($atts); | |
11 | ||
12 | // get non-recurrence events | |
13 | $atts['recurring']=0; | |
14 | $evts=EM_Events::get($atts); | |
15 | // filter out the events that are instances of recurring events | |
16 | $non_recurrence_evts = array_filter($evts,'is_no_recurrence'); | |
17 | ||
18 | // merge recurrence and non-recurring events | |
19 | $evts_all= array_merge($non_recurrence_evts,$evts_recurring); | |
20 | // sort them by start==start date+time | |
21 | usort($evts_all,'evt_start_sort'); | |
22 | ||
23 | // | |
24 | return EM_Events::output( $evts_all, $atts ); | |
25 | } | |
26 | add_shortcode ( 'events_list_all', 'em_get_events_list_shortcode_all' ); | |
27 | ||
28 | function is_no_recurrence($evt) { | |
29 | return $evt->recurrence_id == null; | |
30 | } | |
31 | ||
32 | function evt_start_sort($evt1, $evt2) { | |
33 | return $evt1->start > $evt2->start; | |
34 | - | } |
34 | + | |
35 | ||
36 | ||
37 | // ... for the display - a conditional placeholder | |
38 | function filter_condition($show_condition, $condition, $conditionals_key, $thiss) { | |
39 | ||
40 | if ($condition == "is_recurring") { | |
41 | $show_condition=$thiss->recurrence == 1; | |
42 | } | |
43 | return $show_condition; | |
44 | } | |
45 | add_filter('em_event_output_show_condition', 'filter_condition',10,4); |