]> source.dussan.org Git - nextcloud-server.git/commitdiff
add post user delete hook for calendar sharing
authorGeorg Ehrke <dev@georgswebsite.de>
Sun, 13 May 2012 18:03:27 +0000 (20:03 +0200)
committerGeorg Ehrke <dev@georgswebsite.de>
Sun, 13 May 2012 18:03:52 +0000 (20:03 +0200)
apps/calendar/lib/hooks.php
apps/calendar/lib/share.php

index 22e8d8e20f28257bc1c6e7c31401546b2a9d693a..328d2951d231cde4669accd7da609c5b730a1449 100644 (file)
@@ -22,6 +22,8 @@ class OC_Calendar_Hooks{
                        OC_Calendar_Calendar::deleteCalendar($calendar['id']);
                }
 
+               OC_Calendar_Share::post_userdelete($parameters['uid']);
+
                return true;
        }
 }
index 488495aefc424e02b6138d1eaa5ec7771585e547..54c531892f05b3c095b83022a6619fbab2fc91fb 100755 (executable)
@@ -256,4 +256,21 @@ class OC_Calendar_Share{
                        $stmt = OCP\DB::prepare("UPDATE *PREFIX*calendar_share_calendar SET active = ? WHERE share = ? AND sharetype = 'user' AND calendarid = ?");
                        $stmt->execute(array($active, $share, $id));
                }
+
+               /*
+                * @brief delete all shared calendars / events after a user was deleted
+                * @param (string) $userid
+                * @return (bool)
+                */
+               public static function post_userdelete($userid){                        
+                       $stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_calendar WHERE owner = ?');
+                       $stmt->execute(array($userid));
+                       $stmt = OCP\DB::prepare('DELETE FROM *PREFIX*calendar_share_event WHERE owner = ?');
+                       $stmt->execute(array($userid));
+                       $stmt = OCP\DB::prepare("DELETE FROM *PREFIX*calendar_share_calendar WHERE share = ? AND sharetype = 'user'");
+                       $stmt->execute(array($userid));
+                       $stmt = OCP\DB::prepare("DELETE FROM *PREFIX*calendar_share_event WHERE share = ? AND sharetype = 'user'");
+                       $stmt->execute(array($userid));
+                       return true;
+               }
 }
\ No newline at end of file