Example #1
0
        $description = eventorganiser_escape_ical_text($description);
        if (!empty($description)) {
            echo eventorganiser_fold_ical_text("DESCRIPTION: {$description}") . "\r\n";
        }
        $description = wpautop(html_entity_decode(get_the_content(), ENT_COMPAT, 'UTF-8'));
        $description = str_replace("\r\n", '', $description);
        //Remove new lines
        $description = str_replace("\n", '', $description);
        $description = eventorganiser_escape_ical_text($description);
        echo eventorganiser_fold_ical_text("X-ALT-DESC;FMTTYPE=text/html: {$description}") . "\r\n";
        $cats = get_the_terms(get_the_ID(), 'event-category');
        if ($cats && !is_wp_error($cats)) {
            $cat_names = wp_list_pluck($cats, 'name');
            $cat_names = array_map('eventorganiser_escape_ical_text', $cat_names);
            echo 'CATEGORIES:' . implode(',', $cat_names) . "\r\n";
        }
        if (eo_get_venue()) {
            $venue = eo_get_venue_name(eo_get_venue());
            echo "LOCATION:" . eventorganiser_fold_ical_text(eventorganiser_escape_ical_text($venue)) . "\r\n";
            echo "GEO:" . implode(';', eo_get_venue_latlng($venue)) . "\r\n";
        }
        if (get_the_author_meta('ID')) {
            $author_name = eventorganiser_escape_ical_text(get_the_author());
            $author_email = eventorganiser_escape_ical_text(get_the_author_meta('user_email'));
            echo eventorganiser_fold_ical_text('ORGANIZER;CN="' . $author_name . '":MAILTO:' . $author_email) . "\r\n";
        }
        echo eventorganiser_fold_ical_text('URL;VALUE=URI:' . get_permalink()) . "\r\n";
        echo "END:VEVENT\r\n";
    }
}
echo "END:VCALENDAR\r\n";
Example #2
0
 public function testIcalEscape()
 {
     $escape = 'Backslash \\ Semicolon ; Colon : Comma ,';
     $expected = 'Backslash \\\\ Semicolon \\; Colon : Comma \\,';
     //colons are safe!
     $this->assertEquals($expected, eventorganiser_escape_ical_text($escape));
 }
Example #3
0
        $cats = get_the_terms(get_the_ID(), 'event-category');
        if ($cats && !is_wp_error($cats)) {
            $cat_names = wp_list_pluck($cats, 'name');
            $cat_names = array_map('eventorganiser_escape_ical_text', $cat_names);
            ?>
CATEGORIES:<?php 
            echo implode(',', $cat_names);
            ?>

<?php 
        }
        if (eo_get_venue()) {
            $venue = eo_get_venue_name(eo_get_venue());
            ?>
LOCATION: <?php 
            echo eventorganiser_escape_ical_text($venue);
            ?>

<?php 
        }
        ?>
ORGANIZER: <?php 
        echo eventorganiser_escape_ical_text(get_the_author());
        ?>

END:VEVENT
<?php 
    }
}
?>
END:VCALENDAR