function cleanDBonPurge() { global $DB; $query = "DELETE\n FROM `glpi_profiles_users`\n WHERE `users_id` = '" . $this->fields['id'] . "'"; $DB->query($query); if ($this->fields['id'] > 0) { // Security $query = "DELETE\n FROM `glpi_displaypreferences`\n WHERE `users_id` = '" . $this->fields['id'] . "'"; $DB->query($query); $query = "DELETE\n FROM `glpi_bookmarks_users`\n WHERE `users_id` = '" . $this->fields['id'] . "'"; $DB->query($query); } // Delete own reminders $query = "DELETE\n FROM `glpi_reminders`\n WHERE `users_id` = '" . $this->fields['id'] . "'"; $DB->query($query); // Delete private bookmark $query = "DELETE\n FROM `glpi_bookmarks`\n WHERE `users_id` = '" . $this->fields['id'] . "'\n AND `is_private` = '1'"; $DB->query($query); // Set no user to public bookmark $query = "UPDATE `glpi_bookmarks`\n SET `users_id` = '0'\n WHERE `users_id` = '" . $this->fields['id'] . "'"; $DB->query($query); // Set no user to consumables $query = "UPDATE `glpi_consumables`\n SET `items_id` = '0'\n WHERE `items_id` = '" . $this->fields['id'] . "'\n AND `itemtype` = 'User'"; $DB->query($query); $gu = new Group_User(); $gu->cleanDBonItemDelete($this->getType(), $this->fields['id']); $tu = new Ticket_User(); $tu->cleanDBonItemDelete($this->getType(), $this->fields['id']); $pu = new Problem_User(); $pu->cleanDBonItemDelete($this->getType(), $this->fields['id']); $kiu = new KnowbaseItem_User(); $kiu->cleanDBonItemDelete($this->getType(), $this->fields['id']); $ru = new Reminder_User(); $ru->cleanDBonItemDelete($this->getType(), $this->fields['id']); $ue = new UserEmail(); $ue->deleteByCriteria(array('users_id' => $this->fields['id'])); // Ticket rules use various _users_id_* Rule::cleanForItemAction($this, '_users_id%'); Rule::cleanForItemCriteria($this, '_users_id%'); }