/** * Available only on multisite. */ public static function serve() { if (!is_multisite()) { return false; } $me = new Eab_Network(); $me->_add_hooks(); }
function widget($args, $instance) { extract($args); $title = apply_filters('widget_title', $instance['title']); $limit = (int) $instance['limit']; $events = Eab_Network::get_upcoming_events($limit); echo $before_widget; if ($title) { echo $before_title . $title . $after_title; } if ($events) { echo '<ul>'; foreach ($events as $event) { echo '<li><a href="' . get_blog_permalink($event->blog_id, $event->ID) . '">' . $event->post_title . '</a>' . '</li>'; } echo '</ul>'; } else { echo '<p class="eab-widget-no_events">' . __('No upcoming events on network', $this->translation_domain) . '</p>'; } echo $after_widget; }
/** * Archive shortcode handler. */ function process_archive_shortcode($args = array(), $content = false) { $args = $this->_preparse_arguments($args, array('network' => false, 'date' => false, 'relative_date' => false, 'lookahead' => false, 'weeks' => false, 'category' => false, 'categories' => false, 'limit' => false, 'order' => false, 'paged' => false, 'page' => 1, 'class' => false, 'template' => 'get_shortcode_archive_output', 'override_styles' => false, 'override_scripts' => false)); if ($args['paged']) { $requested_page = get_query_var('page'); $requested_page = $requested_page ? $requested_page : get_query_var('paged'); $args['page'] = $requested_page ? $requested_page : $args['page']; } $events = array(); if (is_multisite() && $args['network']) { $events = Eab_Network::get_upcoming_events(30); } else { $query = $this->_to_query_args($args); $order_method = $args['order'] ? create_function('', 'return "' . $args['order'] . '";') : false; if ($order_method) { add_filter('eab-collection-date_ordering_direction', $order_method); } // Lookahead - depending on presence, use regular upcoming query, or poll week count if ($args['lookahead']) { $method = $args['weeks'] ? create_function('', 'return ' . $args['weeks'] . ';') : false; if ($method) { add_filter('eab-collection-upcoming_weeks-week_number', $method); } $events = Eab_CollectionFactory::get_upcoming_weeks_events($args['date'], $query); if ($method) { remove_filter('eab-collection-upcoming_weeks-week_number', $method); } } else { // No lookahead, get the full month only $events = Eab_CollectionFactory::get_upcoming_events($args['date'], $query); } if ($order_method) { remove_filter('eab-collection-date_ordering_direction', $order_method); } } $output = Eab_Template::util_apply_shortcode_template($events, $args); if ($output) { if ($args['paged'] && !(is_multisite() && $args['network'])) { if ($method) { add_filter('eab-collection-upcoming_weeks-week_number', $method); } $events_query = $args['lookahead'] ? Eab_CollectionFactory::get_upcoming_weeks($args['date'], $query) : Eab_CollectionFactory::get_upcoming($args['date'], $query); if ($method) { remove_filter('eab-collection-upcoming_weeks-week_number', $method); } $output .= eab_call_template('get_shortcode_paging', $events_query, $args); } } else { $output = $content; } if (!$args['override_styles']) { wp_enqueue_style('eab_front'); } if (!$args['override_scripts']) { wp_enqueue_script('eab_event_js'); do_action('eab-javascript-do_enqueue_api_scripts'); } return $output; }
private function _render_calendar($date, $network = false, $category = array()) { $args = array(); $category_class = false; if (!empty($category)) { $args['tax_query'] = array('relation' => 'OR'); foreach ($category as $cat) { if (!$cat) { continue; } $args['tax_query'][] = array('taxonomy' => 'eab_events_category', 'field' => 'id', 'terms' => $cat); } if (1 === count($category)) { $term = get_term_by('id', $category[0], 'eab_events_category'); $category_class = !empty($term->slug) ? $term->slug : false; } } $events = $network ? Eab_Network::get_upcoming_events(10) : Eab_CollectionFactory::get_upcoming_events($date, $args); if (!class_exists('Eab_CalendarTable_UpcomingCalendarWidget')) { require_once EAB_PLUGIN_DIR . 'lib/class_eab_calendar_helper.php'; } $renderer = new Eab_CalendarTable_UpcomingCalendarWidget($events); $renderer->set_class($category_class); return $renderer->get_month_calendar($date); }
define('EAB_MAX_UPCOMING_EVENTS', 500, true); } require_once EAB_PLUGIN_DIR . 'lib/class_eab_error_reporter.php'; Eab_ErrorReporter::serve(); require_once EAB_PLUGIN_DIR . 'lib/class_eab_options.php'; require_once EAB_PLUGIN_DIR . 'lib/class_eab_collection.php'; require_once EAB_PLUGIN_DIR . 'lib/class_eab_codec.php'; require_once EAB_PLUGIN_DIR . 'lib/class_eab_event_model.php'; require_once EAB_PLUGIN_DIR . 'lib/class_eab_template.php'; require_once EAB_PLUGIN_DIR . 'lib/class_eab_api.php'; require_once EAB_PLUGIN_DIR . 'lib/class-eab-taxonomies.php'; // Lets get things started $__booking = events_and_bookings(); // @TODO: Refactor require_once EAB_PLUGIN_DIR . 'lib/class_eab_network.php'; Eab_Network::serve(); require_once EAB_PLUGIN_DIR . 'lib/class_eab_shortcodes.php'; Eab_Shortcodes::serve(); require_once EAB_PLUGIN_DIR . 'lib/class_eab_scheduler.php'; Eab_Scheduler::serve(); require_once EAB_PLUGIN_DIR . 'lib/class_eab_addon_handler.php'; Eab_AddonHandler::serve(); require_once EAB_PLUGIN_DIR . 'lib/default_filters.php'; if (is_admin()) { require_once EAB_PLUGIN_DIR . 'lib/class_eab_admin_tutorial.php'; Eab_AdminTutorial::serve(); require_once dirname(__FILE__) . '/lib/contextual_help/class_eab_admin_help.php'; Eab_AdminHelp::serve(); // Dashboard notification global $wpmudev_notices; if (!is_array($wpmudev_notices)) {