Compare commits

...

2 Commits

Author SHA1 Message Date
Andrewkra
14830529ae Merge branch 'Fix-getting-freebusy-by-email' into 'master'
Fix getting freebusy info from email

See merge request davical-project/davical!67
2026-04-11 14:35:40 +00:00
root
2f0a9e317f Fix getting freebusy info from email 2019-04-12 12:27:49 -04:00

View File

@ -352,8 +352,6 @@ class CalDAVRequest
if ( ! isset($this->timeout) || $this->timeout == 0 ) $this->timeout = (isset($c->default_lock_timeout) ? $c->default_lock_timeout : 900); if ( ! isset($this->timeout) || $this->timeout == 0 ) $this->timeout = (isset($c->default_lock_timeout) ? $c->default_lock_timeout : 900);
} }
$this->principal = new Principal('path',$this->path);
/** /**
* RFC2518, 5.2: URL pointing to a collection SHOULD end in '/', and if it does not then * RFC2518, 5.2: URL pointing to a collection SHOULD end in '/', and if it does not then
* we SHOULD return a Content-location header with the correction... * we SHOULD return a Content-location header with the correction...
@ -466,7 +464,14 @@ EOSQL;
/** /**
* Extract the user whom we are accessing * Extract the user whom we are accessing
*/ */
$this->principal = new DAVPrincipal( array( "path" => $this->path, "options" => $this->options ) );
if ( $this->options['allow_by_email'] && preg_match( '{^/(\S+@[a-z0-9][a-z0-9-]*[.][a-z0-9.-]+)/?$}i', $this->path, $matches ) ) {
$this->principal = new DAVPrincipal( array( "email" => $matches[1], "options" => $this->options ) );
// @dbg_error_log('caldav', 'DAVPrincipal by email: %s', print_r($this->principal, true) );
} else {
$this->principal = new DAVPrincipal( array( "path" => $this->path, "options" => $this->options ) );
// @dbg_error_log('caldav', 'Principal by path: %s', $this->path );
}
$this->user_no = $this->principal->user_no(); $this->user_no = $this->principal->user_no();
$this->username = $this->principal->username(); $this->username = $this->principal->username();
$this->by_email = $this->principal->byEmail(); $this->by_email = $this->principal->byEmail();