Add Event share backend

This commit is contained in:
Bart Visscher 2012-08-07 23:27:06 +02:00
parent b287b11ff2
commit 1e644b5a53
2 changed files with 42 additions and 0 deletions

View File

@ -11,6 +11,7 @@ OC::$CLASSPATH['OC_Search_Provider_Calendar'] = 'apps/calendar/lib/search.php';
OC::$CLASSPATH['OC_Calendar_Export'] = 'apps/calendar/lib/export.php';
OC::$CLASSPATH['OC_Calendar_Import'] = 'apps/calendar/lib/import.php';
OC::$CLASSPATH['OC_Share_Backend_Calendar'] = 'apps/calendar/lib/share/calendar.php';
OC::$CLASSPATH['OC_Share_Backend_Event'] = 'apps/calendar/lib/share/event.php';
//General Hooks
OCP\Util::connectHook('OC_User', 'post_createUser', 'OC_Calendar_Hooks', 'createUser');
OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OC_Calendar_Hooks', 'deleteUser');
@ -37,3 +38,4 @@ OCP\App::addNavigationEntry( array(
OCP\App::registerPersonal('calendar', 'settings');
OC_Search::registerProvider('OC_Search_Provider_Calendar');
OCP\Share::registerBackend('calendar', 'OC_Share_Backend_Calendar');
OCP\Share::registerBackend('event', 'OC_Share_Backend_Event');

View File

@ -0,0 +1,40 @@
<?php
/**
* Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
class OC_Share_Backend_Event implements OCP\Share_Backend {
const FORMAT_EVENT = 0;
private static $event;
public function isValidSource($itemSource, $uidOwner) {
self::$event = OC_Calendar_Object::find($itemSource);
if (self::$event) {
return true;
}
return false;
}
public function generateTarget($itemSource, $shareWith, $exclude = null) {
// TODO Get default calendar and check for conflicts
return self::$event['summary'];
}
public function formatItems($items, $format, $parameters = null) {
$events = array();
if ($format == self::FORMAT_EVENT) {
foreach ($items as $item) {
$event = OC_Calendar_Object::find($item['item_source']);
$event['summary'] = $item['item_target'];
$events[] = $event;
}
}
return $events;
}
}