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%');
 }
Esempio n. 2
0
     $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');
Esempio n. 3
0
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();
                    }
                }
            }
        }
    }
}