Skip to content
This repository was archived by the owner on Nov 3, 2023. It is now read-only.

Commit 759c57b

Browse files
committed
Merge branch 'hotfix/3.5.29'
2 parents 977f7ff + 67dd1a3 commit 759c57b

21 files changed

+149
-132
lines changed

composer.lock

+18-16
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

system/config/agents.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@
4242
'Trident' => array('browser'=>'ie', 'shorty'=>'ie', 'engine'=>'trident', 'version'=>'/^.*Trident\/\d+\.\d+; rv:(\d+(\.\d+)*).*$/'),
4343
'Edge' => array('browser'=>'edge', 'shorty'=>'ed', 'engine'=>'edgehtml', 'version'=>'/^.*Edge\/(\d+(\.\d+)*).*$/'),
4444
'Firefox' => array('browser'=>'firefox', 'shorty'=>'fx', 'engine'=>'gecko', 'version'=>'/^.*Firefox\/(\d+(\.\d+)*).*$/'),
45-
'Chrome' => array('browser'=>'chrome', 'shorty'=>'ch', 'engine'=>'webkit', 'version'=>'/^.*Chrome\/(\d+(\.\d+)*).*$/'),
45+
'Chrome' => array('browser'=>'chrome', 'shorty'=>'ch', 'engine'=>'blink', 'version'=>'/^.*Chrome\/(\d+(\.\d+)*).*$/'),
4646
'OmniWeb' => array('browser'=>'omniweb', 'shorty'=>'ow', 'engine'=>'webkit', 'version'=>'/^.*Version\/(\d+(\.\d+)*).*$/'),
47-
'Silk' => array('browser'=>'silk', 'shorty'=>'si', 'engine'=>'silk', 'version'=>'/^.*Silk\/(\d+(\.\d+)*).*$/'),
47+
'Silk' => array('browser'=>'silk', 'shorty'=>'si', 'engine'=>'blink', 'version'=>'/^.*Silk\/(\d+(\.\d+)*).*$/'),
4848
'Safari' => array('browser'=>'safari', 'shorty'=>'sf', 'engine'=>'webkit', 'version'=>'/^.*Version\/(\d+(\.\d+)*).*$/'),
4949
'Opera Mini' => array('browser'=>'opera-mini', 'shorty'=>'oi', 'engine'=>'presto', 'version'=>'/^.*Opera Mini\/(\d+(\.\d+)*).*$/'),
5050
'Opera Mobi' => array('browser'=>'opera-mobile', 'shorty'=>'om', 'engine'=>'presto', 'version'=>'/^.*Version\/(\d+(\.\d+)*).*$/'),
51-
'Opera' => array('browser'=>'opera', 'shorty'=>'op', 'engine'=>'presto', 'version'=>'/^.*Version\/(\d+(\.\d+)*).*$/'),
51+
'Opera' => array('browser'=>'opera', 'shorty'=>'op', 'engine'=>'blink', 'version'=>'/^.*Version\/(\d+(\.\d+)*).*$/'),
5252
'IEMobile' => array('browser'=>'ie-mobile', 'shorty'=>'im', 'engine'=>'trident', 'version'=>'/^.*IEMobile (\d+(\.\d+)*).*$/'),
5353
'Camino' => array('browser'=>'camino', 'shorty'=>'ca', 'engine'=>'gecko', 'version'=>'/^.*Camino\/(\d+(\.\d+)*).*$/'),
5454
'Konqueror' => array('browser'=>'konqueror', 'shorty'=>'ko', 'engine'=>'webkit', 'version'=>'/^.*Konqueror\/(\d+(\.\d+)*).*$/')

system/config/constants.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* Core version
1414
*/
1515
define('VERSION', '3.5');
16-
define('BUILD', '28');
16+
define('BUILD', '29');
1717
define('LONG_TERM_SUPPORT', true);
1818

1919

system/docs/CHANGELOG.md

+22
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
11
Contao Open Source CMS changelog
22
================================
33

4+
Version 3.5.29 (2017-09-27)
5+
---------------------------
6+
7+
### Fixed
8+
Correctly handle unencoded data images in the Combiner (see #8788).
9+
10+
### Fixed
11+
Correctly show multi-day events if the shortened view is disabled (see #8782).
12+
13+
### Fixed
14+
Do not add a suffix when copying if the "doNotCopy" flag is set (see #8610).
15+
16+
### Fixed
17+
Use the module type as group header if sorted by type (see #8402).
18+
19+
### Fixed
20+
Always show the "show from" and "show until" fields (see #8766).
21+
22+
### Fixed
23+
Encode the username when opening the front end preview as a member (see #8762).
24+
25+
426
Version 3.5.28 (2017-07-12)
527
---------------------------
628

system/modules/calendar/classes/Events.php

+31-72
Original file line numberDiff line numberDiff line change
@@ -369,18 +369,22 @@ protected function addEvent($objEvents, $intStart, $intEnd, $strUrl, $intBegin,
369369
$this->arrEvents[$intKey][$intStart][] = $arrEvent;
370370

371371
// Multi-day event
372-
for ($i=1; $i<=$span && $intDate<=$intLimit; $i++)
372+
for ($i=1; $i<=$span; $i++)
373373
{
374374
// Only show first occurrence
375375
if ($this->cal_noSpan)
376376
{
377377
break;
378378
}
379379

380-
$intDate = strtotime('+ 1 day', $intDate);
381-
$intNextKey = date('Ymd', $intDate);
380+
$intDate = strtotime('+1 day', $intDate);
382381

383-
$this->arrEvents[$intNextKey][$intDate][] = $arrEvent;
382+
if ($intDate > $intLimit)
383+
{
384+
break;
385+
}
386+
387+
$this->arrEvents[date('Ymd', $intDate)][$intDate][] = $arrEvent;
384388
}
385389
}
386390

@@ -447,134 +451,89 @@ protected function getDatesFromFormat(\Date $objDate, $strFormat)
447451
{
448452
case 'cal_day':
449453
return array($objDate->dayBegin, $objDate->dayEnd, $GLOBALS['TL_LANG']['MSC']['cal_emptyDay']);
450-
break;
451454

452455
default:
453456
case 'cal_month':
454457
return array($objDate->monthBegin, $objDate->monthEnd, $GLOBALS['TL_LANG']['MSC']['cal_emptyMonth']);
455-
break;
456458

457459
case 'cal_year':
458460
return array($objDate->yearBegin, $objDate->yearEnd, $GLOBALS['TL_LANG']['MSC']['cal_emptyYear']);
459-
break;
460461

461462
case 'cal_all': // 1970-01-01 00:00:00 - 2038-01-01 00:00:00
462463
return array(0, 2145913200, $GLOBALS['TL_LANG']['MSC']['cal_empty']);
463464
break;
464465

465466
case 'next_7':
466-
return array(time(), (strtotime('+7 days') - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
467-
break;
467+
return array(time(), strtotime('+7 days'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
468468

469469
case 'next_14':
470-
return array(time(), (strtotime('+14 days') - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
471-
break;
470+
return array(time(), strtotime('+14 days'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
472471

473472
case 'next_30':
474-
return array(time(), (strtotime('+1 month') - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
475-
break;
473+
return array(time(), strtotime('+1 month'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
476474

477475
case 'next_90':
478-
return array(time(), (strtotime('+3 months') - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
479-
break;
476+
return array(time(), strtotime('+3 months'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
480477

481478
case 'next_180':
482-
return array(time(), (strtotime('+6 months') - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
483-
break;
479+
return array(time(), strtotime('+6 months'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
484480

485481
case 'next_365':
486-
return array(time(), (strtotime('+1 year') - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
487-
break;
482+
return array(time(), strtotime('+1 year'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
488483

489484
case 'next_two':
490-
return array(time(), (strtotime('+2 years') - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
491-
break;
485+
return array(time(), strtotime('+2 years'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
492486

493487
case 'next_cur_month':
494-
$objToday = new \Date();
495-
496-
return array(time(), $objToday->monthEnd, $GLOBALS['TL_LANG']['MSC']['cal_empty']);
497-
break;
488+
return array(time(), strtotime('last day of this month 23:59:59'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
498489

499490
case 'next_cur_year':
500-
$objToday = new \Date();
501-
502-
return array(time(), $objToday->yearEnd, $GLOBALS['TL_LANG']['MSC']['cal_empty']);
503-
break;
491+
return array(time(), strtotime('last day of december this year 23:59:59'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
504492

505493
case 'next_next_month':
506-
$objToday = new \Date();
507-
508-
return array(($objToday->monthEnd + 1), strtotime('+1 month', $objToday->monthEnd), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
509-
break;
494+
return array(strtotime('first day of next month 00:00:00'), strtotime('last day of next month 23:59:59'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
510495

511496
case 'next_next_year':
512-
$objToday = new \Date();
513-
514-
return array(($objToday->yearEnd + 1), strtotime('+1 year', $objToday->yearEnd), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
515-
break;
497+
return array(strtotime('first day of january next year 00:00:00'), strtotime('last day of december next year 23:59:59'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
516498

517499
case 'next_all': // 2038-01-01 00:00:00
518500
return array(time(), 2145913200, $GLOBALS['TL_LANG']['MSC']['cal_empty']);
519-
break;
520501

521502
case 'past_7':
522-
return array(strtotime('-7 days'), (time() - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
523-
break;
503+
return array(strtotime('-7 days'), time(), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
524504

525505
case 'past_14':
526-
return array(strtotime('-14 days'), (time() - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
527-
break;
506+
return array(strtotime('-14 days'), time(), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
528507

529508
case 'past_30':
530-
return array(strtotime('-1 month'), (time() - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
531-
break;
509+
return array(strtotime('-1 month'), time(), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
532510

533511
case 'past_90':
534-
return array(strtotime('-3 months'), (time() - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
535-
break;
512+
return array(strtotime('-3 months'), time(), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
536513

537514
case 'past_180':
538-
return array(strtotime('-6 months'), (time() - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
539-
break;
515+
return array(strtotime('-6 months'), time(), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
540516

541517
case 'past_365':
542-
return array(strtotime('-1 year'), (time() - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
543-
break;
518+
return array(strtotime('-1 year'), time(), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
544519

545520
case 'past_two':
546-
return array(strtotime('-2 years'), (time() - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
547-
break;
521+
return array(strtotime('-2 years'), time(), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
548522

549523
case 'past_cur_month':
550-
$objToday = new \Date();
551-
552-
return array($objToday->monthBegin, (time() - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
553-
break;
524+
return array(strtotime('first day of this month 00:00:00'), time(), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
554525

555526
case 'past_cur_year':
556-
$objToday = new \Date();
557-
558-
return array($objToday->yearBegin, (time() - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
559-
break;
527+
return array(strtotime('first day of january this year 00:00:00'), time(), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
560528

561529
case 'past_prev_month':
562-
$objToday = new \Date();
563-
564-
return array(strtotime('-1 month', $objToday->monthBegin), ($objToday->monthBegin - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
565-
break;
530+
return array(strtotime('first day of last month 00:00:00'), strtotime('last day of last month 23:59:59'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
566531

567532
case 'past_prev_year':
568-
$objToday = new \Date();
569-
570-
return array(strtotime('-1 year', $objToday->yearBegin), ($objToday->yearBegin - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
571-
break;
533+
return array(strtotime('first day of january last year 00:00:00'), strtotime('last day of december last year 23:59:59'), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
572534

573535
case 'past_all': // 1970-01-01 00:00:00
574-
$objToday = new \Date();
575-
576-
return array(0, ($objToday->dayBegin - 1), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
577-
break;
536+
return array(0, time(), $GLOBALS['TL_LANG']['MSC']['cal_empty']);
578537
}
579538
}
580539
}

system/modules/calendar/dca/tl_calendar_events.php

+5-6
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,8 @@
132132
// Palettes
133133
'palettes' => array
134134
(
135-
'__selector__' => array('addTime', 'addImage', 'recurring', 'addEnclosure', 'source', 'published'),
136-
'default' => '{title_legend},title,alias,author;{date_legend},addTime,startDate,endDate;{details_legend},location,teaser;{image_legend},addImage;{recurring_legend},recurring;{enclosure_legend:hide},addEnclosure;{source_legend:hide},source;{expert_legend:hide},cssClass,noComments;{publish_legend},published'
135+
'__selector__' => array('addTime', 'addImage', 'recurring', 'addEnclosure', 'source'),
136+
'default' => '{title_legend},title,alias,author;{date_legend},addTime,startDate,endDate;{details_legend},location,teaser;{image_legend},addImage;{recurring_legend},recurring;{enclosure_legend:hide},addEnclosure;{source_legend:hide},source;{expert_legend:hide},cssClass,noComments;{publish_legend},published,start,stop'
137137
),
138138

139139
// Subpalettes
@@ -145,8 +145,7 @@
145145
'addEnclosure' => 'enclosure',
146146
'source_internal' => 'jumpTo',
147147
'source_article' => 'articleId',
148-
'source_external' => 'url,target',
149-
'published' => 'start,stop'
148+
'source_external' => 'url,target'
150149
),
151150

152151
// Fields
@@ -183,7 +182,7 @@
183182
'exclude' => true,
184183
'search' => true,
185184
'inputType' => 'text',
186-
'eval' => array('rgxp'=>'alias', 'unique'=>true, 'maxlength'=>128, 'tl_class'=>'w50'),
185+
'eval' => array('rgxp'=>'alias', 'doNotCopy'=>true, 'unique'=>true, 'maxlength'=>128, 'tl_class'=>'w50'),
187186
'save_callback' => array
188187
(
189188
array('tl_calendar_events', 'generateAlias')
@@ -486,7 +485,7 @@
486485
'filter' => true,
487486
'flag' => 2,
488487
'inputType' => 'checkbox',
489-
'eval' => array('submitOnChange'=>true, 'doNotCopy'=>true),
488+
'eval' => array('doNotCopy'=>true),
490489
'sql' => "char(1) NOT NULL default ''"
491490
),
492491
'start' => array

system/modules/calendar/modules/ModuleEventlist.php

+10
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,16 @@ protected function compile()
163163
{
164164
foreach ($days as $day=>$events)
165165
{
166+
if (strncmp($this->cal_format, 'next_', 5) === 0 && $day < $intStart)
167+
{
168+
continue;
169+
}
170+
171+
if (strncmp($this->cal_format, 'past_', 5) === 0 && $day >= $intEnd)
172+
{
173+
continue;
174+
}
175+
166176
foreach ($events as $event)
167177
{
168178
// Use repeatEnd if > 0 (see #8447)

0 commit comments

Comments
 (0)