WP_REWRITE"; echo "
";
		global $wp_rewrite;
		print_r($wp_rewrite);
		echo "
"; echo "

WP_QUERY

"; echo "
";
		global $wp_query;
		print_r($wp_query->query_vars);
		echo "
"; die(); */ global $wpdb, $wp_query, $EM_Event, $EM_Location, $EM_Category; //general defaults $args = array( 'owner' => false, 'pagination' => 1 ); $content = apply_filters('em_content_pre', '', $page_content); if( empty($content) ){ ob_start(); if ( !empty($_REQUEST['calendar_day']) ) { //Events for a specific day em_locate_template('templates/calendar-day.php',true, array('args'=>$args)); }elseif ( !empty($_REQUEST['event_locations']) ){ $args['orderby'] = get_option('dbem_locations_default_orderby'); $args['order'] = get_option('dbem_locations_default_order'); em_locate_template('templates/locations-list.php',true, array('args'=>$args)); }elseif ( !empty($_REQUEST['event_categories']) ){ $args['orderby'] = get_option('dbem_categories_default_orderby'); $args['order'] = get_option('dbem_categories_default_order'); em_locate_template('templates/categories-list.php',true, array('args'=>$args)); }elseif ( is_object($EM_Location) ) { //Just a single location em_locate_template('templates/location-single.php',true); }elseif ( is_object($EM_Category) ) { //Just a single category em_locate_template('templates/category-single.php',true); }elseif ( $wp_query->get('bookings_page') ) { //Bookings Page em_locate_template('templates/my-bookings.php',true); }elseif ( is_object($EM_Event) ) { // single event page em_locate_template('templates/event-single.php',true, array('args'=>$args)); }else { // Multiple events page $args['orderby'] = get_option('dbem_events_default_orderby'); $args['order'] = get_option('dbem_events_default_order'); if (get_option ( 'dbem_display_calendar_in_events_page' )){ $args['long_events'] = 1; em_locate_template('templates/events-calendar.php',true, array('args'=>$args)); }else{ //Intercept search request, if defined $args['scope'] = get_option('dbem_events_page_scope'); if( !empty($_REQUEST['_wpnonce']) && wp_verify_nonce($_REQUEST['_wpnonce'], 'search_events') && get_option('dbem_events_page_search') ){ $args = EM_Events::get_post_search($args); } em_locate_template('templates/events-list.php', true, array('args'=>$args)); } } $content = ob_get_clean(); } //If disable rewrite flag is on, then we need to add a placeholder here if( get_option('dbem_disable_title_rewrites') == 1 ){ $content = str_replace('#_PAGETITLE', em_content_page_title(''),get_option('dbem_title_html')) . $content; } //Now, we either replace CONTENTS or just replace the whole page if( preg_match('/CONTENTS/', $page_content) ){ $content = str_replace('CONTENTS',$content,$page_content); } if(get_option('dbem_credits')){ $content .= '

Powered by Events Manager

'; } //TODO FILTER - filter em page content before display return apply_filters('em_content', '
'.$content.'
'); } return $page_content; } add_filter ( 'the_content', 'em_content' ); /** * Filter for titles when on event pages * @param $data * @return string */ function em_content_page_title($content) { global $EM_Event, $EM_Location, $EM_Category, $wp_query, $post; $events_page_id = get_option ( 'dbem_events_page' ); if ( $post->ID == $events_page_id && $events_page_id != 0 ) { $content = apply_filters('em_content_page_title_pre', '', $content); if( empty($content) ){ if ( !empty( $_REQUEST['calendar_day'] ) ) { $events = EM_Events::get(array('limit'=>2,'scope'=>$_REQUEST['calendar_day'],'owner'=>false)); if ( count($events) != 1 || get_option('dbem_display_calendar_day_single') == 1 ) { //We only support dates for the calendar day list title, so we do a simple filter for the supplied calendar_day $content = get_option ('dbem_list_date_title'); preg_match_all("/#[A-Za-z0-9]+/", $content, $placeholders); foreach($placeholders[0] as $placeholder) { // matches all PHP date and time placeholders if (preg_match('/^#[dDjlNSwzWFmMntLoYyaABgGhHisueIOPTZcrU]$/', $placeholder)) { $content = str_replace($placeholder, mysql2date(ltrim($placeholder, "#"), $_REQUEST['calendar_day']),$content ); } } }else{ $event = array_shift($events); $content = $event->output( get_option('dbem_event_page_title_format') ); } }elseif ( !empty($_REQUEST['event_categories']) ){ $content = get_option ( 'dbem_categories_page_title' ); }elseif ( !empty($_REQUEST['event_locations']) ){ $content = get_option ( 'dbem_locations_page_title' ); }elseif ( is_object($EM_Location) ) { $content = $EM_Location->output(get_option( 'dbem_location_page_title_format' )); }elseif ( is_object($EM_Category) ) { //Just a single location $content = $EM_Category->output(get_option( 'dbem_category_page_title_format' )); }elseif ( $wp_query->get('bookings_page') ) { //Bookings Page $content = sprintf(__('My %s','dbem'),__('Bookings','dbem')); }elseif ( is_object($EM_Event) && !empty($_REQUEST['book']) ) { //bookings page $content = $EM_Event->output( get_option('dbem_bookings_page_title') ); }elseif ( is_object($EM_Event) ) { // single event page if( $EM_Event->status == 1 ){ $content = $EM_Event->output ( get_option ( 'dbem_event_page_title_format' ) ); }else{ $content = get_option('dbem_events_page_title'); } }else{ // Multiple events page $content = get_option ( 'dbem_events_page_title' ); } } return apply_filters('em_content_page_title', $content); } return $content; } //add_filter ( 'single_post_title', 'em_content_page_title',1,1 ); //Filter for the wp_title of page, can directly reference page title function function em_content_wp_title($title, $sep = '', $seplocation = ''){ $events_page_id = get_option ( 'dbem_events_page' ); if ( get_the_ID() != $events_page_id || $events_page_id == 0 ) { return $title; } // Determines position of the separator and direction of the breadcrumb $title = em_content_page_title($title); $prefix = ''; if ( !empty($title) ) $prefix = " $sep "; $t_sep = '%WP_TITILE_SEP%'; // Temporary separator, for accurate flipping, if necessary if ( 'right' == $seplocation ) { // sep on right, so reverse the order $title_array = explode( $t_sep, $title ); $title_array = array_reverse( $title_array ); $title = implode( " $sep ", $title_array ) . $prefix; } else { $title_array = explode( $t_sep, $title ); $title = $prefix . implode( " $sep ", $title_array ); } return $title; } add_filter ( 'wp_title', 'em_content_wp_title',100,3 ); //override other plugin SEO due to way EM works. /** * Makes sure we're in "THE Loop", which is determinied by a flag set when the_post() (start) is first called, and when have_posts() (end) returns false. * @param string $data * @return string */ function em_wp_the_title($data){ //This is set by the loop_start and loop_end actions global $post; global $wp_query; if( get_option('dbem_disable_title_rewrites') != 1 && !empty($post->ID) && get_option('dbem_events_page') == $post->ID ){ if ( $wp_query->in_the_loop ) { return apply_filters('em_wp_the_title', em_content_page_title($data)) ; } } return $data; } add_filter ( 'the_title', 'em_wp_the_title',10,1 ); /** * Filters the get_pages functions so it includes the event pages? * @param $data * @return array */ function em_filter_get_pages($data) { global $em_disable_filter; //Using a flag here instead $show_events_menu = get_option ( 'dbem_list_events_page' ); if ( !$show_events_menu && $em_disable_filter !== true ) { $output = array(); $events_page_id = get_option ( 'dbem_events_page' ); foreach( $data as $data_id => $page ) { if($page->ID != $events_page_id){ $output[] = $page; } } return apply_filters('em_filter_get_pages', $output); } return apply_filters('em_filter_get_pages', $data); } add_filter ( 'get_pages', 'em_filter_get_pages' ); function em_get_page_type(){ global $EM_Location, $EM_Category, $EM_Event, $wp_query, $post; if ( get_option('dbem_events_page') == $post->ID ) { if ( !empty( $_REQUEST['calendar_day'] ) ) { return "calendar_day"; }elseif ( !empty($_REQUEST['event_categories']) ){ return "categories"; }elseif ( !empty($_REQUEST['event_locations']) ){ return "locations"; }elseif ( is_object($EM_Location) ) { return "location"; }elseif ( is_object($EM_Category) ) { return "category"; }elseif ( $wp_query->get('bookings_page') ) { return "my_bookings"; }elseif ( is_object($EM_Event) && !empty($_REQUEST['book']) ) { //bookings page return "bookings"; }elseif ( is_object($EM_Event) ) { // single event page return "event"; }else{ return "events"; } }else{ return false; } } ?>