Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • CiviCRM Core CiviCRM Core
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Graph
    • Compare
  • Issues 1,250
    • Issues 1,250
    • List
    • Boards
    • Service Desk
    • Milestones
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • DevelopmentDevelopment
  • CiviCRM CoreCiviCRM Core
  • Issues
  • #1541
Closed
Open
Issue created Jan 20, 2020 by pminf@pminf

HTML entities in iCalendar export

Overview

iCalendar (iCal) export does not decode html entities.

Reproduction steps

  1. Create an event or activity with a html description containing special characters like German umlauts or non breaking spaces.
  2. Export this entity as ical and open it in a mail client like Microsoft Outlook.
  3. Note that text contains html entities like ü or &npsp;

Current behaviour

Example excerpt from iCalendar export:

ical

DESCRIPTION:Ein Thema der Fachveranstaltung ist die Digitalisi
 erung im Bereich der Agrarwirtschaft\, unter ander
 em&nbsp\;wie die Messung und Speicherung von Daten
 &nbsp\;landwirtschaftlich genutzt werden k&ouml\;n
 nen.\n \n Die Teilnehmer k&ouml\;nnen aschlie&szli
 g\;end&nbsp\;innerhalb von Workshops zum Thema Bio
 gasanlage und Energieeffizienz ihr Wissen erweiter
 n.

Expected behaviour

Decode all html entities for safe iCalendar use.

Environment information

  • CiviCRM: Master
  • PHP: 7.2
  • CMS: Drupal 7.30

Comments

This issue was already reported in https://issues.civicrm.org/jira/browse/CRM-13645 Based on this I've created a patch, which fixes the issue for me: ical_htmlentitydecode.patch

Note that html in iCalendar is fine if the "Alternate Text Representation" points to a "text/html" content portion (see https://tools.ietf.org/html/rfc5545#section-3.2.1 for details).

Edited Jan 20, 2020 by pminf
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking