steffen: server/kolab-resource-handlers/kolab-resource-handlers/freebusy pfb.php, 1.15, 1.16
cvs at intevation.de
cvs at intevation.de
Tue Feb 1 12:55:47 CET 2005
Author: steffen
Update of /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/freebusy
In directory doto:/tmp/cvs-serv9524
Modified Files:
pfb.php
Log Message:
something for issue638
Index: pfb.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/freebusy/pfb.php,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- pfb.php 28 Jan 2005 10:56:45 -0000 1.15
+++ pfb.php 1 Feb 2005 11:55:45 -0000 1.16
@@ -31,7 +31,7 @@
$imapuser = $_SERVER['PHP_AUTH_USER'];
$imappw = $_SERVER['PHP_AUTH_PW'];
$req_cache = (bool)$_REQUEST['cache'];
-$req_folder = $_REQUEST['folder'];
+$req_folder = /*utf8_encode*/($_REQUEST['folder']);
$req_extended = (bool)$_REQUEST['extended'];
myLog("pfb.php starting up: user=$imapuser, folder=$req_folder, extended=$req_extended",
@@ -45,7 +45,7 @@
$userinfo = $ldap->userInfo( $imapuser );
if( $userinfo ) {
- $imapuser = $userinfo['MAIL'];
+ if( $userinfo['MAIL'] ) $imapuser = $userinfo['MAIL'];
$homeserver = $userinfo['HOMESERVER'];
}
@@ -96,6 +96,10 @@
}
if( !$vfb ) notFound( $req_folder.($req_extended?'.xpfb':'.pfb').' not found in cache');
} else {
+ if( empty($imapuser) ) {
+ // Here we really need an authenticated user!
+ unauthorized("Please authenticate");
+ }
require_once('freebusy/freebusy.class.php');
$folder = array_values(array_filter(explode('/', $req_folder )));
@@ -105,8 +109,18 @@
}
$uinfo = $ldap->userInfo($folder[0]);
$owner = $uinfo['MAIL'];
+ if( empty($owner) || false===strpos($owner,'@')) {
+ // try guessing the domain
+ $idx = strpos( $imapuser, '@' );
+ if( $idx !== false ) {
+ $domain = substr( $imapuser, $idx+1 );
+ myLog("Trying to append $domain to ".$folder[0], RM_LOG_DEBUG);
+ $uinfo = $ldap->userInfo($folder[0].'@'.$domain);
+ $owner = $uinfo['MAIL'];
+ }
+ }
if( empty($owner) ) {
- notFound( _('No such account').htmlentities($folder[0]));
+ notFound( _('No such account ').htmlentities($folder[0]));
return false;
}
unset($folder[0]);
More information about the commits
mailing list