diff --git a/ChangeLog b/ChangeLog index 762487b6ac8..c9586afb47f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -196,6 +196,7 @@ Dolibarr better: - Fix: [ bug #1832 ] SQL error when adding a product with no price defined to an object - Fix: [ bug #1826 ] Supplier payment types are not translated into fourn/facture/paiement.php - Fix: [ bug #1830 ] Salaries payment only allows checking accounts +- Fix: [ bug #1825 ] External agenda: hide/show checkbox doesn't work ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. @@ -362,6 +363,7 @@ Fix: [ bug #1752 ] Date filter of margins module, filters since 12H instead of 0 Fix: [ bug #1757 ] Sorting breaks product/service statistics Fix: [ bug #1797 ] Tulip supplier invoice module takes creation date instead of invoice date Fix: [ bug #1792 ] Users are not allowed to see margins module index page when no product view permission is enabled +Fix: [ bug #1846 ] Browser IE11 not detected ***** ChangeLog for 3.5.6 compared to 3.5.5 ***** Fix: Avoid missing class error for fetch_thirdparty method #1973 diff --git a/htdocs/comm/action/class/ical.class.php b/htdocs/comm/action/class/ical.class.php index da062176d13..e7bddb8bd7e 100644 --- a/htdocs/comm/action/class/ical.class.php +++ b/htdocs/comm/action/class/ical.class.php @@ -23,10 +23,11 @@ * \ingroup agenda * \brief File of class to parse ical calendars */ +require_once DOL_DOCUMENT_ROOT.'/core/lib/xcal.lib.php'; /** - * Class to parse ICal calendars + * Class to read/parse ICal calendars */ class ICal { @@ -107,6 +108,7 @@ class ICal if (!stristr($this->file_text[0],'BEGIN:VCALENDAR')) return 'error not VCALENDAR'; $insidealarm=0; + $tmpkey='';$tmpvalue=''; foreach ($this->file_text as $text) { $text = trim($text); // trim one line @@ -137,7 +139,7 @@ class ICal case "BEGIN:DAYLIGHT": case "BEGIN:VTIMEZONE": case "BEGIN:STANDARD": - $type = $value; // save tu array under value key + $type = $value; // save array under value key break; case "END:VTODO": // end special text - goto VCALENDAR key @@ -159,8 +161,31 @@ class ICal $insidealarm=0; break; - default: // no special string - if (! $insidealarm) $this->add_to_array($type, $key, $value); // add to array + default: // no special string (SUMMARY, DESCRIPTION, ...) + if ($tmpvalue) + { + $tmpvalue .= $text; + if (! preg_match('/=$/',$text)) // No more lines + { + $key=$tmpkey; + $value=quotedPrintDecode(preg_replace('/^ENCODING=QUOTED-PRINTABLE:/i','',$tmpvalue)); + $tmpkey=''; + $tmpvalue=''; + } + } + elseif (preg_match('/^ENCODING=QUOTED-PRINTABLE:/i',$value)) + { + if (preg_match('/=$/',$value)) + { + $tmpkey=$key; + $tmpvalue=$tmpvalue.preg_replace('/=$/',"",$value); // We must wait to have next line to have complete message + } + else + { + $value=quotedPrintDecode(preg_replace('/^ENCODING=QUOTED-PRINTABLE:/i','',$tmpvalue.$value)); + } + } //$value=quotedPrintDecode($tmpvalue.$value); + if (! $insidealarm && ! $tmpkey) $this->add_to_array($type, $key, $value); // add to array break; } } diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index d9d17a0ea71..f41dbc50d3a 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -361,6 +361,7 @@ if (! empty($conf->use_javascript_ajax)) foreach ($showextcals as $val) { $htmlname = dol_string_nospecial($val['name']); + $htmlname = dol_string_nospecial($htmlname,'_',array("\.","#")); $s.='