@@ -22,18 +22,21 @@ function create($db, $event){
22
22
`start_date`=?,
23
23
`end_date`=?,
24
24
`text`=?,
25
-
26
- `event_pid`=?,
27
- `event_length`=?,
28
- `rec_type`=? " ;
25
+ `duration`=?,
26
+ `rrule`=?,
27
+ `recurring_event_id`=?,
28
+ `original_start`=?,
29
+ `deleted`=? " ;
29
30
$ queryParams = [
30
31
$ event ["start_date " ],
31
32
$ event ["end_date " ],
32
33
$ event ["text " ],
33
34
// recurring events columns
34
- $ event ["event_pid " ] ? $ event ["event_pid " ] : 0 ,
35
- $ event ["event_length " ] ? $ event ["event_length " ] : 0 ,
36
- $ event ["rec_type " ]
35
+ $ event ["duration " ] ? $ event ["duration " ] : null ,
36
+ $ event ["rrule " ] ? $ event ["rrule " ] : null ,
37
+ $ event ["recurring_event_id " ] ? $ event ["recurring_event_id " ] : null ,
38
+ $ event ["original_start " ] ? $ event ["original_start " ] : null ,
39
+ $ event ["deleted " ] = array_key_exists ("deleted " , $ event ) ? $ event ["deleted " ] : null ,
37
40
];
38
41
39
42
$ query = $ db ->prepare ($ queryText );
@@ -47,25 +50,29 @@ function update($db, $event, $id){
47
50
`start_date`=?,
48
51
`end_date`=?,
49
52
`text`=?,
50
- `event_pid`=?,
51
- `event_length`=?,
52
- `rec_type`=?
53
+ `duration`=?,
54
+ `rrule`=?,
55
+ `recurring_event_id`=?,
56
+ `original_start`=?,
57
+ `deleted`=?
53
58
WHERE `id`=? " ;
54
59
55
60
$ queryParams = [
56
61
$ event ["start_date " ],
57
62
$ event ["end_date " ],
58
63
$ event ["text " ],
59
64
60
- $ event ["event_pid " ] ? $ event ["event_pid " ] : 0 ,
61
- $ event ["event_length " ] ? $ event ["event_length " ] : 0 ,
62
- $ event ["rec_type " ],//!
65
+ $ event ["duration " ] ? $ event ["duration " ] : null ,
66
+ $ event ["rrule " ] ? $ event ["rrule " ] : null ,
67
+ $ event ["recurring_event_id " ] ? $ event ["recurring_event_id " ] : null ,
68
+ $ event ["original_start " ] ? $ event ["original_start " ] : null ,
69
+ $ event ["deleted " ] ? $ event ["deleted " ] : null ,
63
70
$ id
64
71
];
65
- if ($ event ["rec_type " ] && $ event ["rec_type " ] != " none " ) {
66
- //all modified occurrences must be deleted when you update recurring series
67
- //https://docs.dhtmlx.com/scheduler/server_integration.html#savingrecurringevents
68
- $ subQueryText = "DELETE FROM `recurring_events ` WHERE `event_pid `=? ; " ;
72
+ if ($ event ["rrule " ] && $ event ["recurring_event_id " ] == null ) {
73
+ //all modified occurrences must be deleted when you update recurring series
74
+ //https://docs.dhtmlx.com/scheduler/server_integration.html#recurringevents
75
+ $ subQueryText = "DELETE FROM `events ` WHERE `recurring_event_id `=? ; " ;
69
76
$ subQuery = $ db ->prepare ($ subQueryText );
70
77
$ subQuery ->execute ([$ id ]);
71
78
}
@@ -82,26 +89,24 @@ function delete($db, $id){
82
89
$ subQuery ->execute ([$ id ]);
83
90
$ event = $ subQuery ->fetch ();
84
91
85
- if ($ event ["event_pid " ]) {
92
+ if ($ event ["recurring_event_id " ]) {
86
93
// deleting a modified occurrence from a recurring series
87
94
// If an event with the event_pid value was deleted - it needs updating
88
95
// with rec_type==none instead of deleting.
89
- $ subQueryText ="UPDATE `recurring_events` SET `rec_type`='none' WHERE `id`=?; " ;
96
+ $ subQueryText ="UPDATE `recurring_events` SET `deleted`= 1 WHERE `id`=?; " ;
90
97
$ subQuery = $ db ->prepare ($ subQueryText );
91
98
$ subQuery ->execute ([$ id ]);
92
-
93
- } else {
94
- if ( $ event [ " rec_type " ] && $ event [ " rec_type " ] != " none " ) { //!
95
- // if a recurring series deleted, delete all modified occurrences of the series
96
- $ subQueryText = "DELETE FROM `recurring_events` WHERE `event_pid `=? ; " ;
97
- $ subQuery = $ db ->prepare ($ subQueryText );
98
- $ subQuery ->execute ([$ id ]);
99
+ } else {
100
+ if ( $ event [ " rrule " ]) {
101
+ // if a recurring series deleted, delete all modified occurrences
102
+ // of the series
103
+ $ subQueryText = "DELETE FROM `recurring_events` WHERE `recurring_event_id `=? ; " ;
104
+ $ subQuery = $ db ->prepare ($ subQueryText );
105
+ $ subQuery ->execute ([$ id ]);
99
106
}
100
-
101
107
/*
102
108
end of recurring events data processing
103
109
*/
104
-
105
110
$ queryText = "DELETE FROM `recurring_events` WHERE `id`=? ; " ;
106
111
$ query = $ db ->prepare ($ queryText );
107
112
$ query ->execute ([$ id ]);
@@ -128,9 +133,9 @@ function delete($db, $id){
128
133
$ databaseId = create ($ db , $ body );
129
134
$ result ["tid " ] = $ databaseId ;
130
135
// delete a single occurrence from recurring series
131
- if ($ body ["rec_type " ] === " none " ) {
132
- $ result ["action " ] = "deleted " ;//!
133
- }
136
+ if (isset ( $ body ["deleted " ]) && $ body [ " deleted " ] ) {
137
+ $ result ["action " ] = "deleted " ;
138
+ }
134
139
} elseif ($ action == "updated " ) {
135
140
update ($ db , $ body , $ id );
136
141
} elseif ($ action == "deleted " ) {
0 commit comments