Esempio n. 1
0
 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']);
     $cu = new Change_User();
     $cu->cleanDBonItemDelete($this->getType(), $this->fields['id']);
     $query1 = "DELETE\n                 FROM `glpi_projecttaskteams`\n                 WHERE `items_id` = '" . $this->fields['id'] . "'\n                       AND `itemtype` = '" . __CLASS__ . "'";
     $DB->query($query1);
     $query1 = "DELETE\n                 FROM `glpi_projectteams`\n                 WHERE `items_id` = '" . $this->fields['id'] . "'\n                       AND `itemtype` = '" . __CLASS__ . "'";
     $DB->query($query1);
     $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%');
 }