DAViCal
external-fetch.php
1 <?php
13 function create_external ( $path,$is_calendar,$is_addressbook )
14 {
15  global $request;
16  if ( ! function_exists ( "curl_init" ) ) {
17  dbg_error_log("external", "external resource cannot be fetched without curl, please install curl");
18  $request->DoResponse( 503, translate('PHP5 curl support is required for external binds') );
19  return ;
20  }
21  $resourcetypes = '<DAV::collection/>';
22  if ($is_calendar) $resourcetypes .= '<urn:ietf:params:xml:ns:caldav:calendar/>';
23  $qry = new AwlQuery();
24  if ( ! $qry->QDo( 'INSERT INTO collection ( user_no, parent_container, dav_name, dav_etag, dav_displayname,
25  is_calendar, is_addressbook, resourcetypes, created )
26  VALUES( :user_no, :parent_container, :dav_name, :dav_etag, :dav_displayname,
27  :is_calendar, :is_addressbook, :resourcetypes, current_timestamp )',
28  array(
29  ':user_no' => $request->user_no,
30  ':parent_container' => '/.external/',
31  ':dav_name' => $path,
32  ':dav_etag' => md5($request->user_no. $path),
33  ':dav_displayname' => $path,
34  ':is_calendar' => ($is_calendar ? 't' : 'f'),
35  ':is_addressbook' => ($is_addressbook ? 't' : 'f'),
36  ':resourcetypes' =>