diff --git a/lib/StorageManager.php b/lib/StorageManager.php index 739803d..ecb132f 100644 --- a/lib/StorageManager.php +++ b/lib/StorageManager.php @@ -38,14 +38,12 @@ class StorageManager { if (!isset($this->configs)) { throw new \Exception('StorageManger was not initialize or configs are not defined'); } - foreach ($this->configs as $key => $value) { - if ($key !== 'logger') { - $storage = $this->storages[$key]; - if (!isset($storage)){ - throw new \Exception(); - } - $storage->save($calendar); + foreach ($this->configs['storages'] as $key => $value) { + $storage = $this->storages[$key]; + if (!isset($storage)){ + throw new \Exception(); } + $storage->save($calendar); } } } diff --git a/lib/Storages/Taskwarrior.php b/lib/Storages/Taskwarrior.php index b2a77b9..d694b4c 100644 --- a/lib/Storages/Taskwarrior.php +++ b/lib/Storages/Taskwarrior.php @@ -5,6 +5,7 @@ namespace Aerex\BaikalStorage\Storages; use Sabre\VObject\Component\VCalendar as Calendar; use Aerex\BaikalStorage\Logger; use Carbon\Carbon; +use Carbon\CarbonTimeZone; class Taskwarrior implements IStorage { @@ -12,11 +13,13 @@ class Taskwarrior implements IStorage { private $tasks = []; private $configs; private $logger; + private $tz; public function __construct($console, $configs) { $this->console = $console; $this->configs = $configs['taskwarrior']; $this->logger = new Logger($configs, 'Taskwarrior'); + $this->tz = new CarbonTimeZone($configs['general']['timezone']); } public function getConfig() { @@ -51,19 +54,19 @@ class Taskwarrior implements IStorage { } if (isset($vtodo->DTSTAMP)){ - $task['entry'] = new Carbon($vtodo->DTSTAMP->getDateTime()->format(\DateTime::W3C)); + $task['entry'] = new Carbon($vtodo->DTSTAMP->getDateTime()->format(\DateTime::W3C), $this->tz); } if (isset($vtodo->DTSTART)) { - $task['start'] = new Carbon($vtodo->DTSTART->getDateTime()->format(\DateTime::W3C)); + $task['start'] = new Carbon($vtodo->DTSTART->getDateTime()->format(\DateTime::W3C), $this->tz); } if (isset($vtodo->DTEND)){ - $task['end'] = new Carbon($vtodo->DTEND->getDateTime()->format(\DateTime::W3C)); + $task['end'] = new Carbon($vtodo->DTEND->getDateTime()->format(\DateTime::W3C), $this->tz); } if (isset($vtodo->{'LAST-MODIFIED'})) { - $task['modified'] = new Carbon($vtodo->{'LAST-MODIFIED'}->getDateTime()->format(\DateTime::W3C)); + $task['modified'] = new Carbon($vtodo->{'LAST-MODIFIED'}->getDateTime()->format(\DateTime::W3C), $this->tz); } if (isset($vtodo->PRIORITY)) { @@ -99,13 +102,13 @@ class Taskwarrior implements IStorage { case 'COMPLETED': $task['status'] = 'completed'; if (!isset($task['end'])) { - $task['end'] = new Carbon($vtodo->DTSTAMP->getDateTime()->format(\DateTime::W3C)); + $task['end'] = new Carbon($vtodo->DTSTAMP->getDateTime()->format(\DateTime::W3C), $this->tz); } break; case 'CANCELED': $task['status'] = 'deleted'; if (!isset($task['end'])) { - $task['end'] = new Carbon($vtodo->DTSTAMP->getDateTime()->format(\DateTime::W3C)); + $task['end'] = new Carbon($vtodo->DTSTAMP->getDateTime()->format(\DateTime::W3C), $this->tz); } break; }