Skip to content

Commit

Permalink
Refactoring: Standarduhrzeit hinzufügen, wenn nötig
Browse files Browse the repository at this point in the history
Wenn in sitesepzifischen Anpassungen die DCA-Definition der Begenungen von "Datum und Uhrzeit" zu "nur Datum" abgeändert wurde beim Export eine Standardzeit hinzufügen.

Diese Zeit muss allerdings noch konfigurierber gemacht werden!
  • Loading branch information
fiedsch committed Jan 10, 2019
1 parent aebcc4f commit d1ea2e6
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion src/Resources/contao/controllers/IcalController.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

use Contao\BegegnungModel;
use Contao\LigaModel;
use Contao\Controller;
use Contao\Config;
use Contao\MannschaftModel;
use Contao\SpielortModel;
use Eluceo\iCal\Component\Calendar;
Expand Down Expand Up @@ -41,6 +43,7 @@ public function __construct($ligaid, $mannschaftid)
$this->ligaid = $ligaid;
$this->mannschaftid = $mannschaftid;
$this->initialize();
Controller::loadDataContainer('tl_begegnung'); // see generateIcalEvent()
}

/**
Expand Down Expand Up @@ -141,8 +144,24 @@ protected function generateIcalEvent(BegegnungModel $begegnung)
$spielort->city
);

$dtStart = new \DateTime(date('Y-m-d H:i:s', $begegnung->spiel_am), new \DateTimeZone(Config::get('timeZone')));

// Did they change the default configuration (date + time) to date only in
// the site's contfiguration? Then add a default time here:
if ($GLOBALS['TL_DCA']['tl_begegnung']['fields']['spiel_am']['eval']['rgxp'] !== 'datim') {
// TODO: "Prime-Time" nicht hart kodiert
// In app/config/config.yml (oder parameters.yml?) als ligaverwaltung.default_time
// - - - - - - - -
// # config.yml
// parameters:
// ligaverwaltung.default_time: '20:00'
// - - - - - - - -
// und dann hier mittels System::getContainer()->getParameter('ligaverwaltung.default_time');
// (das Ergebnis dann natürlich noch in Stunden, Minuten splitten).
$dtStart->setTime(20, 0);
}
$vEvent
->setDtStart(new \DateTime(date('Y-m-d H:i:s', $begegnung->spiel_am)))
->setDtStart($dtStart)
->setSummary($summary)
->setLocation($location);

Expand Down

0 comments on commit d1ea2e6

Please sign in to comment.