$sRootUrl = 'http://10.168.0.161/Exchange/user.name/';
$sCalUrl1 = $sRootUrl . rawurlencode(utf8_encode('Boîte de réception')) . '/';
$sCalUrl2 = $sRootUrl . rawurlencode(utf8_encode('Boîte d\'envoi')) . '/';
$sCalUrl3 = $sRootUrl . rawurlencode(utf8_encode('Calendrier')) . '/';
require_once dirname(__FILE__) . '/helper/class_xml.php';
require_once('Zend/Http/Client.php');
$oHttp = new Zend_Http_Client($sRootUrl);
$oHttp->setHeaders(
array(
'Depth' => '0',
'Translate' => 'f',
'Keep-Alive' => '1',
'Content-Type' => 'text/xml; charset="UTF-8"'
)
);
$sXml =
'<?xml version="1.0"?>
<a:searchrequest xmlns:a="DAV:" xmlns:s="http://schemas.microsoft.com/exchange/security/">
<a:sql>
Select
"DAV:href",
"DAV:displayname",
"urn:schemas:calendar:location",
"DAV:contentclass"
FROM
Scope(
\'SHALLOW TRAVERSAL OF "' . $sCalUrl1 . '"\',
\'SHALLOW TRAVERSAL OF "' . $sCalUrl2 . '"\',
\'HIERARCHICAL TRAVERSAL OF "' . $sCalUrl3 . '"\'
)
WHERE
"DAV:ishidden" = FALSE
</a:sql>
</a:searchrequest>';
$oHttp->setAuth($oConfiguration->sLogin, $oConfiguration->sPassword);
$oHttp->setRawData($sXml)->setEncType('text/xml')->request('SEARCH');
$oXml = new xml();
if(!$oXml->fetch($oHttp->getLastResponse()->getBody())) {
echo '<h2>There was a problem parsing your XML!</h2>';
echo '<pre>'.$oHttp->log.'</pre><hr />' . "\n";
echo '<pre>'.$oHttp->header.'</pre><hr />' . "\n";
echo '<pre>'.$oHttp->body.'</pre><hr />' . "\n";
echo '<pre>'.$oXml->log.'</pre><hr />' . "\n";
exit();
}
debug($oXml);
foreach($oXml->data->A_MULTISTATUS[0]->A_RESPONSE as $idx=>$item)
{
$sMessage = '';
$sMessage .=
$item->A_PROPSTAT[0]->A_PROP[0]->A_DISPLAYNAME[0]->_text . "\r\n" .
$item->A_HREF[0]->_text . "\r\n";
}
debug($sMessage);
Partager