| @@ -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 | + | |