1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/z-push_ynh.git synced 2024-09-03 18:05:58 +02:00
z-push_ynh/sources/testing/testing-carddav.php
2014-12-18 18:08:26 +01:00

65 lines
2.1 KiB
PHP

<?php
// Test CardDAV server
// This code will do an addressbook discover, an initial sync and will get a vcard.
include_once('include/z_carddav.php');
define('CARDDAV_PROTOCOL', 'http');
define('CARDDAV_SERVER', 'sogo-demo.inverse.ca');
define('CARDDAV_PORT', '80');
define('CARDDAV_PATH', '/SOGo/dav/%u/Contacts/');
define('CARDDAV_DEFAULT_PATH', CARDDAV_PATH . 'personal/');
$username = "sogo1";
$password = "sogo1";
$domain = "";
$url = CARDDAV_PROTOCOL . '://' . CARDDAV_SERVER . ':' . CARDDAV_PORT . str_replace("%d", $domain, str_replace("%u", $username, CARDDAV_PATH));
$default_url = CARDDAV_PROTOCOL . '://' . CARDDAV_SERVER . ':' . CARDDAV_PORT . str_replace("%d", $domain, str_replace("%u", $username, CARDDAV_DEFAULT_PATH));
if (defined('CARDDAV_GAL_PATH')) {
$gal_url = CARDDAV_PROTOCOL . '://' . CARDDAV_SERVER . ':' . CARDDAV_PORT . str_replace("%d", $domain, str_replace("%u", $username, CARDDAV_GAL_PATH));
}
else {
$gal_url = false;
}
echo "$url\n";
echo "$default_url\n";
echo "$gal_url\n";
$server = new carddav_backend($url);
$server->set_auth($username, $password);
//$server->enable_debug();
$raw = $server->get(false, false, true);
echo "$raw\n";
//var_dump($server->get_debug());
if ($raw !== false) {
$xml = new SimpleXMLElement($raw);
foreach($xml->addressbook_element as $response) {
if ($gal_url !== false) {
if (strcmp(urldecode($response->url), $gal_url) == 0) {
echo sprintf("BackendCardDAV::discoverAddressbooks() Ignoring GAL addressbook '%s'\n", $this->gal_url);
continue;
}
}
echo sprintf("BackendCardDAV::discoverAddressbooks() Found addressbook '%s'\n", urldecode($response->url));
}
unset($xml);
}
//$server->enable_debug();
$server->set_url($default_url);
$vcards = $server->do_sync(true, false, false);
//var_dump($server->get_debug());
echo "$vcards\n";
echo "-----------\n";
//$server->enable_debug();
// TODO: set to an existing vcard ID (you will get a list with the do_sync operation
$xml = $server->get_xml_vcard('131-52C19B00-7-7A512880');
//var_dump($server->get_debug());
echo "$xml\n";
?>