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.
    • 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