Blame view

sources/apps/contacts/appinfo/app.php 3.23 KB
d1bafeea1   Kload   [fix] Upgrade to ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
  <?php
  
  namespace OCA\Contacts;
  use \OC\AppFramework\Core\API;
  
  //require_once __DIR__ . '/../lib/controller/pagecontroller.php';
  \Sabre\VObject\Component::$classMap['VCARD']	= '\OCA\Contacts\VObject\VCard';
  \Sabre\VObject\Property::$classMap['CATEGORIES'] = 'OCA\Contacts\VObject\GroupProperty';
  \Sabre\VObject\Property::$classMap['FN']		= '\OC\VObject\StringProperty';
  \Sabre\VObject\Property::$classMap['TITLE']		= '\OC\VObject\StringProperty';
  \Sabre\VObject\Property::$classMap['ROLE']		= '\OC\VObject\StringProperty';
  \Sabre\VObject\Property::$classMap['NOTE']		= '\OC\VObject\StringProperty';
  \Sabre\VObject\Property::$classMap['NICKNAME']	= '\OC\VObject\StringProperty';
  \Sabre\VObject\Property::$classMap['EMAIL']		= '\OC\VObject\StringProperty';
  \Sabre\VObject\Property::$classMap['TEL']		= '\OC\VObject\StringProperty';
  \Sabre\VObject\Property::$classMap['IMPP']		= '\OC\VObject\StringProperty';
  \Sabre\VObject\Property::$classMap['URL']		= '\OC\VObject\StringProperty';
  \Sabre\VObject\Property::$classMap['LABEL']		= '\OC\VObject\StringProperty';
  \Sabre\VObject\Property::$classMap['X-EVOLUTION-FILE-AS'] = '\OC\VObject\StringProperty';
  \Sabre\VObject\Property::$classMap['N']			= '\OC\VObject\CompoundProperty';
  \Sabre\VObject\Property::$classMap['ADR']		= '\OC\VObject\CompoundProperty';
  \Sabre\VObject\Property::$classMap['GEO']		= '\OC\VObject\CompoundProperty';
  \Sabre\VObject\Property::$classMap['ORG']		= '\OC\VObject\CompoundProperty';
  
  \OC::$server->getNavigationManager()->add(array(
  	'id' => 'contacts',
  	'order' => 10,
  	'href' => \OCP\Util::linkToRoute('contacts_index'),
  	'icon' => \OCP\Util::imagePath( 'contacts', 'contacts.svg' ),
  	'name' => \OCP\Util::getL10N('contacts')->t('Contacts')
  	)
  );
  
  $api = new API('contacts');
  
  $api->connectHook('OC_User', 'post_createUser', '\OCA\Contacts\Hooks', 'userCreated');
  $api->connectHook('OC_User', 'post_deleteUser', '\OCA\Contacts\Hooks', 'userDeleted');
  $api->connectHook('OCA\Contacts', 'pre_deleteAddressBook', '\OCA\Contacts\Hooks', 'addressBookDeletion');
  $api->connectHook('OCA\Contacts', 'pre_deleteContact', '\OCA\Contacts\Hooks', 'contactDeletion');
  $api->connectHook('OCA\Contacts', 'post_createContact', 'OCA\Contacts\Hooks', 'contactAdded');
  $api->connectHook('OCA\Contacts', 'post_updateContact', '\OCA\Contacts\Hooks', 'contactUpdated');
  $api->connectHook('OCA\Contacts', 'scanCategories', '\OCA\Contacts\Hooks', 'scanCategories');
  $api->connectHook('OCA\Contacts', 'indexProperties', '\OCA\Contacts\Hooks', 'indexProperties');
  $api->connectHook('OC_Calendar', 'getEvents', 'OCA\Contacts\Hooks', 'getBirthdayEvents');
  $api->connectHook('OC_Calendar', 'getSources', 'OCA\Contacts\Hooks', 'getCalenderSources');
  
  \OCP\Util::addscript('contacts', 'loader');
  
  \OC_Search::registerProvider('OCA\Contacts\SearchProvider');
  //\OCP\Share::registerBackend('contact', 'OCA\Contacts\Share_Backend_Contact');
  \OCP\Share::registerBackend('addressbook', 'OCA\Contacts\Share\Addressbook', 'contact');
  //\OCP\App::registerPersonal('contacts','personalsettings');
  
  if(\OCP\User::isLoggedIn()) {
  	$app = new App($api->getUserId());
  	$addressBooks = $app->getAddressBooksForUser();
  	foreach($addressBooks as $addressBook)  {
  		if($addressBook->isActive()) {
  			\OCP\Contacts::registerAddressBook(new AddressbookProvider($addressBook));
  		}
  	}
  }