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%'); }
$change->redirectToList(); } else { if (isset($_POST["purge"])) { $change->check($_POST["id"], 'd'); $change->delete($_POST, 1); Event::log($_POST["id"], "change", 4, "maintain", sprintf(__('%s purges an item'), $_SESSION["glpiname"])); $change->redirectToList(); } else { if (isset($_POST["update"])) { $change->check($_POST["id"], 'w'); $change->update($_POST); Event::log($_POST["id"], "change", 4, "maintain", sprintf(__('%s updates an item'), $_SESSION["glpiname"])); Html::back(); } else { if (isset($_POST['delete_user'])) { $change_user = new Change_User(); $change_user->check($_POST['id'], 'd'); $change_user->delete($_POST); Event::log($_POST['changes_id'], "change", 4, "maintain", sprintf(__('%s deletes an actor'), $_SESSION["glpiname"])); Html::redirect($CFG_GLPI["root_doc"] . "/front/change.form.php?id=" . $_POST['changes_id']); } else { if (isset($_POST['delete_group'])) { $change_group = new Change_Group(); $change_group->check($_POST['id'], 'd'); $change_group->delete($_POST); Event::log($_POST['changes_id'], "change", 4, "maintain", sprintf(__('%s deletes an actor'), $_SESSION["glpiname"])); Html::redirect($CFG_GLPI["root_doc"] . "/front/change.form.php?id=" . $_POST['changes_id']); } else { if (isset($_POST['delete_supplier'])) { $change_supplier = new Change_Supplier(); $change_supplier->check($_POST['id'], 'd');
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GLPI. If not, see <http://www.gnu.org/licenses/>. -------------------------------------------------------------------------- */ /** @file * @brief * @since version 0.85 */ if (!defined('GLPI_ROOT')) { include '../inc/includes.php'; } $link = new Change_User(); $item = new Change(); Session::checkLoginUser(); Html::popHeader(__('Email followup'), $_SERVER['PHP_SELF']); if (isset($_POST["update"])) { $link->check($_POST["id"], UPDATE); $link->update($_POST); echo "<script type='text/javascript' >\n"; echo "window.parent.location.reload();"; echo "</script>"; } else { if (isset($_POST['delete'])) { $link->check($_POST['id'], DELETE); $link->delete($_POST); Event::log($link->fields['changes_id'], "change", 4, "maintain", sprintf(__('%s deletes an actor'), $_SESSION["glpiname"])); if ($item->can($link->fields["changes_id"], READ)) {
$change->redirectToList(); } else { if (isset($_POST["purge"])) { $change->check($_POST["id"], PURGE); $change->delete($_POST, 1); Event::log($_POST["id"], "change", 4, "maintain", sprintf(__('%s purges an item'), $_SESSION["glpiname"])); $change->redirectToList(); } else { if (isset($_POST["update"])) { $change->check($_POST["id"], UPDATE); $change->update($_POST); Event::log($_POST["id"], "change", 4, "maintain", sprintf(__('%s updates an item'), $_SESSION["glpiname"])); Html::back(); } else { if (isset($_POST['addme_assign'])) { $change_user = new Change_User(); $change->check($_POST['changes_id'], READ); $input = array('changes_id' => $_POST['changes_id'], 'users_id' => Session::getLoginUserID(), 'use_notification' => 1, 'type' => CommonITILActor::ASSIGN); $change_user->add($input); Event::log($_POST['changes_id'], "change", 4, "maintain", sprintf(__('%s adds an actor'), $_SESSION["glpiname"])); Html::redirect($CFG_GLPI["root_doc"] . "/front/change.form.php?id=" . $_POST['changes_id']); } else { Html::header(Change::getTypeName(Session::getPluralNumber()), $_SERVER['PHP_SELF'], "helpdesk", "change"); $change->display($_GET); Html::footer(); } } } } } }