Loading Dockerfile +1 −0 Original line number Diff line number Diff line Loading @@ -192,6 +192,7 @@ RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/apps/user_ldap/lib/User_LDAP.php -i $ RUN patch -u ${BASE_DIR}/lib/private/User/Manager.php -i ${TMP_PATCH_DIR}/025-optimize-get-by-email.patch RUN patch -u ${BASE_DIR}/apps/dav/lib/Connector/Sabre/Principal.php -i ${TMP_PATCH_DIR}/027-displayname-user-leak-dav.patch RUN patch -u ${BASE_DIR}/apps/dav/lib/HookManager.php -i ${TMP_PATCH_DIR}/028-default-task-calendar.patch RUN patch -u ${BASE_DIR}/3rdparty/sabre/dav/lib/CalDAV/Plugin.php -i ${TMP_PATCH_DIR}/029-add-jitsi-link.patch RUN rm -rf ${TMP_PATCH_DIR} RUN curl -fsSL -o ldap_write_support.tar.gz \ Loading patches/029-add-jitsi-link.patch +21 −24 Original line number Diff line number Diff line Loading @@ -4,14 +4,14 @@ Subject: [PATCH] Add jitsi link in location This patch creates a jitsi link in location if it is empty and attendee is added --- apps/dav/lib/CalDAV/CalDavBackend.php 2023-07-24 14:32:46.692916758 +0530 +++ apps/dav/lib/CalDAV/CalDavBackend-new.php 2023-07-24 15:42:17.292918142 +0530 @@ -1217,6 +1217,23 @@ * @return string */ public function createCalendarObject($calendarId, $objectUri, $calendarData, $calendarType = self::CALENDAR_TYPE_CALENDAR) { --- 3rdparty/sabre/dav/lib/CalDAV/Plugin.php 2023-07-25 13:25:07.893734832 +0530 +++ 3rdparty/sabre/dav/lib/CalDAV/Plugin-new.php 2023-07-25 13:26:31.933735174 +0530 @@ -787,6 +787,20 @@ $data = stream_get_contents($data); } + // If attendee exist and + if (strpos($calendarData, 'ATTENDEE;') !== false && strpos($calendarData, 'LOCATION:') === false) { + if (strpos($data, 'ATTENDEE;') !== false && strpos($data, 'LOCATION:') === false) { + $url = 'https://meet.jit.si/'; + $chars = '0123456789abcdefghijklmnopqrstuvwxyz'; + $result = ''; Loading @@ -19,14 +19,11 @@ This patch creates a jitsi link in location if it is empty and attendee is added + for ($i = $length; $i > 0; --$i) { + $result .= $chars[rand(0, strlen($chars) - 1)]; + } + + $todaynow = new DateTime(); + $randomString = $result . $todaynow->format('d') . $todaynow->format('m') . substr($todaynow->format('Y'), -2); + + $randomString = $result . date('dmy'); + $url = $url . $randomString; + $calendarData = preg_replace('/(SUMMARY:[^\r\n]*)/', "$1\nLOCATION: $url", $calendarData); + $data = preg_replace('/(SUMMARY:[^\r\n]*)/', "$1\nLOCATION: $url", $data); + } + $extraData = $this->getDenormalizedData($calendarData); $before = $data; // Try to detect duplicates try { Loading
Dockerfile +1 −0 Original line number Diff line number Diff line Loading @@ -192,6 +192,7 @@ RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/apps/user_ldap/lib/User_LDAP.php -i $ RUN patch -u ${BASE_DIR}/lib/private/User/Manager.php -i ${TMP_PATCH_DIR}/025-optimize-get-by-email.patch RUN patch -u ${BASE_DIR}/apps/dav/lib/Connector/Sabre/Principal.php -i ${TMP_PATCH_DIR}/027-displayname-user-leak-dav.patch RUN patch -u ${BASE_DIR}/apps/dav/lib/HookManager.php -i ${TMP_PATCH_DIR}/028-default-task-calendar.patch RUN patch -u ${BASE_DIR}/3rdparty/sabre/dav/lib/CalDAV/Plugin.php -i ${TMP_PATCH_DIR}/029-add-jitsi-link.patch RUN rm -rf ${TMP_PATCH_DIR} RUN curl -fsSL -o ldap_write_support.tar.gz \ Loading
patches/029-add-jitsi-link.patch +21 −24 Original line number Diff line number Diff line Loading @@ -4,14 +4,14 @@ Subject: [PATCH] Add jitsi link in location This patch creates a jitsi link in location if it is empty and attendee is added --- apps/dav/lib/CalDAV/CalDavBackend.php 2023-07-24 14:32:46.692916758 +0530 +++ apps/dav/lib/CalDAV/CalDavBackend-new.php 2023-07-24 15:42:17.292918142 +0530 @@ -1217,6 +1217,23 @@ * @return string */ public function createCalendarObject($calendarId, $objectUri, $calendarData, $calendarType = self::CALENDAR_TYPE_CALENDAR) { --- 3rdparty/sabre/dav/lib/CalDAV/Plugin.php 2023-07-25 13:25:07.893734832 +0530 +++ 3rdparty/sabre/dav/lib/CalDAV/Plugin-new.php 2023-07-25 13:26:31.933735174 +0530 @@ -787,6 +787,20 @@ $data = stream_get_contents($data); } + // If attendee exist and + if (strpos($calendarData, 'ATTENDEE;') !== false && strpos($calendarData, 'LOCATION:') === false) { + if (strpos($data, 'ATTENDEE;') !== false && strpos($data, 'LOCATION:') === false) { + $url = 'https://meet.jit.si/'; + $chars = '0123456789abcdefghijklmnopqrstuvwxyz'; + $result = ''; Loading @@ -19,14 +19,11 @@ This patch creates a jitsi link in location if it is empty and attendee is added + for ($i = $length; $i > 0; --$i) { + $result .= $chars[rand(0, strlen($chars) - 1)]; + } + + $todaynow = new DateTime(); + $randomString = $result . $todaynow->format('d') . $todaynow->format('m') . substr($todaynow->format('Y'), -2); + + $randomString = $result . date('dmy'); + $url = $url . $randomString; + $calendarData = preg_replace('/(SUMMARY:[^\r\n]*)/', "$1\nLOCATION: $url", $calendarData); + $data = preg_replace('/(SUMMARY:[^\r\n]*)/', "$1\nLOCATION: $url", $data); + } + $extraData = $this->getDenormalizedData($calendarData); $before = $data; // Try to detect duplicates try {