Release 0.9.9.6
[davical.git] / docs / api / davical / caldav / _inc---caldav-PUT-functions.php.html
blob4151bd680831f9bd4af5a77ec3f9ef853c53d60f
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <!-- template designed by Marco Von Ballmoos -->
6 <title>Docs for page caldav-PUT-functions.php</title>
7 <link rel="stylesheet" href="../../media/stylesheet.css" />
8 <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
9 </head>
10 <body>
11 <div class="page-body">
12 <h2 class="file-name"><img src="../../media/images/Page_logo.png" alt="File" style="vertical-align: middle">/inc/caldav-PUT-functions.php</h2>
14 <a name="sec-description"></a>
15 <div class="info-box">
16 <div class="info-box-title">Description</div>
17 <div class="nav-bar">
18 <span class="disabled">Description</span> |
19 <a href="#sec-includes">Includes</a>
20 | <a href="#sec-functions">Functions</a>
21 </div>
22 <div class="info-box-body">
23 <!-- ========== Info from phpDoc block ========= -->
24 <p class="short-description">CalDAV Server - handle PUT method</p>
25 <ul class="tags">
26 <li><span class="field">author:</span> Andrew McMillan &lt;<a href="mailto:andrew@morphoss.com">andrew@morphoss.com</a>&gt;</li>
27 <li><span class="field">copyright:</span> Morphoss Ltd - http://www.morphoss.com/</li>
28 <li><span class="field">license:</span> <a href="http://gnu.org/copyleft/gpl.html">GNU GPL v2 or later version</a></li>
29 </ul>
31 </div>
32 </div>
35 <a name="sec-includes"></a>
36 <div class="info-box">
37 <div class="info-box-title">Includes</div>
38 <div class="nav-bar">
39 <a href="#sec-description">Description</a> |
40 <span class="disabled">Includes</span>
41 | <a href="#sec-functions">Functions</a>
42 </div>
43 <div class="info-box-body">
44 <a name="_vComponent_php"><!-- --></a>
45 <div class="evenrow">
47 <div>
48 <img src="../../media/images/Page.png" alt=" " />
49 <span class="include-title">
50 <span class="include-type">require_once</span>
51 (<span class="include-name">'vComponent.php'</span>)
52 (line <span class="line-number">19</span>)
53 </span>
54 </div>
56 <!-- ========== Info from phpDoc block ========= -->
58 </div>
59 <a name="_WritableCollection_php"><!-- --></a>
60 <div class="oddrow">
62 <div>
63 <img src="../../media/images/Page.png" alt=" " />
64 <span class="include-title">
65 <span class="include-type">require_once</span>
66 (<span class="include-name"><a href="../../davical/_inc---WritableCollection.php.html">'WritableCollection.php'</a></span>)
67 (line <span class="line-number">21</span>)
68 </span>
69 </div>
71 <!-- ========== Info from phpDoc block ========= -->
73 </div>
74 <a name="_vCalendar_php"><!-- --></a>
75 <div class="evenrow">
77 <div>
78 <img src="../../media/images/Page.png" alt=" " />
79 <span class="include-title">
80 <span class="include-type">require_once</span>
81 (<span class="include-name">'vCalendar.php'</span>)
82 (line <span class="line-number">20</span>)
83 </span>
84 </div>
86 <!-- ========== Info from phpDoc block ========= -->
88 </div>
89 <a name="_AwlCache_php"><!-- --></a>
90 <div class="oddrow">
92 <div>
93 <img src="../../media/images/Page.png" alt=" " />
94 <span class="include-title">
95 <span class="include-type">require_once</span>
96 (<span class="include-name">'AwlCache.php'</span>)
97 (line <span class="line-number">18</span>)
98 </span>
99 </div>
101 <!-- ========== Info from phpDoc block ========= -->
102 <p class="short-description">Check if the user wants to put just one VEVENT/VTODO or a whole calendar</p>
103 <p class="description"><p>if the collection = calendar = $request_container doesn't exist then create it return true if it's a whole calendar</p></p>
105 </div>
106 </div>
107 </div>
111 <a name="sec-functions"></a>
112 <div class="info-box">
113 <div class="info-box-title">Functions</div>
114 <div class="nav-bar">
115 <a href="#sec-description">Description</a> |
116 <a href="#sec-includes">Includes</a>
117 | <span class="disabled">Functions</span>
118 </div>
119 <div class="info-box-body">
120 <a name="functioncontrolRequestContainer" id="functioncontrolRequestContainer"><!-- --></a>
121 <div class="evenrow">
123 <div>
124 <img src="../../media/images/Function.png" />
125 <span class="method-title">controlRequestContainer</span> (line <span class="line-number">69</span>)
126 </div>
128 <!-- ========== Info from phpDoc block ========= -->
129 <p class="short-description">Work out the location we are doing the PUT to, and check that we have the rights to do the needful.</p>
130 <div class="method-signature">
131 <span class="method-result">void</span>
132 <span class="method-name">
133 controlRequestContainer
134 </span>
135 (<span class="var-type">string</span>&nbsp;<span class="var-name">$username</span>, <span class="var-type">int</span>&nbsp;<span class="var-name">$user_no</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$path</span>, <span class="var-type">boolean</span>&nbsp;<span class="var-name">$caldav_context</span>, [<span class="var-type">boolean</span>&nbsp;<span class="var-name">$public</span> = <span class="var-default">null</span>])
136 </div>
138 <ul class="parameters">
139 <li>
140 <span class="var-type">string</span>
141 <span class="var-name">$username</span><span class="var-description">: The name of the destination user</span> </li>
142 <li>
143 <span class="var-type">int</span>
144 <span class="var-name">$user_no</span><span class="var-description">: The user making the change</span> </li>
145 <li>
146 <span class="var-type">string</span>
147 <span class="var-name">$path</span><span class="var-description">: The DAV path the resource is bing PUT to</span> </li>
148 <li>
149 <span class="var-type">boolean</span>
150 <span class="var-name">$caldav_context</span><span class="var-description">: Whether we are responding via CalDAV or interactively</span> </li>
151 <li>
152 <span class="var-type">boolean</span>
153 <span class="var-name">$public</span><span class="var-description">: Whether the collection will be public, should we need to create it</span> </li>
154 </ul>
157 </div>
158 <a name="functiondo_scheduling_requests" id="functiondo_scheduling_requests"><!-- --></a>
159 <div class="oddrow">
161 <div>
162 <img src="../../media/images/Function.png" />
163 <span class="method-title">do_scheduling_requests</span> (line <span class="line-number">318</span>)
164 </div>
166 <!-- ========== Info from phpDoc block ========= -->
167 <p class="short-description">Create/Update the scheduling requests for this resource. This includes updating the scheduled user's default calendar.</p>
168 <div class="method-signature">
169 <span class="method-result">void</span>
170 <span class="method-name">
171 do_scheduling_requests
172 </span>
173 (<span class="var-type"></span>&nbsp;<span class="var-name">$resource</span>, <span class="var-type">boolean</span>&nbsp;<span class="var-name">$create</span>)
174 </div>
176 <ul class="parameters">
177 <li>
178 <span class="var-type">vComponent</span>
179 <span class="var-name">$resource</span><span class="var-description">: The VEVENT/VTODO/... resource we are scheduling</span> </li>
180 <li>
181 <span class="var-type">boolean</span>
182 <span class="var-name">$create</span><span class="var-description">: true if the scheduling requests are being created.</span> </li>
183 </ul>
186 </div>
187 <a name="functionGetTZID" id="functionGetTZID"><!-- --></a>
188 <div class="evenrow">
190 <div>
191 <img src="../../media/images/Function.png" />
192 <span class="method-title">GetTZID</span> (line <span class="line-number">168</span>)
193 </div>
195 <!-- ========== Info from phpDoc block ========= -->
196 <p class="short-description">Get a TZID string from this VEVENT/VTODO/... component if we can</p>
197 <ul class="tags">
198 <li><span class="field">return:</span> TZID value we found, or null</li>
199 </ul>
200 <div class="method-signature">
201 <span class="method-result">The</span>
202 <span class="method-name">
203 GetTZID
204 </span>
205 (<span class="var-type"></span>&nbsp;<span class="var-name">$comp</span>)
206 </div>
208 <ul class="parameters">
209 <li>
210 <span class="var-type">vComponent</span>
211 <span class="var-name">$comp</span> </li>
212 </ul>
215 </div>
216 <a name="functionhandle_schedule_reply" id="functionhandle_schedule_reply"><!-- --></a>
217 <div class="oddrow">
219 <div>
220 <img src="../../media/images/Function.png" />
221 <span class="method-title">handle_schedule_reply</span> (line <span class="line-number">268</span>)
222 </div>
224 <!-- ========== Info from phpDoc block ========= -->
225 <p class="short-description">Deliver scheduling replies to organizer and other attendees</p>
226 <ul class="tags">
227 <li><span class="field">return:</span> on error</li>
228 </ul>
229 <div class="method-signature">
230 <span class="method-result">false</span>
231 <span class="method-name">
232 handle_schedule_reply
233 </span>
234 (<span class="var-type"></span>&nbsp;<span class="var-name">$ical</span>)
235 </div>
237 <ul class="parameters">
238 <li>
239 <span class="var-type">vComponent</span>
240 <span class="var-name">$ical</span><span class="var-description">: the VCALENDAR to deliver</span> </li>
241 </ul>
244 </div>
245 <a name="functionhandle_schedule_request" id="functionhandle_schedule_request"><!-- --></a>
246 <div class="evenrow">
248 <div>
249 <img src="../../media/images/Function.png" />
250 <span class="method-title">handle_schedule_request</span> (line <span class="line-number">181</span>)
251 </div>
253 <!-- ========== Info from phpDoc block ========= -->
254 <p class="short-description">Deliver scheduling requests to attendees</p>
255 <div class="method-signature">
256 <span class="method-result">void</span>
257 <span class="method-name">
258 handle_schedule_request
259 </span>
260 (<span class="var-type">vComponent</span>&nbsp;<span class="var-name">$ical</span>)
261 </div>
263 <ul class="parameters">
264 <li>
265 <span class="var-type">vComponent</span>
266 <span class="var-name">$ical</span><span class="var-description">: the VCALENDAR to deliver</span> </li>
267 </ul>
270 </div>
271 <a name="functionimport_collection" id="functionimport_collection"><!-- --></a>
272 <div class="oddrow">
274 <div>
275 <img src="../../media/images/Function.png" />
276 <span class="method-title">import_collection</span> (line <span class="line-number">392</span>)
277 </div>
279 <!-- ========== Info from phpDoc block ========= -->
280 <p class="short-description">This function will import a whole calendar</p>
281 <div class="method-signature">
282 <span class="method-result">void</span>
283 <span class="method-name">
284 import_collection
285 </span>
286 (<span class="var-type">string</span>&nbsp;<span class="var-name">$ics_content</span>, <span class="var-type">int</span>&nbsp;<span class="var-name">$user_no</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$path</span>, <span class="var-type">boolean</span>&nbsp;<span class="var-name">$caldav_context</span>, [<span class="var-type"></span>&nbsp;<span class="var-name">$appending</span> = <span class="var-default">false</span>])
287 </div>
289 <ul class="parameters">
290 <li>
291 <span class="var-type">string</span>
292 <span class="var-name">$ics_content</span><span class="var-description">: the ics file to import</span> </li>
293 <li>
294 <span class="var-type">int</span>
295 <span class="var-name">$user_no</span><span class="var-description">: the user wich will receive this ics file</span> </li>
296 <li>
297 <span class="var-type">string</span>
298 <span class="var-name">$path</span><span class="var-description">: the $path where it will be store such as /user_foo/home/</span> </li>
299 <li>
300 <span class="var-type">boolean</span>
301 <span class="var-name">$caldav_context</span><span class="var-description">: <p>Whether we are responding via CalDAV or interactively</p><p>Any VEVENTs with the same UID will be concatenated together</p></span> </li>
302 <li>
303 <span class="var-type"></span>
304 <span class="var-name">$appending</span> </li>
305 </ul>
308 </div>
309 <a name="functionpublic_events_only" id="functionpublic_events_only"><!-- --></a>
310 <div class="evenrow">
312 <div>
313 <img src="../../media/images/Function.png" />
314 <span class="method-title">public_events_only</span> (line <span class="line-number">144</span>)
315 </div>
317 <!-- ========== Info from phpDoc block ========= -->
318 <p class="short-description">Check if this collection should force all events to be PUBLIC.</p>
319 <ul class="tags">
320 <li><span class="field">return:</span> Return true if public events only are allowed.</li>
321 </ul>
322 <div class="method-signature">
323 <span class="method-result">boolean</span>
324 <span class="method-name">
325 public_events_only
326 </span>
327 (<span class="var-type">string</span>&nbsp;<span class="var-name">$user_no</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$dav_name</span>)
328 </div>
330 <ul class="parameters">
331 <li>
332 <span class="var-type">string</span>
333 <span class="var-name">$user_no</span><span class="var-description">: the user that owns the collection</span> </li>
334 <li>
335 <span class="var-type">string</span>
336 <span class="var-name">$dav_name</span><span class="var-description">: the collection to check</span> </li>
337 </ul>
340 </div>
341 <a name="functionrollback_on_error" id="functionrollback_on_error"><!-- --></a>
342 <div class="oddrow">
344 <div>
345 <img src="../../media/images/Function.png" />
346 <span class="method-title">rollback_on_error</span> (line <span class="line-number">38</span>)
347 </div>
349 <!-- ========== Info from phpDoc block ========= -->
350 <p class="short-description">This function launches an error</p>
351 <div class="method-signature">
352 <span class="method-result">void</span>
353 <span class="method-name">
354 rollback_on_error
355 </span>
356 (<span class="var-type">boolean</span>&nbsp;<span class="var-name">$caldav_context</span>, <span class="var-type">int</span>&nbsp;<span class="var-name">$user_no</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$path</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$message</span> = <span class="var-default">&#039;&#039;</span>], [<span class="var-type">int</span>&nbsp;<span class="var-name">$error_no</span> = <span class="var-default">500</span>])
357 </div>
359 <ul class="parameters">
360 <li>
361 <span class="var-type">boolean</span>
362 <span class="var-name">$caldav_context</span><span class="var-description">: Whether we are responding via CalDAV or interactively</span> </li>
363 <li>
364 <span class="var-type">int</span>
365 <span class="var-name">$user_no</span><span class="var-description">: the user who will receive this ics file</span> </li>
366 <li>
367 <span class="var-type">string</span>
368 <span class="var-name">$path</span><span class="var-description">: the $path where the PUT failed to store such as /user_foo/home/</span> </li>
369 <li>
370 <span class="var-type">string</span>
371 <span class="var-name">$message</span><span class="var-description">: An optional error message to return to the client</span> </li>
372 <li>
373 <span class="var-type">int</span>
374 <span class="var-name">$error_no</span><span class="var-description">: An optional value for the HTTP error code</span> </li>
375 </ul>
378 </div>
379 <a name="functionsimple_write_resource" id="functionsimple_write_resource"><!-- --></a>
380 <div class="evenrow">
382 <div>
383 <img src="../../media/images/Function.png" />
384 <span class="method-title">simple_write_resource</span> (line <span class="line-number">1006</span>)
385 </div>
387 <!-- ========== Info from phpDoc block ========= -->
388 <p class="short-description">A slightly simpler version of write_resource which will make more sense for calling from an external program. This makes assumptions that the collection and user do exist and bypasses all checks for whether it is reasonable to write this here.</p>
389 <ul class="tags">
390 <li><span class="field">return:</span> True for success, false for failure.</li>
391 </ul>
392 <div class="method-signature">
393 <span class="method-result">boolean</span>
394 <span class="method-name">
395 simple_write_resource
396 </span>
397 (<span class="var-type">string</span>&nbsp;<span class="var-name">$path</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$caldav_data</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$put_action_type</span>, [<span class="var-type"></span>&nbsp;<span class="var-name">$write_action_log</span> = <span class="var-default">false</span>])
398 </div>
400 <ul class="parameters">
401 <li>
402 <span class="var-type">string</span>
403 <span class="var-name">$path</span><span class="var-description">: The path to the resource being written</span> </li>
404 <li>
405 <span class="var-type">string</span>
406 <span class="var-name">$caldav_data</span><span class="var-description">: The actual resource to be written</span> </li>
407 <li>
408 <span class="var-type">string</span>
409 <span class="var-name">$put_action_type</span><span class="var-description">: INSERT or UPDATE depending on what we are to do</span> </li>
410 <li>
411 <span class="var-type"></span>
412 <span class="var-name">$write_action_log</span> </li>
413 </ul>
416 </div>
417 <a name="functionwrite_alarms" id="functionwrite_alarms"><!-- --></a>
418 <div class="oddrow">
420 <div>
421 <img src="../../media/images/Function.png" />
422 <span class="method-title">write_alarms</span> (line <span class="line-number">622</span>)
423 </div>
425 <!-- ========== Info from phpDoc block ========= -->
426 <p class="short-description">Given a dav_id and an original vCalendar, pull out each of the VALARMs and write the values into the calendar_alarm table.</p>
427 <div class="method-signature">
428 <span class="method-result">null</span>
429 <span class="method-name">
430 write_alarms
431 </span>
432 (<span class="var-type">int</span>&nbsp;<span class="var-name">$dav_id</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$ical</span>)
433 </div>
435 <ul class="parameters">
436 <li>
437 <span class="var-type">int</span>
438 <span class="var-name">$dav_id</span><span class="var-description">: The dav_id of the caldav_data we're processing</span> </li>
439 <li>
440 <span class="var-type">vComponent</span>
441 <span class="var-name">$ical</span><span class="var-description">: The VEVENT or VTODO containing the VALARM</span> </li>
442 </ul>
445 </div>
446 <a name="functionwrite_attendees" id="functionwrite_attendees"><!-- --></a>
447 <div class="evenrow">
449 <div>
450 <img src="../../media/images/Function.png" />
451 <span class="method-title">write_attendees</span> (line <span class="line-number">679</span>)
452 </div>
454 <!-- ========== Info from phpDoc block ========= -->
455 <p class="short-description">Parse out the attendee property and write a row to the calendar_attendee table for each one.</p>
456 <div class="method-signature">
457 <span class="method-result">null</span>
458 <span class="method-name">
459 write_attendees
460 </span>
461 (<span class="var-type">int</span>&nbsp;<span class="var-name">$dav_id</span>, <span class="var-type"></span>&nbsp;<span class="var-name">$ical</span>)
462 </div>
464 <ul class="parameters">
465 <li>
466 <span class="var-type">int</span>
467 <span class="var-name">$dav_id</span><span class="var-description">: The dav_id of the caldav_data we're processing</span> </li>
468 <li>
469 <span class="var-type">vComponent</span>
470 <span class="var-name">$ical</span><span class="var-description">: The VEVENT or VTODO containing the ATTENDEEs</span> </li>
471 </ul>
474 </div>
475 <a name="functionwrite_resource" id="functionwrite_resource"><!-- --></a>
476 <div class="oddrow">
478 <div>
479 <img src="../../media/images/Function.png" />
480 <span class="method-title">write_resource</span> (line <span class="line-number">728</span>)
481 </div>
483 <!-- ========== Info from phpDoc block ========= -->
484 <p class="short-description">Actually write the resource to the database. All checking of whether this is reasonable should be done before this is called.</p>
485 <ul class="tags">
486 <li><span class="field">return:</span> True for success, false for failure.</li>
487 </ul>
488 <div class="method-signature">
489 <span class="method-result">boolean</span>
490 <span class="method-name">
491 write_resource
492 </span>
493 (<span class="var-type"><a href="../../davical/Resource/DAVResource.html">DAVResource</a></span>&nbsp;<span class="var-name">$resource</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$caldav_data</span>, <span class="var-type"><a href="../../davical/Resource/DAVResource.html">DAVResource</a></span>&nbsp;<span class="var-name">$collection</span>, <span class="var-type">int</span>&nbsp;<span class="var-name">$author</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$etag</span>, <span class="var-type">string</span>&nbsp;<span class="var-name">$put_action_type</span>, <span class="var-type">boolean</span>&nbsp;<span class="var-name">$caldav_context</span>, [<span class="var-type">string</span>&nbsp;<span class="var-name">$log_action</span> = <span class="var-default">true</span>], [<span class="var-type">string</span>&nbsp;<span class="var-name">$weak_etag</span> = <span class="var-default">null</span>])
494 </div>
496 <ul class="parameters">
497 <li>
498 <span class="var-type"><a href="../../davical/Resource/DAVResource.html">DAVResource</a></span>
499 <span class="var-name">$resource</span><span class="var-description">: The resource being written</span> </li>
500 <li>
501 <span class="var-type">string</span>
502 <span class="var-name">$caldav_data</span><span class="var-description">: The actual data to be written</span> </li>
503 <li>
504 <span class="var-type"><a href="../../davical/Resource/DAVResource.html">DAVResource</a></span>
505 <span class="var-name">$collection</span><span class="var-description">: The collection containing the resource being written</span> </li>
506 <li>
507 <span class="var-type">int</span>
508 <span class="var-name">$author</span><span class="var-description">: The user_no who wants to put this resource on the server</span> </li>
509 <li>
510 <span class="var-type">string</span>
511 <span class="var-name">$etag</span><span class="var-description">: An etag unique for this event</span> </li>
512 <li>
513 <span class="var-type">string</span>
514 <span class="var-name">$put_action_type</span><span class="var-description">: INSERT or UPDATE depending on what we are to do</span> </li>
515 <li>
516 <span class="var-type">boolean</span>
517 <span class="var-name">$caldav_context</span><span class="var-description">: True, if we are responding via CalDAV, false for other ways of calling this</span> </li>
518 <li>
519 <span class="var-type">string</span>
520 <span class="var-name">$log_action</span><span class="var-description">: Either 'INSERT' or 'UPDATE': the type of action we are doing</span> </li>
521 <li>
522 <span class="var-type">string</span>
523 <span class="var-name">$weak_etag</span><span class="var-description">: An etag that is NOT modified on ATTENDEE changes for this event</span> </li>
524 </ul>
527 </div>
528 </div>
529 </div>
531 <p class="notes" id="credit">
532 Documentation generated on Tue, 27 Sep 2011 11:30:44 +1300 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a>
533 </p>
534 </div></body>
535 </html>