first commit
This commit is contained in:
246
front/user.form.php
Normal file
246
front/user.form.php
Normal file
@ -0,0 +1,246 @@
|
||||
<?php
|
||||
/**
|
||||
* ---------------------------------------------------------------------
|
||||
* GLPI - Gestionnaire Libre de Parc Informatique
|
||||
* Copyright (C) 2015-2020 Teclib' and contributors.
|
||||
*
|
||||
* http://glpi-project.org
|
||||
*
|
||||
* based on GLPI - Gestionnaire Libre de Parc Informatique
|
||||
* Copyright (C) 2003-2014 by the INDEPNET Development Team.
|
||||
*
|
||||
* ---------------------------------------------------------------------
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This file is part of GLPI.
|
||||
*
|
||||
* GLPI is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* GLPI 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 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/>.
|
||||
* ---------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
use Glpi\Event;
|
||||
|
||||
include ('../inc/includes.php');
|
||||
|
||||
if (empty($_GET["id"])) {
|
||||
$_GET["id"] = "";
|
||||
}
|
||||
|
||||
$user = new User();
|
||||
$groupuser = new Group_User();
|
||||
|
||||
if (empty($_GET["id"]) && isset($_GET["name"])) {
|
||||
|
||||
$user->getFromDBbyName($_GET["name"]);
|
||||
Html::redirect($user->getFormURLWithID($user->fields['id']));
|
||||
}
|
||||
|
||||
if (empty($_GET["name"])) {
|
||||
$_GET["name"] = "";
|
||||
}
|
||||
|
||||
if (isset($_GET['getvcard'])) {
|
||||
if (empty($_GET["id"])) {
|
||||
Html::redirect($CFG_GLPI["root_doc"]."/front/user.php");
|
||||
}
|
||||
$user->check($_GET['id'], READ);
|
||||
$user->generateVcard();
|
||||
|
||||
} else if (isset($_POST["add"])) {
|
||||
$user->check(-1, CREATE, $_POST);
|
||||
|
||||
if (($newID = $user->add($_POST))) {
|
||||
Event::log($newID, "users", 4, "setup",
|
||||
sprintf(__('%1$s adds the item %2$s'), $_SESSION["glpiname"], $_POST["name"]));
|
||||
|
||||
//sophal
|
||||
if (isset($_POST["fonction"])) {
|
||||
$sql1 = "UPDATE `glpi_users` SET `id_fonction` = '".$_POST['fonction']."' WHERE `id` = '".$newID."'";
|
||||
$DB->query($sql1);
|
||||
}
|
||||
if (isset($_POST["structure"])) {
|
||||
$sql1 = "UPDATE `glpi_users` SET `id_structure` = '".$_POST['structure']."' WHERE `id` = '".$newID."'";
|
||||
$DB->query($sql1);
|
||||
}
|
||||
if (isset($_POST["responsable_evaluation"])) {
|
||||
$sql1 = "UPDATE `glpi_users` SET `id_resp_eval` = '".$_POST['responsable_evaluation']."' WHERE `id` = '".$newID."'";
|
||||
$DB->query($sql1);
|
||||
}
|
||||
//sophal
|
||||
|
||||
if ($_SESSION['glpibackcreated']) {
|
||||
Html::redirect($user->getLinkURL());
|
||||
}
|
||||
}
|
||||
Html::back();
|
||||
|
||||
} else if (isset($_POST["delete"])) {
|
||||
$user->check($_POST['id'], DELETE);
|
||||
$user->delete($_POST);
|
||||
Event::log($_POST["id"], "users", 4, "setup",
|
||||
//TRANS: %s is the user login
|
||||
sprintf(__('%s deletes an item'), $_SESSION["glpiname"]));
|
||||
$user->redirectToList();
|
||||
|
||||
} else if (isset($_POST["restore"])) {
|
||||
$user->check($_POST['id'], DELETE);
|
||||
$user->restore($_POST);
|
||||
Event::log($_POST["id"], "users", 4, "setup",
|
||||
//TRANS: %s is the user login
|
||||
sprintf(__('%s restores an item'), $_SESSION["glpiname"]));
|
||||
$user->redirectToList();
|
||||
|
||||
} else if (isset($_POST["purge"])) {
|
||||
$user->check($_POST['id'], PURGE);
|
||||
$user->delete($_POST, 1);
|
||||
Event::log($_POST["id"], "users", 4, "setup",
|
||||
sprintf(__('%s purges an item'), $_SESSION["glpiname"]));
|
||||
$user->redirectToList();
|
||||
|
||||
} else if (isset($_POST["force_ldap_resynch"])) {
|
||||
Session::checkRight('user', User::UPDATEAUTHENT);
|
||||
|
||||
$user->getFromDB($_POST["id"]);
|
||||
AuthLDAP::forceOneUserSynchronization($user);
|
||||
Html::back();
|
||||
|
||||
} else if (isset($_POST["update"])) {
|
||||
$user->check($_POST['id'], UPDATE);
|
||||
$user->update($_POST);
|
||||
|
||||
//sophal
|
||||
if (isset($_POST["fonction"])) {
|
||||
$sql1 = "UPDATE `glpi_users` SET `id_fonction` = '".$_POST['fonction']."' where id ='".$_POST['id']."'";
|
||||
$DB->query($sql1);
|
||||
}
|
||||
if (isset($_POST["structure"])) {
|
||||
$sql1 = "UPDATE `glpi_users` SET `id_structure` = '".$_POST['structure']."' where id ='".$_POST['id']."'";
|
||||
$DB->query($sql1);
|
||||
}
|
||||
if (isset($_POST["responsable_evaluation"])) {
|
||||
$sql1 = "UPDATE `glpi_users` SET `id_resp_eval` = '".$_POST['responsable_evaluation']."' WHERE `id` = '".$_POST['id']."'";
|
||||
$DB->query($sql1);
|
||||
}
|
||||
//sophal
|
||||
|
||||
Event::log($_POST['id'], "users", 5, "setup",
|
||||
//TRANS: %s is the user login
|
||||
sprintf(__('%s updates an item'), $_SESSION["glpiname"]));
|
||||
Html::back();
|
||||
|
||||
} else if (isset($_POST["addgroup"])) {
|
||||
$groupuser->check(-1, CREATE, $_POST);
|
||||
if ($groupuser->add($_POST)) {
|
||||
Event::log($_POST["users_id"], "users", 4, "setup",
|
||||
//TRANS: %s is the user login
|
||||
sprintf(__('%s adds a user to a group'), $_SESSION["glpiname"]));
|
||||
}
|
||||
Html::back();
|
||||
|
||||
} else if (isset($_POST["deletegroup"])) {
|
||||
if (count($_POST["item"])) {
|
||||
foreach (array_keys($_POST["item"]) as $key) {
|
||||
if ($groupuser->can($key, DELETE)) {
|
||||
$groupuser->delete(['id' => $key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
Event::log($_POST["users_id"], "users", 4, "setup",
|
||||
//TRANS: %s is the user login
|
||||
sprintf(__('%s deletes users from a group'), $_SESSION["glpiname"]));
|
||||
Html::back();
|
||||
|
||||
} else if (isset($_POST["change_auth_method"])) {
|
||||
Session::checkRight('user', User::UPDATEAUTHENT);
|
||||
|
||||
if (isset($_POST["auths_id"])) {
|
||||
User::changeAuthMethod([$_POST["id"]], $_POST["authtype"], $_POST["auths_id"]);
|
||||
}
|
||||
Html::back();
|
||||
|
||||
} else if (isset($_POST['language']) && !GLPI_DEMO_MODE) {
|
||||
if (Session::getLoginUserID()) {
|
||||
$user->update(
|
||||
[
|
||||
'id' => Session::getLoginUserID(),
|
||||
'language' => $_POST['language']
|
||||
]
|
||||
);
|
||||
} else {
|
||||
$_SESSION["glpilanguage"] = $_POST['language'];
|
||||
}
|
||||
Session::addMessageAfterRedirect(__('Lang has been changed!'));
|
||||
Html::back();
|
||||
|
||||
} else if (isset($_POST['impersonate']) && $_POST['impersonate']) {
|
||||
|
||||
if (!Session::startImpersonating($_POST['id'])) {
|
||||
Session::addMessageAfterRedirect(__('Unable to impersonate user'), false, ERROR);
|
||||
Html::back();
|
||||
}
|
||||
|
||||
Html::redirect($CFG_GLPI['root_doc'] . '/');
|
||||
|
||||
} else if (isset($_POST['impersonate']) && !$_POST['impersonate']) {
|
||||
|
||||
$impersonated_user_id = Session::getLoginUserID();
|
||||
|
||||
if (!Session::stopImpersonating()) {
|
||||
Session::addMessageAfterRedirect(__('Unable to stop impersonating user'), false, ERROR);
|
||||
Html::back();
|
||||
}
|
||||
|
||||
Html::redirect(User::getFormURLWithID($impersonated_user_id));
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
|
||||
if (isset($_GET["ext_auth"])) {
|
||||
Html::header(User::getTypeName(Session::getPluralNumber()), '', "admin", "user");
|
||||
User::showAddExtAuthForm();
|
||||
Html::footer();
|
||||
} else if (isset($_POST['add_ext_auth_ldap'])) {
|
||||
Session::checkRight("user", User::IMPORTEXTAUTHUSERS);
|
||||
|
||||
if (isset($_POST['login']) && !empty($_POST['login'])) {
|
||||
AuthLDAP::importUserFromServers(['name' => $_POST['login']]);
|
||||
}
|
||||
Html::back();
|
||||
} else if (isset($_POST['add_ext_auth_simple'])) {
|
||||
if (isset($_POST['login']) && !empty($_POST['login'])) {
|
||||
Session::checkRight("user", User::IMPORTEXTAUTHUSERS);
|
||||
$input = ['name' => $_POST['login'],
|
||||
'_extauth' => 1,
|
||||
'add' => 1];
|
||||
$user->check(-1, CREATE, $input);
|
||||
$newID = $user->add($input);
|
||||
Event::log($newID, "users", 4, "setup",
|
||||
sprintf(__('%1$s adds the item %2$s'), $_SESSION["glpiname"],
|
||||
$_POST["login"]));
|
||||
}
|
||||
|
||||
Html::back();
|
||||
} else {
|
||||
Session::checkRight("user", READ);
|
||||
Html::header(User::getTypeName(Session::getPluralNumber()), '', "admin", "user");
|
||||
$user->display([
|
||||
'id' => $_GET["id"],
|
||||
'formoptions' => "data-track-changes=true"
|
||||
]);
|
||||
Html::footer();
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user