]> source.dussan.org Git - nextcloud-server.git/commitdiff
Delete addressbooks of deleted users
authorJakob Sack <kde@jakobsack.de>
Wed, 10 Aug 2011 12:28:14 +0000 (14:28 +0200)
committerJakob Sack <kde@jakobsack.de>
Wed, 10 Aug 2011 12:28:14 +0000 (14:28 +0200)
apps/contacts/appinfo/app.php
apps/contacts/lib/hooks.php [new file with mode: 0644]

index 7ff472652561bc440537b07616b0749429c0ff11..30aa0e1aaa1b2192fd0f3483af0058d13ea3daa1 100644 (file)
@@ -1,7 +1,9 @@
 <?php
 
 OC::$CLASSPATH['OC_Contacts_Addressbook'] = 'apps/contacts/lib/addressbook.php';
+OC::$CLASSPATH['OC_Contacts_Hooks'] = 'apps/contacts/lib/hooks.php';
 OC::$CLASSPATH['OC_Connector_Sabre_CardDAV'] = 'apps/contacts/lib/connector_sabre.php';
+OC_HOOK::connect('OC_User', 'post_createUser', 'OC_Contacts_Hooks', 'deleteUser');
 
 OC_App::register( array( 
   'order' => 10,
@@ -14,5 +16,3 @@ OC_App::addNavigationEntry( array(
   'href' => OC_Helper::linkTo( 'contacts', 'index.php' ),
   'icon' => OC_Helper::imagePath( 'contacts', 'icon.png' ),
   'name' => 'Contacts' ));
-
-?>
diff --git a/apps/contacts/lib/hooks.php b/apps/contacts/lib/hooks.php
new file mode 100644 (file)
index 0000000..70f1fe1
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+/**
+ * ownCloud - Addressbook
+ *
+ * @author Jakob Sack
+ * @copyright 2011 Jakob Sack mail@jakobsack.de
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/**
+ * This class contains all hooks.
+ */
+class OC_Contacts_Hooks{
+       /**
+        * @brief Deletes all Addressbooks of a certain user
+        * @param paramters parameters from postDeleteUser-Hook
+        * @return array
+        */
+       public function deleteUser($parameters) {
+               $addressbooks = OC_Contacts_Addressbook::allAddressbooks($parameters['uid']);
+               
+               foreach($addressbooks as $addressbook) {
+                       OC_Contacts_Addressbook::deleteAddressbook($addressbook['id']);
+               }
+
+               return true;
+       }
+}