public
Created

Fix the endDate in ECP iCal feed.

  • Download Gist
tribe-ical-fix-endDate.php
PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
<?php
 
//Add to theme functions.php
 
add_filter( 'tribe_ical_feed_item', 'tribe_ical_fix_endDate', 10, 2 );
function tribe_ical_fix_endDate( $item, $eventPost ) {
$searchValue = "DTEND;VALUE";
$fl_array = preg_grep('/^' . "$searchValue" . '.*/', $item);
$key = array_values($fl_array);
$keynum = key($fl_array);
$strlen = strlen($key[0]);
if ( $strlen > 30 ) {
$mod = substr($key[0], 0, -2);
$mod = str_pad( $mod, $strlen, "0" );
unset($item[$keynum]);
$dstart = array_shift($item);
array_unshift($item, $mod);
array_unshift($item, $dstart);
}
return $item;
}
 
 
 
?>

ECP generated iCal feed seems to add 59 secs to end date for events. This will fix it.

Added code to rearrange $items array to original order, it looks nicer but not sure it has different functionality.

Fixed in TEC v2.0.8

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.