1
0
mirror of https://github.com/owncloudarchive/contacts.git synced 2025-02-07 01:54:16 +01:00

Contacts: Properly namespace VObject subclasses.

This commit is contained in:
Thomas Tanghus 2013-03-05 11:36:35 +01:00
parent ac19b7f0f3
commit 99e8f5b5f6
5 changed files with 21 additions and 20 deletions

View File

@ -6,8 +6,8 @@ OC::$CLASSPATH['OCA\Contacts\Hooks'] = 'contacts/lib/hooks.php';
OC::$CLASSPATH['OCA\Contacts\Share_Backend_Contact'] = 'contacts/lib/share/contact.php'; OC::$CLASSPATH['OCA\Contacts\Share_Backend_Contact'] = 'contacts/lib/share/contact.php';
OC::$CLASSPATH['OCA\Contacts\Share_Backend_Addressbook'] = 'contacts/lib/share/addressbook.php'; OC::$CLASSPATH['OCA\Contacts\Share_Backend_Addressbook'] = 'contacts/lib/share/addressbook.php';
OC::$CLASSPATH['OCA\Contacts\AddressbookProvider'] = 'contacts/lib/addressbookprovider.php'; OC::$CLASSPATH['OCA\Contacts\AddressbookProvider'] = 'contacts/lib/addressbookprovider.php';
OC::$CLASSPATH['OCA\Contacts\VCardObject'] = 'contacts/lib/sabre/vcard.php'; OC::$CLASSPATH['OCA\Contacts\VObject\VCard'] = 'contacts/lib/vobject/vcard.php';
OC::$CLASSPATH['OCA\Contacts\StringProperty'] = 'contacts/lib/sabre/stringproperty.php'; OC::$CLASSPATH['OCA\Contacts\VObject\StringProperty'] = 'contacts/lib/vobject/stringproperty.php';
OC::$CLASSPATH['OCA\Contacts\CardDAV\Backend'] = 'contacts/lib/sabre/backend.php'; OC::$CLASSPATH['OCA\Contacts\CardDAV\Backend'] = 'contacts/lib/sabre/backend.php';
OC::$CLASSPATH['OCA\Contacts\CardDAV\Plugin'] = 'contacts/lib/sabre/plugin.php'; OC::$CLASSPATH['OCA\Contacts\CardDAV\Plugin'] = 'contacts/lib/sabre/plugin.php';
OC::$CLASSPATH['OCA\Contacts\CardDAV\AddressBookRoot'] = 'contacts/lib/sabre/addressbookroot.php'; OC::$CLASSPATH['OCA\Contacts\CardDAV\AddressBookRoot'] = 'contacts/lib/sabre/addressbookroot.php';
@ -16,16 +16,16 @@ OC::$CLASSPATH['OCA\Contacts\CardDAV\AddressBook'] = 'contacts/lib/sabre/address
OC::$CLASSPATH['OCA\Contacts\CardDAV\Card'] = 'contacts/lib/sabre/card.php'; OC::$CLASSPATH['OCA\Contacts\CardDAV\Card'] = 'contacts/lib/sabre/card.php';
OC::$CLASSPATH['OCA\Contacts\SearchProvider'] = 'contacts/lib/search.php'; OC::$CLASSPATH['OCA\Contacts\SearchProvider'] = 'contacts/lib/search.php';
require_once __DIR__ . '/../lib/sabre/vcard.php'; require_once __DIR__ . '/../lib/vobject/vcard.php';
//require_once __DIR__ . '/../lib/sabre/stringproperty.php'; //require_once __DIR__ . '/../lib/sabre/stringproperty.php';
Sabre\VObject\Component::$classMap['VCARD'] = 'OCA\Contacts\VCardObject'; Sabre\VObject\Component::$classMap['VCARD'] = 'OCA\Contacts\VObject\VCard';
Sabre\VObject\Property::$classMap['FN'] = 'OCA\Contacts\StringProperty'; Sabre\VObject\Property::$classMap['FN'] = 'OCA\Contacts\VObject\StringProperty';
Sabre\VObject\Property::$classMap['NOTE'] = 'OCA\Contacts\StringProperty'; Sabre\VObject\Property::$classMap['NOTE'] = 'OCA\Contacts\VObject\StringProperty';
Sabre\VObject\Property::$classMap['NICKNAME'] = 'OCA\Contacts\StringProperty'; Sabre\VObject\Property::$classMap['NICKNAME'] = 'OCA\Contacts\VObject\StringProperty';
Sabre\VObject\Property::$classMap['EMAIL'] = 'OCA\Contacts\StringProperty'; Sabre\VObject\Property::$classMap['EMAIL'] = 'OCA\Contacts\VObject\StringProperty';
Sabre\VObject\Property::$classMap['TEL'] = 'OCA\Contacts\StringProperty'; Sabre\VObject\Property::$classMap['TEL'] = 'OCA\Contacts\VObject\StringProperty';
Sabre\VObject\Property::$classMap['IMPP'] = 'OCA\Contacts\StringProperty'; Sabre\VObject\Property::$classMap['IMPP'] = 'OCA\Contacts\VObject\StringProperty';
Sabre\VObject\Property::$classMap['URL'] = 'OCA\Contacts\StringProperty'; Sabre\VObject\Property::$classMap['URL'] = 'OCA\Contacts\VObject\StringProperty';
OCP\Util::connectHook('OC_User', 'post_createUser', 'OCA\Contacts\Hooks', 'createUser'); OCP\Util::connectHook('OC_User', 'post_createUser', 'OCA\Contacts\Hooks', 'createUser');
OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OCA\Contacts\Hooks', 'deleteUser'); OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OCA\Contacts\Hooks', 'deleteUser');

View File

@ -146,7 +146,7 @@ foreach($parts as $part) {
} }
} }
try { try {
$vcard->validate(VCardObject::REPAIR|VCardObject::UPGRADE); $vcard->validate(VCard::REPAIR|VCard::UPGRADE);
} catch (\Exception $e) { } catch (\Exception $e) {
OCP\Util::writeLog('contacts', __LINE__ . ' ' . OCP\Util::writeLog('contacts', __LINE__ . ' ' .
'Error validating vcard: ' . $e->getMessage() . $nl . $vcard->serialize(), 'Error validating vcard: ' . $e->getMessage() . $nl . $vcard->serialize(),

View File

@ -30,7 +30,7 @@ use OCA\Contacts;
/** /**
* This class overrides Sabre_CardDAV_Plugin::validateVCard() to be able * This class overrides Sabre_CardDAV_Plugin::validateVCard() to be able
* to import partially invalid vCards by ignoring invalid lines and to * to import partially invalid vCards by ignoring invalid lines and to
* validate and upgrade using \OCA\Contacts\VCardObject. * validate and upgrade using \OCA\Contacts\VCard.
*/ */
class Plugin extends \Sabre_CardDAV_Plugin { class Plugin extends \Sabre_CardDAV_Plugin {
@ -63,7 +63,7 @@ class Plugin extends \Sabre_CardDAV_Plugin {
throw new \Sabre_DAV_Exception_UnsupportedMediaType('This collection can only support vcard objects.'); throw new \Sabre_DAV_Exception_UnsupportedMediaType('This collection can only support vcard objects.');
} }
$vobj->validate(VCardObject::REPAIR|VCardObject::UPGRADE); $vobj->validate(VCard::REPAIR|VCard::UPGRADE);
$data = $vobj->serialize(); $data = $vobj->serialize();
} }
} }

View File

@ -23,7 +23,7 @@
* *
*/ */
namespace OCA\Contacts; namespace OCA\Contacts\VObject;
use Sabre\VObject; use Sabre\VObject;

View File

@ -23,8 +23,9 @@
* *
*/ */
namespace OCA\Contacts; namespace OCA\Contacts\VObject;
use OCA\Contacts;
use Sabre\VObject; use Sabre\VObject;
/** /**
@ -32,7 +33,7 @@ use Sabre\VObject;
* to import partially invalid vCards by ignoring invalid lines and to * to import partially invalid vCards by ignoring invalid lines and to
* validate and upgrade using .... * validate and upgrade using ....
*/ */
class VCardObject extends VObject\Component\VCard { class VCard extends VObject\Component\VCard {
/** /**
* The following constants are used by the validate() method. * The following constants are used by the validate() method.
@ -56,7 +57,7 @@ class VCardObject extends VObject\Component\VCard {
*/ */
protected function formatPropertyTypes(&$property) { protected function formatPropertyTypes(&$property) {
foreach($property->parameters as $key=>&$parameter) { foreach($property->parameters as $key=>&$parameter) {
$types = App::getTypesOfProperty($property->name); $types = Contacts\App::getTypesOfProperty($property->name);
if(is_array($types) && in_array(strtoupper($parameter->name), array_keys($types)) if(is_array($types) && in_array(strtoupper($parameter->name), array_keys($types))
|| strtoupper($parameter->name) == 'PREF') { || strtoupper($parameter->name) == 'PREF') {
unset($property->parameters[$key]); unset($property->parameters[$key]);
@ -98,9 +99,9 @@ class VCardObject extends VObject\Component\VCard {
* Validates the node for correctness. * Validates the node for correctness.
* *
* The following options are supported: * The following options are supported:
* - Node::REPAIR - If something is broken, and automatic repair may * - VCard::REPAIR - If something is broken, and automatic repair may
* be attempted. * be attempted.
* - VCardObject::UPGRADE - If needed the vCard will be upgraded to version 3.0. * - VCard::UPGRADE - If needed the vCard will be upgraded to version 3.0.
* *
* An array is returned with warnings. * An array is returned with warnings.
* *