/** * @param CAccount $oAccount * @return bool */ public function ClearAllContactsAndGroups($oAccount) { $bResult = false; $this->InitByAccount($oAccount); $oAddressBooks = new \Sabre\CardDAV\UserAddressBooks(\afterlogic\DAV\Backend::Carddav(), $this->Principal); foreach ($oAddressBooks->getChildren() as $oAddressBook) { if ($oAddressBook && $oAddressBook instanceof \Sabre\CardDAV\AddressBook) { try { $oAddressBook->delete(); $bResult = true; } catch (Exception $ex) { CApi::Log($ex->getTraceAsString()); $bResult = false; } } } return $bResult; }