]> source.dussan.org Git - nextcloud-server.git/commitdiff
add some hooks to fix calendar sharing
authorGeorg Ehrke <dev@georgswebsite.de>
Fri, 29 Jun 2012 15:26:29 +0000 (17:26 +0200)
committerGeorg Ehrke <dev@georgswebsite.de>
Fri, 29 Jun 2012 15:27:29 +0000 (17:27 +0200)
apps/calendar/appinfo/app.php
apps/calendar/lib/share.php

index f1f2a26d87d476205cf944935881757634038308..c9e0f14d7a584c54c12d741fc426f53e375cc61c 100644 (file)
@@ -8,12 +8,17 @@ OC::$CLASSPATH['OC_Connector_Sabre_CalDAV'] = 'apps/calendar/lib/connector_sabre
 OC::$CLASSPATH['OC_Calendar_Repeat'] = 'apps/calendar/lib/repeat.php';
 OC::$CLASSPATH['OC_Calendar_Share'] = 'apps/calendar/lib/share.php';
 OC::$CLASSPATH['OC_Search_Provider_Calendar'] = 'apps/calendar/lib/search.php';
+//General Hooks
 OCP\Util::connectHook('OC_User', 'post_deleteUser', 'OC_Calendar_Hooks', 'deleteUser');
+//Repeating Events Hooks
 OCP\Util::connectHook('OC_Calendar', 'addEvent', 'OC_Calendar_Repeat', 'generate');
 OCP\Util::connectHook('OC_Calendar', 'editEvent', 'OC_Calendar_Repeat', 'update');
 OCP\Util::connectHook('OC_Calendar', 'deleteEvent', 'OC_Calendar_Repeat', 'clean');
 OCP\Util::connectHook('OC_Calendar', 'moveEvent', 'OC_Calendar_Repeat', 'update');
 OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Repeat', 'cleanCalendar');
+//Sharing Hooks
+OCP\Util::connectHook('OC_Calendar', 'deleteEvent', 'OC_Calendar_Share', 'post_eventdelete');
+OCP\Util::connectHook('OC_Calendar', 'deleteCalendar', 'OC_Calendar_Share', 'post_caldelete');
 OCP\Util::addscript('calendar','loader');
 OCP\Util::addscript("3rdparty", "chosen/chosen.jquery.min");
 OCP\Util::addStyle("3rdparty", "chosen/chosen");
index 54c531892f05b3c095b83022a6619fbab2fc91fb..01502f1c6b069062f79d9bad1cc4a3a1c69a326e 100644 (file)
@@ -258,7 +258,7 @@ class OC_Calendar_Share{
                }
 
                /*
-                * @brief delete all shared calendars / events after a user was deleted
+                * @brief deletes all shared calendars / events after a user was deleted
                 * @param (string) $userid
                 * @return (bool)
                 */
@@ -273,4 +273,26 @@ class OC_Calendar_Share{
                        $stmt->execute(array($userid));
                        return true;
                }
+               
+               /*
+                * @brief deletes all shared events of a calendar
+                * @param integer $calid
+                * @return boolean
+                */
+               public static function post_caldelete($calid){
+                       $stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_calendar WHERE calendarid = ?');
+                       $stmt->execute(array($calid));
+                       return true;
+               }
+               
+               /*
+                * @brief deletes all shares of an event
+                * @param integer $eventid
+                * @return boolean
+                */
+               public static function post_eventdelete($eventid){
+                       $stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_event WHERE eventid = ?');
+                       $stmt->execute(array($eventid));
+                       return true;
+               }
 }
\ No newline at end of file