Files
MYSOPHAL/index.php
2025-08-07 13:15:31 +01:00

240 lines
8.1 KiB
PHP

<?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/>.
* ---------------------------------------------------------------------
*/
// Check PHP version not to have trouble
// Need to be the very fist step before any include
if (version_compare(PHP_VERSION, '7.2.0') < 0) {
die('PHP >= 7.2.0 required');
}
use Glpi\Event;
//Load GLPI constants
define('GLPI_ROOT', __DIR__);
include (GLPI_ROOT . "/inc/based_config.php");
define('DO_NOT_CHECK_HTTP_REFERER', 1);
// If config_db doesn't exist -> start installation
if (!file_exists(GLPI_CONFIG_DIR . "/config_db.php")) {
Html::redirect("install/install.php");
die();
} else {
$TRY_OLD_CONFIG_FIRST = true;
include (GLPI_ROOT . "/inc/includes.php");
$_SESSION["glpicookietest"] = 'testcookie';
// For compatibility reason
if (isset($_GET["noCAS"])) {
$_GET["noAUTO"] = $_GET["noCAS"];
}
if (!isset($_GET["noAUTO"])) {
Auth::redirectIfAuthenticated();
}
Auth::checkAlternateAuthSystems(true, isset($_GET["redirect"])?$_GET["redirect"]:"");
// Send UTF8 Headers
header("Content-Type: text/html; charset=UTF-8");
// Start the page
echo "<!DOCTYPE html>\n";
echo "<html lang=\"{$CFG_GLPI["languages"][$_SESSION['glpilanguage']][3]}\" class='loginpage'>";
echo '<head><title>'.__('GLPI - Authentication').'</title>'."\n";
echo '<meta charset="utf-8"/>'."\n";
echo "<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n";
echo '<link rel="shortcut icon" type="images/x-icon" href="'.$CFG_GLPI["root_doc"].
'/pics/favicon.ico" />';
// auto desktop / mobile viewport
echo "<meta name='viewport' content='width=device-width, initial-scale=1'/>";
// Appel CSS
echo Html::scss('css/styles');
if (isset($_SESSION['glpihighcontrast_css']) && $_SESSION['glpihighcontrast_css']) {
echo Html::scss('css/highcontrast');
}
$theme = isset($_SESSION['glpipalette']) ? $_SESSION['glpipalette'] : 'auror';
echo Html::scss('css/palettes/' . $theme);
// external libs CSS
echo Html::css('public/lib/base.css');
// Custom CSS for root entity
$entity = new Entity();
$entity->getFromDB('0');
echo $entity->getCustomCssTag();
// CFG
echo Html::getCoreVariablesForJavascript();
echo Html::script("public/lib/base.js");
echo Html::script("public/lib/fuzzy.js");
echo Html::script('js/common.js');
echo "</head>";
echo "<body >";
//echo "<body style='background-image: linear-gradient(to left bottom, #0053a0, #0061ac, #006fb7, #007dc2, #008bcc, #0093cc, #009acb, #00a1c9, #00a2b8, #00a19b, #009d74, #129747); background-repeat: no-repeat;'>";
echo "<body style='background: url(/pics/back.png); background-size: cover; width: 100%; height : 400px; background-repeat: no-repeat;'>";
// echo "<img src='/glpidev/pics/back.png' alt='GLPI' title='GLPI' style='width: 100%; height : 600px;' />";
echo "<div id='firstboxlogin' style='width: 380px; margin: 0 auto; border-radius: 4px;'>";
echo "<h1 id='logo_login'><img src='".$CFG_GLPI['root_doc']."/pics/login_logo_glpi.png' alt='GLPI' title='GLPI' style='width: 100px;' /></h1>";
echo "<div id='text-login'>";
echo nl2br(Toolbox::unclean_html_cross_side_scripting_deep($CFG_GLPI['text_login']));
echo "</div>";
echo "<div id='boxlogin'>";
echo "<form action='".$CFG_GLPI["root_doc"]."/front/login.php' method='post'>";
$_SESSION['namfield'] = $namfield = uniqid('fielda');
$_SESSION['pwdfield'] = $pwdfield = uniqid('fieldb');
$_SESSION['rmbfield'] = $rmbfield = uniqid('fieldc');
// Other CAS
if (isset($_GET["noAUTO"])) {
echo "<input type='hidden' name='noAUTO' value='1' />";
}
// redirect to ticket
if (isset($_GET["redirect"])) {
Toolbox::manageRedirect($_GET["redirect"]);
echo '<input type="hidden" name="redirect" value="'.Html::entities_deep($_GET['redirect']).'"/>';
}
echo '<p class="login_input" id="login_input_name">
<label for="login_name" class="sr-only">'.__('Login').'</label>
<input type="text" name="'.$namfield.'" id="login_name" required="required"
placeholder="'.__('Login').'" autofocus="autofocus" />
</p>';
echo '<p class="login_input" id="login_input_password">
<label for="login_password" class="sr-only">'.__('Password').'</label>
<input type="password" name="'.$pwdfield.'" id="login_password" required="required"
placeholder="'.__('Password').'" />
</p>';
if (GLPI_DEMO_MODE) {
//lang selector
echo '<p class="login_input" id="login_lang">';
Dropdown::showLanguages(
'language', [
'display_emptychoice' => true,
'emptylabel' => __('Default (from user profile)'),
'width' => '100%'
]
);
echo '</p>';
}
// Add dropdown for auth (local, LDAPxxx, LDAPyyy, imap...)
if ($CFG_GLPI['display_login_source']) {
Auth::dropdownLogin();
}
if ($CFG_GLPI["login_remember_time"]) {
echo '<p class="login_input">
<label for="login_remember">
<input type="checkbox" name="'.$rmbfield.'" id="login_remember"
'.($CFG_GLPI['login_remember_default']?'checked="checked"':'').' />
'.__('Remember me').'</label>
</p>';
}
echo '<p class="login_input">
<input type="submit" name="submit" value="'._sx('button', 'Post').'" class="submit" />
</p>';
if ($CFG_GLPI["notifications_mailing"]
&& countElementsInTable(
'glpi_notifications', [
'itemtype' => 'User',
'event' => 'passwordforget',
'is_active' => 1
])
) {
echo '<a id="forget" href="front/lostpassword.php?lostpassword=1">'.
__('Forgotten password?').'</a>';
}
Html::closeForm();
$js = "$(function() {
$('#login_name').focus();
});";
echo Html::scriptBlock($js);
echo "</div>"; // end login box
echo "<div class='error'>";
echo "<noscript><p>";
echo __('You must activate the JavaScript function of your browser');
echo "</p></noscript>";
if (isset($_GET['error']) && isset($_GET['redirect'])) {
switch ($_GET['error']) {
case 1 : // cookie error
echo __('You must accept cookies to reach this application');
break;
case 2 : // GLPI_SESSION_DIR not writable
echo __('Checking write permissions for session files');
break;
case 3 :
echo __('Invalid use of session ID');
break;
}
}
echo "</div>";
// Display FAQ is enable
if ($CFG_GLPI["use_public_faq"]) {
echo '<div id="box-faq">'.
'<a href="front/helpdesk.faq.php">[ '.'Gestion de la terminologie'/*__('Access to the Frequently Asked Questions')*/.' ]';
echo '</a></div>';
}
echo "<div id='display-login'>";
Plugin::doHook('display_login');
echo "</div>";
echo "</div>"; // end contenu login
//echo "<div id='footer-login' class='home'>" . Html::getCopyrightMessage(false) . "</div>";
}
// call cron
if (!GLPI_DEMO_MODE) {
CronTask::callCronForce();
}
echo "</body></html>";