Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Sack <kde@jakobsack.de>2011-08-10 16:28:14 +0400
committerJakob Sack <kde@jakobsack.de>2011-08-10 16:28:14 +0400
commitc4931cff3427a56deeeffe9bab536728593119d4 (patch)
tree8e6eed06e5eac2eab9f106cf46f5cdc325b7bcf9 /apps/contacts
parent1f1498ceca51c5b30130b80a59c00c1b37dc7009 (diff)
Delete addressbooks of deleted users
Diffstat (limited to 'apps/contacts')
-rw-r--r--apps/contacts/appinfo/app.php4
-rw-r--r--apps/contacts/lib/hooks.php41
2 files changed, 43 insertions, 2 deletions
diff --git a/apps/contacts/appinfo/app.php b/apps/contacts/appinfo/app.php
index 7ff47265256..30aa0e1aaa1 100644
--- a/apps/contacts/appinfo/app.php
+++ b/apps/contacts/appinfo/app.php
@@ -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
index 00000000000..70f1fe18518
--- /dev/null
+++ b/apps/contacts/lib/hooks.php
@@ -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;
+ }
+}