PluginProbe
Event Post / 5.0
Event Post v5.0
6.1.1 6.1.0 6.0.1 6.0.0 5.12.0 trunk 3.9 4.0 4.2 4.3 4.4 4.5 5.0 5.1 5.10.0 5.10.1 5.10.2 5.10.3 5.10.4 5.11.0 5.11.1 5.2 5.5 5.6 5.6.1 All 46 releases
← All changes | inc/multisite.php +27 -31 trunk5.0 View file →
@@ -1,50 +1,45 @@
1 1 <?php
2 -/**
3 - *
4 - * @package event-post
5 - */
2 +/*
3 +Event Post multisite support
4 +Extends Event post to multisite networks
5 +*/
6 +
6 7 if(is_multisite()){
7 - global $EventPostMU;
8 - $EventPostMU=new EventPostMU();
8 + $EventPostMU=new EventPostMU();
9 9 }
10 10
11 -/**
12 - * Event Post multisite support
13 - * Extends Event post to multisite networks
14 - */
15 11 class EventPostMU{
16 12 function __construct(){
17 13 add_filter('eventpost_params',array(&$this,'params'),1,2);
18 14 add_filter('eventpost_get',array(&$this,'get'),1,3);
15 + add_filter('eventpost_shortcodeui_list',array(&$this,'shortcode_ui'),1,1);
16 + add_filter('eventpost_shortcodeui_map',array(&$this,'shortcode_ui'),1,1);
19 17 }
20 -
21 18 public function EventPostMU(){
22 19 $this->__construct();
23 20 }
24 -
25 21 private function no_use(){
26 22 __('Extends Event post to multisite networks','event-post');
27 23 __('Event Post multisite support','event-post');
28 24 }
29 -
30 - /**
31 - * Adds "blogs" to params via `eventpost_params` filter
32 - *
33 - * @see eventpost_params
34 - * @param array $param
35 - * @param string $context
36 - * @return array
37 - */
38 - public function params($param, $context){
25 + public function params($param,$context){
39 26 $param['blogs']='';
40 27 return $param;
41 28 }
42 -
43 - /**
29 + public function shortcode_ui($param){
30 + $param['attrs'][]=array(
31 + 'label' => __('Blogs','event-post'),
32 + 'attr' => 'blogs',
33 + 'type' => 'text',
34 + 'description' => __('Blog\'s id, separated by comma. "all" for all blogs','event-post')
35 + );
36 + return $param;
37 + }
38 + /*
44 39 * Fetches events from all needed blogs
45 - * @see eventpost_multisite_get
46 - * @see eventpost_multisite_blogids
40 + * @filter eventpost_multisite_get
41 + * @filter eventpost_multisite_blogids
47 42 * @return array of events
48 43 *
49 44 */
50 45 public function get($empty,$arg,$requete){
@@ -56,11 +51,11 @@
56 51 return $empty;
57 52 //print_r($arg);
58 53 $blog_ids=array();
59 54 if($arg['blogs']=='all'){
60 - $blogs=get_sites(array('limit'=>0));
55 + $blogs=wp_get_sites(array('limit'=>0));
61 56 foreach ($blogs as $blog) {
62 - $blog_ids[]=$blog->blog_id;
57 + $blog_ids[]=$blog['blog_id'];
63 58 }
64 59 }
65 60 elseif(!empty($arg['blogs'])){
66 61 $blog_ids=apply_filters('eventpost_multisite_blogids',explode(',',$arg['blogs']));
@@ -77,11 +72,10 @@
77 72 switch_to_blog($blog_id);
78 73 $query = new WP_Query($requete);
79 74 $events = $wpdb->get_col($query->request);
80 75 foreach($events as $k=>$post){
81 - $event = $EventPost->retreive($post);
82 - $aEvent = (array) $event;
83 - $all_events[($arg['orderby']!='meta_value' && isset($aEvent[$arg['orderby']])?$aEvent[$arg['orderby']]:$event->time_start).'-'.$blog_id.'-'.$event->ID]=$event;
76 + $event = $EventPost->retreive($post);
77 + $all_events[($arg['orderby']!='meta_value' && isset($event->$arg['orderby'])?$event->$arg['orderby']:$event->time_start).'-'.$blog_id.'-'.$event->ID]=$event;
84 78 }
85 79 restore_current_blog();
86 80 }
87 81 if($arg['order']!=''){
@@ -91,4 +85,6 @@
91 85 return $all_events;
92 86
93 87 }
94 88 }
89 +
90 +