cmxx - Improved login
This commit is contained in:
194
login.php
194
login.php
@@ -1,14 +1,48 @@
|
||||
<?php ini_set('display_errors', '1');
|
||||
ini_set('display_startup_errors', '1');
|
||||
error_reporting(E_ALL);
|
||||
<?php
|
||||
|
||||
ini_set('display_errors', '1');
|
||||
ini_set('display_startup_errors', '1');
|
||||
error_reporting(E_ALL);
|
||||
|
||||
include './assets/functions.php';
|
||||
include './settings/settings_redirector.php';
|
||||
include './settings/config_redirector.php';
|
||||
include_once './settings/translations/translations_US.php';
|
||||
|
||||
if (session_status() == PHP_SESSION_NONE) {
|
||||
session_start();
|
||||
}
|
||||
|
||||
//=========================================
|
||||
//GET Language
|
||||
//=========================================
|
||||
if (isset($_GET['language']) && $_GET['language'] !=''){
|
||||
//INCLUDE LANGUAGE FILE
|
||||
$api_file_language = './settings/translations/translations_'.strtoupper($_GET['language']).'.php';
|
||||
if (file_exists($api_file_language)){
|
||||
include $api_file_language; //Include the code
|
||||
//DEFINE LANGUAGE
|
||||
$_SESSION['country_code'] = trim($_GET['language']);
|
||||
}
|
||||
else {
|
||||
include './settings/translations/translations_US.php';
|
||||
//DEFINE LANGUAGE
|
||||
$_SESSION['country_code'] = 'US';
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($_SESSION['country_code'])){
|
||||
$api_file_language = './settings/translations/translations_'.strtoupper($_SESSION['country_code']).'.php';
|
||||
if (file_exists($api_file_language)){
|
||||
include $api_file_language; //Include the code
|
||||
}
|
||||
else {
|
||||
include './settings/translations/translations_US.php';
|
||||
}
|
||||
}
|
||||
//=========================================
|
||||
//GET DOMAIN FOR CORRECT STYLING AND SETTINGS
|
||||
//=========================================
|
||||
|
||||
$domain = getDomainName($_SERVER['SERVER_NAME']);
|
||||
$custom_css = (file_exists(dirname(__FILE__).'/style/'.$domain.'/'.$domain.'_login.css') ? './style/'.$domain.'/'.$domain.'_login.css' : './style/admin_login.css');
|
||||
|
||||
@@ -28,14 +62,14 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
|
||||
// Check if username is empty
|
||||
if(empty(trim($_POST['username']))){
|
||||
$username_err = 'Please enter username.';
|
||||
$username_err = $username_enter ?? 'Please enter username' ;
|
||||
} else{
|
||||
$username = trim($_POST['username']);
|
||||
}
|
||||
|
||||
// Check if password is empty
|
||||
if(empty(trim($_POST['password']))){
|
||||
$password_err = 'Please enter your password.';
|
||||
$password_err = $password_enter ?? 'Please enter your password';
|
||||
} else{
|
||||
$password = trim($_POST['password']);
|
||||
}
|
||||
@@ -52,9 +86,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
|
||||
if ($responses === 'NOK'){
|
||||
$retry++;
|
||||
$password_err = 'Not authorized, please retry';
|
||||
$password_err = $password_err_1 ?? 'Not authorized, please retry';
|
||||
} elseif ($responses == '1'){
|
||||
$password_err = 'Too many login attempts. User blocked, please contact your administrator';
|
||||
$password_err = $password_err_2 ?? 'Too many login attempts. User blocked, please contact your administrator';
|
||||
} else {
|
||||
// Start a new session
|
||||
session_start();
|
||||
@@ -86,7 +120,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
}
|
||||
else {
|
||||
// Display an error for passord mismatch
|
||||
$password_err = 'Not authorized';
|
||||
$password_err = $password_err_3 ?? 'Not authorized';
|
||||
}
|
||||
}
|
||||
echo'
|
||||
@@ -101,66 +135,92 @@ echo'
|
||||
<body>
|
||||
';
|
||||
|
||||
//Maintenance mode notification message
|
||||
if (maintenance_mode_communication){
|
||||
echo'
|
||||
<p style="text-align: center;">
|
||||
<small>'.maintenance_mode_notification.'</small>
|
||||
</p>';
|
||||
}
|
||||
|
||||
//Logon view
|
||||
echo'
|
||||
<div class="logon">
|
||||
<div class="logon_center" style="position: static;">
|
||||
<div id="imagelogon"></div>
|
||||
<div class="login-box">
|
||||
<small style="color:#fff;">'.site_title.'</small>
|
||||
<h1>'.site_name.'</h1>
|
||||
';
|
||||
<div class="login-container">
|
||||
<div class="login-form">
|
||||
<div class="logo"></div>
|
||||
<a href="#" class="register-link"></a>';
|
||||
|
||||
if (maintenance_mode)
|
||||
{
|
||||
//Maintenance mode is on => Show maintenance mode text
|
||||
echo '
|
||||
<div class="message">
|
||||
<p>'.maintenance_mode_text.'</p>
|
||||
</div>
|
||||
';
|
||||
|
||||
if (maintenance_mode)
|
||||
{
|
||||
//Maintenance mode is on => Show maintenance mode text
|
||||
echo '
|
||||
<p style="margin-top: 10%;color: white;">'.maintenance_mode_text.'</p>
|
||||
';
|
||||
} else {
|
||||
//Maintenance mode is off => Show login
|
||||
echo '
|
||||
<form style="margin-top:15px;" action="'.$_SERVER['PHP_SELF'].'" method="POST">
|
||||
<input type="text" id="username" name="username" placeholder="Username" value="'; echo $username; echo '" autofocus>
|
||||
<input type="password" id="password" name="password" placeholder="Password" value="'; echo $password; echo '">
|
||||
<div id="reset"><a href="reset.php">'.$button2.'</a></div>
|
||||
<input type="submit" value="'.$button1.'">
|
||||
</form>
|
||||
<div id="message"><p>'.$username_err.''.$password_err.'<p></div>';
|
||||
}
|
||||
echo '
|
||||
|
||||
</div>';
|
||||
// -----------------------
|
||||
//DISPLAY REDIRECT SLIDER
|
||||
/* -----------------------
|
||||
echo '
|
||||
<section title="">
|
||||
<div class="slider-checkbox">
|
||||
<input id="my-check-box" type="checkbox" onchange="location.href=\'https://legacy.veliti.nl\'"/>
|
||||
<label for="my-check-box">
|
||||
<span id="ball"></span>
|
||||
</label>
|
||||
</div>
|
||||
<p style="text-align:center;margin-top:-20px;color:#ffffff7a;font-size:12px;">use legacy portal</p>
|
||||
</section>
|
||||
';
|
||||
// -----------------------
|
||||
// END - REDIRECT SLIDER
|
||||
// -----------------------
|
||||
*/
|
||||
echo '
|
||||
} else {
|
||||
//Maintenance mode is off => Show login
|
||||
echo '
|
||||
<div class="header">
|
||||
<h1>'.($login_h1 ?? 'Login to your account').'</h1>
|
||||
<p>'.($login_p ?? 'Enter your details to login.').'</p>
|
||||
</div>
|
||||
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
|
||||
<div class="input-group">
|
||||
<input type="text" id="username" name="username" placeholder="'.($User_username ?? 'Username').'" value="'.$username.'" autofocus>
|
||||
</div>
|
||||
|
||||
<div class="input-group">
|
||||
<input type="password" id="password" name="password" placeholder="'.($account_create_password ?? 'Password').'" value="'.$password.'">
|
||||
<a href="reset.php'.(isset($_GET['language'])? '?language='.$_GET['language'].'' : '').'" class="forgot-password">'.($button2 ?? 'Forgot password?').'</a>
|
||||
</div>
|
||||
|
||||
<div class="remember-me">
|
||||
<label for="remember-me"></label>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="login-btn">'.($button1 ?? 'Login').'</button>
|
||||
</form>';
|
||||
}
|
||||
|
||||
if($password_err !='' || $username_err != ''){
|
||||
echo'
|
||||
<div class="message"><p>'.$username_err.''.$password_err.'</p></div>
|
||||
';
|
||||
}
|
||||
//Maintenance mode notification message
|
||||
if (maintenance_mode_communication){
|
||||
echo'
|
||||
<div class="maintenance">
|
||||
<p style="text-align: center;">
|
||||
<small>'.maintenance_mode_notification.'</small>
|
||||
</p>
|
||||
</div>';
|
||||
}
|
||||
|
||||
echo'
|
||||
<div class="trademark">'.site_title.'</div>
|
||||
<div class="language-selector">
|
||||
<span>🌐</span>
|
||||
<select id="language-selector">
|
||||
<option value="US" '.((isset($_SESSION['country_code']) && $_SESSION['country_code'] == 'US') ? 'selected' : '').'>US</option>
|
||||
<option value="NL" '.((isset($_SESSION['country_code']) && $_SESSION['country_code'] == 'NL') ? 'selected' : '').'>NL</option>
|
||||
<option value="ES" '.((isset($_SESSION['country_code']) && $_SESSION['country_code'] == 'ES') ? 'selected' : '').'>ES</option>
|
||||
<option value="PT" '.((isset($_SESSION['country_code']) && $_SESSION['country_code'] == 'PT') ? 'selected' : '').'>PT</option>
|
||||
<option value="DE" '.((isset($_SESSION['country_code']) && $_SESSION['country_code'] == 'DE') ? 'selected' : '').'>DE</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="login-visual">
|
||||
<img src="https://dev.veliti.nl/assets/images/emergencyplug-auto-in-licht.jpg" alt="Login Visual">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
';
|
||||
?>
|
||||
<script>
|
||||
document.getElementById(\'language-selector\').addEventListener(\'change\', function() {
|
||||
if (this.value) {
|
||||
// Get the current URL
|
||||
let currentUrl = window.location.pathname;
|
||||
|
||||
// Append the selected value as a query parameter
|
||||
window.location.href = `${currentUrl}?language=${this.value}`;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</html>';
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user