Changes of Revision 60

kolab-syncroton.spec Changed
x
 
1
@@ -37,7 +37,7 @@
2
 %global upstream_version 2.4.2
3
 
4
 Name:           kolab-syncroton
5
-Version: 2.4.2.9
6
+Version: 2.4.2.10
7
 Release:        1%{?dist}
8
 Summary:        ActiveSync for Kolab Groupware
9
 
10
@@ -172,6 +172,10 @@
11
     fi
12
 fi
13
 
14
+if  -f "/usr/lib/systemd/system/php-fpm.service" ; then
15
+    /bin/systemctl reload php-fpm.service || :
16
+fi
17
+
18
 /usr/share/roundcubemail/bin/updatedb.sh \
19
     --dir /usr/share/doc/kolab-syncroton/SQL/ \
20
     --package syncroton \
21
debian.changelog Changed
7
 
1
@@ -1,4 +1,4 @@
2
-kolab-syncroton (2.4.2.9-0~kolab1) unstable; urgency=low
3
+kolab-syncroton (2.4.2.10-0~kolab1) unstable; urgency=low
4
 
5
   * Release version 2.4.2
6
 
7
kolab-syncroton-2.4.2.tar.gz/lib/kolab_sync_data_calendar.php Changed
60
 
1
@@ -391,8 +391,10 @@
2
         $is_outlook   = stripos($this->device->devicetype, 'outlook') !== false;
3
         $is_android   = stripos($this->device->devicetype, 'android') !== false;
4
 
5
-        // check data validity
6
-        $this->check_event($data);
7
+        // check data validity (of a new event)
8
+        if (empty($event)) {
9
+            $this->check_event($data);
10
+        }
11
 
12
         if (!empty($event'start') && ($event'start' instanceof DateTime)) {
13
             $old_timezone = $event'start'->getTimezone();
14
@@ -429,6 +431,11 @@
15
 
16
             $value = $data->$key;
17
 
18
+            // Skip ghosted (unset) properties, (but make sure 'changed' timestamp is reset)
19
+            if ($value === null && $name != 'changed') {
20
+                continue;
21
+            }
22
+
23
             switch ($name) {
24
             case 'changed':
25
                 $value = null;
26
@@ -510,12 +517,27 @@
27
         }
28
 
29
         // Organizer
30
-        if (!$is_exception && ($organizer_email = $data->organizerEmail)) {
31
-            $attendees = array(
32
-                'role'   => 'ORGANIZER',
33
-                'name'   => $data->organizerName,
34
-                'email'  => $organizer_email,
35
-            );
36
+        if (!$is_exception) {
37
+            // Organizer specified
38
+            if ($organizer_email = $data->organizerEmail) {
39
+                $attendees = array(
40
+                    'role'   => 'ORGANIZER',
41
+                    'name'   => $data->organizerName,
42
+                    'email'  => $organizer_email,
43
+                );
44
+            } else if (!empty($event'attendees')) {
45
+                // Organizer not specified, use one from the original event if that's an update
46
+                foreach ($event'attendees' as $idx => $attendee) {
47
+                    if (!empty($attendee'email') && !empty($attendee'role') && $attendee'role' == 'ORGANIZER') {
48
+                        $organizer_email = $attendee'email';
49
+                        $attendees = array(
50
+                            'role'   => 'ORGANIZER',
51
+                            'name'   => $attendee'name' ?? '',
52
+                            'email'  => $organizer_email,
53
+                        );
54
+                    }
55
+                }
56
+            }
57
         }
58
 
59
         // Attendees
60
kolab-syncroton.dsc Changed
10
 
1
@@ -2,7 +2,7 @@
2
 Source: kolab-syncroton
3
 Binary: kolab-syncroton
4
 Architecture: all
5
-Version: 1:2.4.2.9-1~kolab1
6
+Version: 1:2.4.2.10-1~kolab1
7
 Maintainer: Jeroen van Meeuwen <vanmeeuwen@kolabsys.com>
8
 Uploaders: Jeroen van Meeuwen <vanmeeuwen@kolabsys.com>
9
 Homepage: http://www.kolab.org/
10