public function isValidSource($itemSource, $uidOwner) { // TODO: Cache address books. $app = new App($uidOwner); $userAddressBooks = $app->getAddressBooksForUser(); foreach ($userAddressBooks as $addressBook) { if ($addressBook->childExists($itemSource)) { return true; } } return false; }
public static function getCalenderSources($parameters) { //\OCP\Util::writeLog('contacts', __METHOD__.' parameters: '.print_r($parameters, true), \OCP\Util::DEBUG); $app = new App(); $addressBooks = $app->getAddressBooksForUser(); $baseUrl = \OCP\Util::linkTo('calendar', 'ajax/events.php') . '?calendar_id='; foreach ($addressBooks as $addressBook) { $info = $addressBook->getMetaData(); $parameters['sources'][] = array('url' => $baseUrl . 'birthday_' . $info['backend'] . '_' . $info['id'], 'backgroundColor' => '#cccccc', 'borderColor' => '#888', 'textColor' => 'black', 'cache' => true, 'editable' => false); } }
\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'); \OCP\Util::addscript('contacts', 'admin'); \OC_Search::registerProvider('OCA\\Contacts\\Search\\Provider'); //\OCP\Share::registerBackend('contact', 'OCA\Contacts\Share_Backend_Contact'); \OCP\Share::registerBackend('addressbook', 'OCA\\Contacts\\Share\\Addressbook', 'contact'); //\OCP\App::registerPersonal('contacts','personalsettings'); \OCP\App::registerAdmin('contacts', 'admin'); if (\OCP\User::isLoggedIn()) { $app = new App($api->getUserId()); $addressBooks = $app->getAddressBooksForUser(); foreach ($addressBooks as $addressBook) { if ($addressBook->isActive()) { \OCP\Contacts::registerAddressBook($addressBook->getSearchProvider()); } } }