Forum Replies Created

Viewing 15 replies - 1 through 15 (of 21 total)
  • I saw that you updatet today. Sadly the update produced lots of css-errors… only in one instance. Hope there is a quick new update.
    Are you working on a multilang Version (Polylang) hope so
    thanx

    Thread Starter Susan Seel

    (@susee)

    hi Stephen,
    for me the following will work for the moment.
    But if there will be another solution in future, maybe you like to post it here.
    thx su

    <?php
    //INIT
    $event_args = array(
    	'group_events_by' => 'series',
        'orderby' => 'eventstart',
        'event_end_after'=>'today'
    );
    $events = eo_get_events($event_args);
    if ($events):
        $return= '';
        global $post;
        $temp = $post;
    	$returnSingleEvents="<div>";
    	$returnReoccuringEvents="<div>";
    
        foreach ($events as $post):
    //Time-VARS
    	//	Check if is reoccurend
    	if(eo_reoccurs()){
    		//echo"ich komme wieder<br>";
    		//$dayOfWeek, $startDay, $startDayShort, $endDay, $endTime
    		//If the event is occurring again in the future, display the date
    		$isReo=true;
    		$dayOfWeek= eo_get_next_occurrence('l');
    		$startDay= eo_get_next_occurrence('d.m.y');
    		$startTime= eo_get_next_occurrence('H');
    		$startDayShort=eo_get_next_occurrence('d.m.');
    		$endDay=eo_format_date($post->EndDate,'d.m.y');
    		$endTime= eo_format_date($post->FinishTime,'H \U\h\r');
    
    	}else{
    		//echo"ich komme nur einmal<br>";
    		//$dayOfWeek, $startDay, $startDayShort, $endDay, $endTime
    		//single-event
    		$isReo=false;
    		$dayOfWeek= eo_get_schedule_start('l');
    		$startDay= eo_get_schedule_start('d.m.y');
    		$startTime= eo_get_schedule_start('H');
    		$startDayShort=eo_get_schedule_start('d.m.');
    		$endDay=eo_format_date($post->EndDate,'d.m.y');
    		$endTime= eo_format_date($post->FinishTime,'H \U\h\r');
    	}
    
    	//Check if is only one day or more days
    	if($startDay==$endDay){
    		//is only at one day
    		$givenDate=$startDay;//output Date = $startDay
    	}else{
    		//is on more than one day
    		$givenDate=$startDayShort.' - '.$endDay;//output Date = $startDayShort - $endDay
    	}
    	//Check if all day, set format accordingly
    	if( eo_is_all_day($post->ID) ){
    		//Date without time
    		$dateNTime=$givenDate;
    	}else{
    		//Date with time
    		//output dateNTime = $givenDate + Time
    		$dateNTime=$givenDate.' von '.$startTime.' bis '. $endTime;
    	}
    
    //EVENT-INFO
    	$eventTitle=$post->post_title;
    	$eventUrl=get_permalink($post->ID);
    	//$eventCat="";
    	//Check for current category-slug
    	$terms = get_the_terms( $post->ID, 'event-category' );
    	if ( $terms && ! is_wp_error( $terms ) ){
    		$su_event_cats = array();
    		foreach ( $terms as $term ) {
    			$su_event_cats[] = $term->slug;
    		}
    		$eventCat = join( ", ", $su_event_cats );
    		//echo $su_on_cat;
    	}
    
    //TEST-VARS
    	/*echo "startTime".$startTime."<br>";
    	echo "endTime".$endTime."<br>";
    	echo "startDay".$startDay."<br>";
    	echo "endDay".$endDay."<br>";
    	echo "dateNTime".$dateNTime."<br>";
    	echo "eventCat".$eventCat."<br>";
    	echo "eventTitle".$eventTitle."<br>";
    	echo "eventUrl".$eventUrl."<br><hr>";*/
    //DESIGN
    	//echo "isReo= ".$isReo;
    	if($isReo==1){
    		//expand reoccuring output
    	$returnReoccuringEvents.='<div style="width:90%; margin:6px auto; padding:6px; border: 1px dotted #fff; "><h3><a title="'.$eventTitle.'" href="'.$eventUrl.'"><strong>'.$eventTitle.'</strong></a></h3>'.$dateNTime.'</div>';
    	}else{
    		//expand single event output
    	$returnSingleEvents.='<div style="width:90%; margin:6px auto; padding:6px; border: 1px dotted #fff; "><h3><a title="'.$eventTitle.'" href="'.$eventUrl.'"><strong>'.$eventTitle.'</strong></a></h3>'.$dateNTime.'</div>';
    	}
    	endforeach;
    
    	$returnSingleEvents.="</div>";
    	$returnReoccuringEvents.="</div>";
    	//Reset post variable
        $post = $temp;
    endif;
    echo "<h3>actual Events</h3>".$returnSingleEvents;
    echo "<h3>reoccuring Events</h3>".$returnReoccuringEvents;
    ?>

    Thread Starter Susan Seel

    (@susee)

    nope
    the result
    2012-10-04
    2012-10-10
    2012-10-03
    2012-10-09

    Thread Starter Susan Seel

    (@susee)

    strange your answers do reach me late

    Thread Starter Susan Seel

    (@susee)

    two parts

    Thread Starter Susan Seel

    (@susee)

    sorry, for my inattentiveness.
    ok, then I´ve got to split it into to parts:
    1. single events
    2. reoccuring events
    or otherwise

    Thread Starter Susan Seel

    (@susee)

    You think ‘event_end_after’ => ‘today’ work too?

    Thread Starter Susan Seel

    (@susee)

    will test a bit further.
    but I guess you understand my wish?
    would be nice to find a solution
    not only for the reoccurencies

    Thread Starter Susan Seel

    (@susee)

    I use the eo_get_next_occurrence only in case of reoccurence.
    Only if the event is a single event I use eo_get_schedule_start.

    The dates are correct in my script.
    But it is not nice when the dates are not ordered.
    If I only use [eo_events] without declining the series, the order is correct. But this brings the reoccurend events to take place over the complete event-list.
    The blog-users must be able to see the events in the correct order but not thousend instances of reoccuring events….
    With your last script the first occurence is shown, not the next and the order still isn´t correct.

    If a correct sorting isn´t possible, I´ve got to cut of the reoccurend events from the complete event-list. 🙁

    Or do you see a possibility to sort ist with the next occurence?

    Thread Starter Susan Seel

    (@susee)

    hi Stephen,
    I tested the shortcode [eo_events group_events_by=”series”]
    on a nother page. The Output here is not correct as well:

    – long single event (3.category) am 30.09.12 (no end day)

    – one day single (1.category)event am 04.10.12 19:00 (no end time)

    -long single event(3.category)am 10.10.12 08:00 (no endday/time)

    – one day single reoccurend am 02.04.08 16:00 (first startday not the next and no end time)

    – long reoccurend am 11.09.12 09:00 (first startday not the next and no end time)

    Thread Starter Susan Seel

    (@susee)

    p.s. thanks for your help 🙂

    Thread Starter Susan Seel

    (@susee)

    it does not order by day
    nor by category.
    I don´t think it´s a plugin-conflict.
    even if all (that are only few) plugins are deactivated the problem is the same…

    here a output-list with better description:

    a long and reoccurend (1. category)
    09.10. – 12.10.12 von 09 bis 21 Uhr

    a short and reoccurend (2. category)
    03.10.12 von 16 bis 23 Uhr

    a long single event (3. category)
    10.10. – 23.10.12 von 08 bis 16 Uhr

    a short single event (1. category)
    04.10.12 von 19 bis 22 Uhr

    a long single event (3. category)
    30.09. – 04.10.12

    This one war produced with DESC…
    I dont see any order at all.

    Thread Starter Susan Seel

    (@susee)

    so now the full script.
    maybe there some errors?

    Thread Starter Susan Seel

    (@susee)

    <?php
    //INIT
    $event_args = array(
    /*
        //'numberposts' => 5,*/
    	'group_events_by' => 'series',
        'orderby' => 'eventstart',
        'event_end_after' => 'today',
        'order' => 'ASC'
    );
    $events = eo_get_events($event_args);
    if ($events):
        $return= '';
        global $post;
        $temp = $post;
    
        foreach ($events as $post):
    //Time-VARS
    	//	Check if is reoccurend
    	if(eo_reoccurs()){
    		//echo"ich komme wieder<br>";
    		//$dayOfWeek, $startDay, $startDayShort, $endDay, $endTime
    		//If the event is occurring again in the future, display the date
    		$dayOfWeek= eo_get_next_occurrence('l');
    		$startDay= eo_get_next_occurrence('d.m.y');
    		$startTime= eo_get_next_occurrence('H');
    		$startDayShort=eo_get_next_occurrence('d.m.');
    		$endDay=eo_format_date($post->EndDate,'d.m.y');
    		$endTime= eo_format_date($post->FinishTime,'H \U\h\r');
    
    	}else{
    		//echo"ich komme nur einmal<br>";
    		//$dayOfWeek, $startDay, $startDayShort, $endDay, $endTime
    		//single-event
    		$dayOfWeek= eo_get_schedule_start('l');
    		$startDay= eo_get_schedule_start('d.m.y');
    		$startTime= eo_get_schedule_start('H');
    		$startDayShort=eo_get_schedule_start('d.m.');
    		$endDay=eo_format_date($post->EndDate,'d.m.y');
    		$endTime= eo_format_date($post->FinishTime,'H \U\h\r');
    	}
    
    	//Check if is only one day or more days
    	if($startDay==$endDay){
    		//is only at one day
    		$givenDate=$startDay;//output Date = $startDay
    	}else{
    		//is on more than one day
    		$givenDate=$startDayShort.' - '.$endDay;//output Date = $startDayShort - $endDay
    	}
    	//Check if all day, set format accordingly
    	if( eo_is_all_day($post->ID) ){
    		//Date without time
    		$dateNTime=$givenDate;
    	}else{
    		//Date with time
    		//output dateNTime = $givenDate + Time
    		$dateNTime=$givenDate.' von '.$startTime.' bis '. $endTime;
    	}
    
    //EVENT-INFO
    	$eventTitle=$post->post_title;
    	$eventUrl=get_permalink($post->ID);
    	//$eventCat="";
    	//Check for current category-slug
    	$terms = get_the_terms( $post->ID, 'event-category' );
    	if ( $terms && ! is_wp_error( $terms ) ){
    		$su_event_cats = array();
    		foreach ( $terms as $term ) {
    			$su_event_cats[] = $term->slug;
    		}
    		$eventCat = join( ", ", $su_event_cats );
    		//echo $su_on_cat;
    	}
    
    //TEST-VARS
    	/*echo "startTime".$startTime."<br>";
    	echo "endTime".$endTime."<br>";
    	echo "startDay".$startDay."<br>";
    	echo "endDay".$endDay."<br>";
    	echo "dateNTime".$dateNTime."<br>";
    	echo "eventCat".$eventCat."<br>";
    	echo "eventTitle".$eventTitle."<br>";
    	echo "eventUrl".$eventUrl."<br><hr>";*/
    //DESIGN
    	echo '<div style="width:90%; margin:6px auto; padding:6px; border: 1px dotted #fff; ">';
    	//echo $eventCat;
    	echo '<h3><a title="'.$eventTitle.'" href="'.$eventUrl.'"><strong>'.$eventTitle.'</strong></a></h3>';
    	echo $dateNTime;
    	echo '</div>';
    
    	endforeach;
    	//Reset post variable
        $post = $temp;
    endif;
    ?>
    Thread Starter Susan Seel

    (@susee)

    sorry that was only a test.
    I also tested eventstart.
    with the same output

Viewing 15 replies - 1 through 15 (of 21 total)