File: /mnt/data/dreamsrent-wp/wp-content/themes/dreamsrent/templates/login-form.php
<?php
/**
* Template Name: Login Template
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages
* and that other 'pages' on your WordPress site will use a
* different template.
*
* @package Dreamsrent
*/
if (is_user_logged_in()) {
$dashboard_page = dreamsrent_fl_framework_getoptions('dashboard_page');
if ((isset($dashboard_page) && $dashboard_page != '')) {
wp_redirect(get_permalink($dashboard_page));
exit();
}
}
$error_message = '';
if ($_POST) {
global $wpdb;
// SQL escape all inputs
$username = $wpdb->escape($_REQUEST['username']);
$password = $wpdb->escape($_REQUEST['password']);
$remember = isset($_REQUEST['remember']) ? $wpdb->escape($_REQUEST['remember']) : false;
if ($remember) {
$remember = "true";
} else {
$remember = "false";
}
if (empty($username) || empty($password)) {
$error_message = 'Username and Password fields are required.';
} else {
$login_data = array();
$login_data['user_login'] = $username;
$login_data['user_password'] = $password;
$login_data['remember'] = $remember;
$user_verify = wp_signon($login_data, false);
if (is_wp_error($user_verify)) {
$error_message = $user_verify->get_error_message();
} else {
wp_set_current_user($user_verify->ID); // optional, for extra safety
$current_user = wp_get_current_user();
if (in_array('administrator', (array) $current_user->roles)) {
wp_redirect(admin_url());
exit;
} elseif (in_array('dreamsrent_vendor', (array) $current_user->roles)) {
wp_redirect(home_url('/vendor-settings'));
exit;
} else {
$dashboard_page = dreamsrent_fl_framework_getoptions('dashboard_page');
if (!empty($dashboard_page)) {
wp_redirect(get_permalink($dashboard_page));
exit;
} else {
wp_redirect(home_url()); // fallback
exit;
}
}
}
}
}
?>
<?php get_template_part('templates/header/header', 'centerlogo'); ?>
<div class="login-wrapper bottom">
<div class="loginbox">
<div class="login-auth">
<div class="login-auth-wrap">
<div class="sign-group">
<!-- <a href="<?php echo esc_url(home_url('/')); ?>" class="btn sign-up"><span><i class="fe feather-corner-down-left" aria-hidden="true"></i></span><?php echo esc_html_e('Back To Home', 'dreamsrent'); ?></a> -->
</div>
<h1><?php echo get_the_title(); ?></h1>
<!-- <p class="account-subtitle"><?php echo esc_html_e('We\'ll send a confirmation code to your email.', 'dreamsrent'); ?></p> -->
<?php if (!empty($error_message)): ?>
<div class="error-message alert alert-danger">
<?php echo wp_kses_post($error_message); ?>
</div>
<?php endif; ?>
<form id="login1" name="form" action="" method="post">
<div class="input-block">
<label class="form-label"><?php echo esc_html_e('Username/E-Mail', 'dreamsrent'); ?> <span class="text-danger"><?php echo esc_html('*'); ?></span></label>
<input type="text" class="form-control" name="username" id="username" required>
</div>
<div class="input-block">
<label class="form-label"><?php echo esc_html_e('Password', 'dreamsrent'); ?> <span class="text-danger">*</span></label>
<div class="pass-group">
<input type="password" class="form-control pass-input" name="password" id="password" required>
<span class="fas fa-eye-slash toggle-password" data-toggle="tooltip" title="Toggle Password"></span>
</div>
</div>
<div class="input-block">
<?php
$forget_page = dreamsrent_fl_framework_getoptions('header_forget_link');
if ((isset($forget_page) && $forget_page != '')) {
?>
<a class="forgot-link" href="<?php echo esc_url(get_permalink($forget_page)); ?>"><?php echo get_the_title($forget_page); ?>?</a>
<?php
}
?>
</div>
<div class="input-block m-0">
<label class="custom_check d-inline-flex"><span><?php echo esc_html_e('Remember me', 'dreamsrent'); ?></span>
<input type="checkbox" name="remember">
<span class="checkmark"></span>
</label>
</div>
<button type="submit" name="login_submit" class="btn btn-outline-light w-100 btn-size mt-1"><?php echo esc_html_e('Sign In', 'dreamsrent'); ?></button>
<div class="text-center dont-have"><?php echo esc_html_e('Don\'t have an account yet?', 'dreamsrent'); ?>
<?php
$register_page = dreamsrent_fl_framework_getoptions('header_register_link');
if ((isset($register_page) && $register_page != '')) {
?>
<a href="<?php echo esc_url(get_permalink($register_page)); ?>"><?php echo get_the_title($register_page); ?></a>
<?php
}
?>
</div>
<?php
$enable_vendor = dreamsrent_fl_framework_getoptions('enable_vendor');
if ((isset($enable_vendor) && $enable_vendor)) {
$av_register_page = dreamsrent_fl_framework_getoptions('av_register_page');
if ((isset($av_register_page) && $av_register_page)) {
?>
<div class="text-center dont-have"><?php echo esc_html_e('Register as Vendor?', 'dreamsrent'); ?>
<a href="<?php echo esc_url(get_permalink($av_register_page)); ?>"><?php echo get_the_title($av_register_page); ?></a>
</div>
<?php
} }
?>
</form>
</div>
</div>
</div>
</div>
<!-- Only for Demo Purpose -->
<style>
.login-info {
margin-top: 20px;
background: #fff;
}
.login-wrap .info-box .badge {
margin: 0;
}
.info-box {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
border: 1px solid #F7F7FF;
margin-bottom: 10px;
text-align: left;
background: #F7F7FF;
border-radius: 10px;
}
.info-box p{
text-align: left;
font-weight: bold;
margin-bottom: 0;
}
.info-box span {
font-weight: normal;
}
.login-wrapper.demo {
padding: 0 !important;
}
.login-wrapper.bottom {
padding-bottom: 0 !important;
}
</style>
<div class="login-wrapper demo">
<div class="loginbox">
<div class="login-auth">
<div class="login-auth-wrap">
<div class="login-or">
<span class="or-line"></span>
<h5 class="span-or">Demo Login </h5>
</div>
<div class="login-info">
<div class="info-box">
<span class="btn btn-dark btn-sm ">Customer</span>
<div>
<p>Username: <span id="user-email">customerdemo</span></p>
<p>Password: <span id="user-password">123456</span></p>
</div>
<button class="fill-btn btn btn-primary btn-sm" onclick="fillLogin('customerdemo', '123456')"><i class="fa fa-copy"></i></button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
// Function to fill email and password fields
function fillLogin(email, password) {
document.getElementById('username').value = email;
document.getElementById('password').value = password;
}
</script>
<?php get_template_part('templates/footer/footer', 'copyright'); ?>