Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix possible error when generating PDF reports containing multibyte chars #18664

Merged
merged 3 commits into from
Jan 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion core/ReportRenderer/Pdf.php
Expand Up @@ -377,7 +377,7 @@ private function paintReportTable()
$posX = $this->TCPDF->GetX();
$posY = $this->TCPDF->GetY();
if (isset($rowMetrics[$columnId])) {
$text = substr($rowMetrics[$columnId], 0, $this->truncateAfter);
$text = mb_substr($rowMetrics[$columnId], 0, $this->truncateAfter);
if ($isLogoDisplayable) {
$text = $leftSpacesBeforeLogo . $text;
}
Expand Down
Expand Up @@ -146,7 +146,7 @@ private function trackVisitsSite1($idSite, $dateTime)
$visitorB->setForceVisitDateTime(Date::factory($dateTime)->addHour($hoursOffset)->addHour(0.1)->getDatetime());
$visitorB->setUrl('http://example.org/thankyou');
$visitorB->setPerformanceTimings(0, 199, 289, 998, 198, 299);
self::assertTrue($visitorB->doTrackPageView('second visitor/two days later/second page view'));
self::assertTrue($visitorB->doTrackPageView('second visitor/two days later/second page view😀💩😀💩'));

// testing a strange combination causing an error in r3767
$visitorB->setForceVisitDateTime(Date::factory($dateTime)->addHour($hoursOffset)->addHour(0.2)->getDatetime());
Expand Down
Expand Up @@ -91,7 +91,7 @@
<exit_rate>0%</exit_rate>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_hits>1</nb_hits>
<bounce_rate>0%</bounce_rate>
Expand All @@ -117,7 +117,7 @@
<exit_rate>0%</exit_rate>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_hits>1</nb_hits>
<bounce_rate>0%</bounce_rate>
Expand All @@ -143,7 +143,7 @@
<exit_rate>0%</exit_rate>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_hits>1</nb_hits>
<bounce_rate>0%</bounce_rate>
Expand All @@ -169,7 +169,7 @@
<exit_rate>0%</exit_rate>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_hits>1</nb_hits>
<bounce_rate>0%</bounce_rate>
Expand All @@ -195,7 +195,7 @@
<exit_rate>0%</exit_rate>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_hits>1</nb_hits>
<bounce_rate>0%</bounce_rate>
Expand Down Expand Up @@ -223,7 +223,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result prettyDate="Wednesday, January 6, 2010">
Expand All @@ -234,7 +234,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result prettyDate="Thursday, January 7, 2010">
Expand All @@ -245,7 +245,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result prettyDate="Friday, January 8, 2010">
Expand All @@ -256,7 +256,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result prettyDate="Saturday, January 9, 2010">
Expand All @@ -267,7 +267,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
</reportMetadata>
Expand Down
Expand Up @@ -161,7 +161,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
Expand Down Expand Up @@ -199,7 +199,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result date="2010-01-06">
Expand Down Expand Up @@ -293,7 +293,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
Expand Down Expand Up @@ -331,7 +331,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result date="2010-01-07">
Expand Down Expand Up @@ -425,7 +425,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
Expand Down Expand Up @@ -463,7 +463,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result date="2010-01-08">
Expand Down Expand Up @@ -557,7 +557,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
Expand Down Expand Up @@ -595,7 +595,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result date="2010-01-09">
Expand Down Expand Up @@ -689,7 +689,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
Expand Down Expand Up @@ -727,7 +727,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
</result>
Expand Down
Expand Up @@ -92,7 +92,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>8</nb_visits>
<nb_hits>8</nb_hits>
<sum_time_spent>4320</sum_time_spent>
Expand Down Expand Up @@ -130,7 +130,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
<row>
<label> first page view</label>
Expand Down
Expand Up @@ -142,7 +142,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>6</nb_visits>
<nb_hits>6</nb_hits>
<sum_time_spent>3240</sum_time_spent>
Expand Down Expand Up @@ -180,7 +180,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
<row>
<label> Page Name not defined</label>
Expand Down Expand Up @@ -315,7 +315,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>2</nb_visits>
<nb_hits>2</nb_hits>
<sum_time_spent>1080</sum_time_spent>
Expand Down Expand Up @@ -353,7 +353,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result date="2010-01-18,2010-01-24" />
Expand Down
Expand Up @@ -92,7 +92,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>8</nb_visits>
<nb_hits>8</nb_hits>
<sum_time_spent>4320</sum_time_spent>
Expand Down Expand Up @@ -130,7 +130,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
<row>
<label> first page view</label>
Expand Down
Expand Up @@ -160,7 +160,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
Expand Down Expand Up @@ -198,7 +198,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result date="2010-01-06">
Expand Down Expand Up @@ -292,7 +292,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
Expand Down Expand Up @@ -330,7 +330,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result date="2010-01-07">
Expand Down Expand Up @@ -424,7 +424,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
Expand Down Expand Up @@ -462,7 +462,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result date="2010-01-08">
Expand Down Expand Up @@ -556,7 +556,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
Expand Down Expand Up @@ -594,7 +594,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
<result date="2010-01-09">
Expand Down Expand Up @@ -688,7 +688,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>1</nb_visits>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_hits>1</nb_hits>
Expand Down Expand Up @@ -726,7 +726,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
</result>
</results>
Expand Up @@ -91,7 +91,7 @@
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fa%2Bnew%2Bvisit</segment>
</row>
<row>
<label> second visitor/two days later/second page view</label>
<label> second visitor/two days later/second page view😀💩😀💩</label>
<nb_visits>8</nb_visits>
<nb_hits>8</nb_hits>
<sum_time_spent>4320</sum_time_spent>
Expand Down Expand Up @@ -129,7 +129,7 @@
<avg_time_on_page>540</avg_time_on_page>
<bounce_rate>0%</bounce_rate>
<exit_rate>0%</exit_rate>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview</segment>
<segment>pageTitle==second%2Bvisitor%252Ftwo%2Bdays%2Blater%252Fsecond%2Bpage%2Bview%25F0%259F%2598%2580%25F0%259F%2592%25A9%25F0%259F%2598%2580%25F0%259F%2592%25A9</segment>
</row>
<row>
<label> first page view</label>
Expand Down