Navigation

    Kopano
    • Register
    • Login
    • Search
    • Categories
    • Get Official Kopano Support
    • Recent
    Statement regarding the closure of the Kopano community forum and the end of the community edition

    Importinc an ical apointment is shown 1 Hr later

    Kopano WebApp
    3
    15
    605
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • bhuisman
      bhuisman @strippe96 last edited by

      @strippe96 is there a timezone set in the ical item?

      Regards, Bob

      Need support?
      Have a look at https://kopano.com/support/ for options.

      Helpful resources:
      https://kopano.com/blog/how-to-get-kopano/
      https://documentation.kopano.io/
      https://kb.kopano.io/

      strippe96 1 Reply Last reply Reply Quote 0
      • strippe96
        strippe96 last edited by

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • strippe96
          strippe96 @bhuisman last edited by

          @bhuisman
          Dear Bob,
          sorry for replying so late.
          I can´t find a timezone Setting. Please have a look:

          BEGIN:VCALENDAR
          PRODID:EUROWINGS
          CALSCALE:GREGORIAN
          VERSION:2.0
          BEGIN:VEVENT
          DTSTART:20200227T155500
          DTEND:20200227T165500
          LOCATION:Düsseldorf
          SUMMARY:Flug nach Hamburg
          DESCRIPTION:Buchungscode: XXXXXX
          Von: Düsseldorf
          Nach: Hamburg
          Abflug: 27.02.2020 15:55
          Ankunft: 27.02.2020 16:55
          Disclaimer
          Passagiere:
          xxx yyy
          CLASS:PUBLIC
          END:VEVENT
          END:VCALENDAR

          After impoting this topc with Outlook everything is correct.
          After importing the WEB - of FAT Client i´ll got a shift of 1 Hr.
          Thanks in Advance for helping me.
          BR Thomas

          strippe96 1 Reply Last reply Reply Quote 0
          • strippe96
            strippe96 @strippe96 last edited by

            @strippe96
            I have found the reason for this timeshift:

            DTSTART:20200227T155500
            DTEND:20200227T165500

            was Date & Time. It seems, that Kopano Webapp assumes this as

            DTSTART:20200227T155500Z
            DTEND:20200227T165500Z

            and not for timezone Europe/Berlin.

            Could this be a bug?

            BR THomas

            strippe96 1 Reply Last reply Reply Quote 0
            • strippe96
              strippe96 @strippe96 last edited by

              @strippe96 Found the bug:

              Pls. have a look to /usr/share/kopano-webapp/plugins/files/php/Files/Backend/Webdav/sabredav/vendor/sabre/vobject/lib/Sabre/VObject/Property/DateTime.php at line 246. If an Appointment without Timezone ( eg. “Z” -> DTSTART:20200227T155500 ) is passed to function setDateTime, the function assumed type “LOCAL” and does not take care of the local timezone. Inserting

              $this->offsetSet(‘TZID’, $dt->getTimeZone()->getName());

              just before the “break;” will sove this.

              BR Thomas

              1 Reply Last reply Reply Quote 0
              • marty
                marty Kopano (Inactive) last edited by

                @strippe96

                Line 246 does not exist in that file.

                The extra hour is also added without having files plugin on the server.

                https://documentation.kopano.io/deskapp_admin_manual
                http://documentation.kopano.io/webapp_smime_manual
                https://documentation.kopano.io/webapp_admin_manual

                1 Reply Last reply Reply Quote 0
                • strippe96
                  strippe96 last edited by

                  Sorry, my failure. Please add the line (No 76) “$this->offsetSet(‘TZID’, $dt->getTimeZone()->getName());” in “case self::LOCAL :” just before “break;”

                  public function setDateTime(\DateTime $dt, $dateType = self::LOCALTZ) {
                  
                      switch($dateType) {
                  
                          case self::LOCAL :
                              $this->setValue($dt->format('Ymd\\THis'));
                              $this->offsetUnset('VALUE');
                              $this->offsetUnset('TZID');
                              $this->offsetSet('VALUE','DATE-TIME');
                              $this->offsetSet('TZID', $dt->getTimeZone()->getName());
                              break;
                          case self::UTC :
                              $dt->setTimeZone(new \DateTimeZone('UTC'));
                              $this->setValue($dt->format('Ymd\\THis\\Z'));
                              $this->offsetUnset('VALUE');
                              $this->offsetUnset('TZID');
                              $this->offsetSet('VALUE','DATE-TIME');
                              break;
                          case self::LOCALTZ :
                              $this->setValue($dt->format('Ymd\\THis'));
                              $this->offsetUnset('VALUE');
                              $this->offsetUnset('TZID');
                              $this->offsetSet('VALUE','DATE-TIME');
                              $this->offsetSet('TZID', $dt->getTimeZone()->getName());
                              break;
                          case self::DATE :
                              $this->setValue($dt->format('Ymd'));
                              $this->offsetUnset('VALUE');
                              $this->offsetUnset('TZID');
                              $this->offsetSet('VALUE','DATE');
                              break;
                          default :
                              throw new \InvalidArgumentException('You must pass a valid dateType constant');
                  
                      }
                      $this->dateTime = $dt;
                      $this->dateType = $dateType;
                  
                  }
                  

                  Cheers, Thomas

                  marty 1 Reply Last reply Reply Quote 0
                  • marty
                    marty Kopano (Inactive) @strippe96 last edited by

                    @strippe96

                    What makes you think this code is used while importing an ics?

                    https://documentation.kopano.io/deskapp_admin_manual
                    http://documentation.kopano.io/webapp_smime_manual
                    https://documentation.kopano.io/webapp_admin_manual

                    strippe96 1 Reply Last reply Reply Quote 0
                    • strippe96
                      strippe96 @marty last edited by

                      @marty Dear Marty,

                      when I´ll try to Import an ICS-file, where the DTSTART / DTEND Tags are noted without a timezone marker (e.g. “Z” at the End), the Appointment will be 1 hr later in the Calendar. This is fixed after applying this Change. All Appointments are shown at the correct time.

                      1 Reply Last reply Reply Quote 0
                      • marty
                        marty Kopano (Inactive) last edited by

                        @strippe96 Can you try to reproduce it without this plugin installed on the server
                        (I could, as stated before)

                        https://documentation.kopano.io/deskapp_admin_manual
                        http://documentation.kopano.io/webapp_smime_manual
                        https://documentation.kopano.io/webapp_admin_manual

                        strippe96 1 Reply Last reply Reply Quote 0
                        • strippe96
                          strippe96 @marty last edited by

                          @marty Sorry Marty, I´ll missunderstood you. Can you please explain, witch module and how to deinstall?
                          Thanks in Advance.

                          Thomas

                          1 Reply Last reply Reply Quote 0
                          • marty
                            marty Kopano (Inactive) last edited by

                            @strippe96
                            The code you modified is from an external module inside the files plugin.

                            Without the files plugin, the described behavior i.e. bug is also reproducible.
                            And a fix for WebApp in an external plugin is not a good idea.

                            https://documentation.kopano.io/deskapp_admin_manual
                            http://documentation.kopano.io/webapp_smime_manual
                            https://documentation.kopano.io/webapp_admin_manual

                            strippe96 2 Replies Last reply Reply Quote 0
                            • strippe96
                              strippe96 @marty last edited by

                              @marty Hey marty, after removing files, I´ve got the same result. 1 Hr in advance.

                              1 Reply Last reply Reply Quote 0
                              • strippe96
                                strippe96 @marty last edited by

                                @marty From my point of view, I´ll want to say, that this module is “fromoutside to webapp” but it´s local to the files module. This function seems to be used only if files (importing an appointment e.g.) is using it.
                                For me, it´s ok to change it here. Isn´t it?

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post