コード例 #1
0
ファイル: server.php プロジェクト: aternatik/cdav
    global $user;
    if (!isset($user->login) || $user->login == '') {
        return false;
    }
    if ($user->societe_id != 0) {
        return false;
    }
    if ($user->login != $username) {
        return false;
    }
    if ($user->pass_indatabase_crypted == '' || dol_hash($password) != $user->pass_indatabase_crypted) {
        return false;
    }
    return true;
});
$authBackend->setRealm('Dolibarr');
// The lock manager is reponsible for making sure users don't overwrite
// each others changes.
$lockBackend = new DAV\Locks\Backend\File($dolibarr_main_data_root . '/cdav/.locks');
// Principals Backend
$principalBackend = new DAVACL\PrincipalBackend\Dolibarr($user, $db);
// CardDav & CalDav Backend
$carddavBackend = new Sabre\CardDAV\Backend\Dolibarr($user, $db, $langs);
$caldavBackend = new Sabre\CalDAV\Backend\Dolibarr($user, $db, $langs, $cdavLib);
// Setting up the directory tree //
$nodes = array(new DAVACL\PrincipalCollection($principalBackend), new \Sabre\CardDAV\AddressBookRoot($principalBackend, $carddavBackend), new \Sabre\CalDAV\CalendarRoot($principalBackend, $caldavBackend), new DAV\FS\Directory($dolibarr_main_data_root . '/cdav/public'));
// admin can access all dolibarr documents
if ($user->admin) {
    $nodes[] = new DAV\FS\Directory($dolibarr_main_data_root);
}
// The server object is responsible for making sense out of the WebDAV protocol