<?php
include "conn.php";

$act = $_GET['act'] ?? '';

if ($act == "logout") {
    // Clear all session variables
    addSession('loginid', '');
    addSession('loginuser', '');
    addSession('loginname', '');
    addSession('loginpower', '');
    session_destroy();
}

if ($act == "login") {
    checkPost();
    $loginuser = textEncode($_POST['loginuser'] ?? '');
    $loginpwd = textEncode($_POST['loginpwd'] ?? '');
    $logincode = $_POST['logincode'] ?? '';

    if ($loginuser == "") {
        echo "1";
        exit;
    }
    if ($loginpwd == "") {
        echo "2";
        exit;
    }
    if ($logincode != $_SESSION['zengscode']) {
        echo "3";
        exit;
    }


    $sql = "SELECT id, loginuser, loginpwd, loginstate, loginname, loginlasttime, loginlastip, 
            loginthistime, loginthisip, loginpower, logincount 
            FROM login WHERE loginuser = '" . mysqli_real_escape_string($conn, $loginuser) . "'";
    $result = mysqli_query($conn, $sql);
    
    if (mysqli_num_rows($result) == 0) {
        echo "4";
        exit;
    }
    
    $row = mysqli_fetch_assoc($result);

    if ($row['loginpwd'] != md5($loginpwd)) {
        echo "5";
        exit;
    }
    
    if ($row['loginstate'] < 1) {
        echo "6";
        exit;
    }
    
    // Check power status
    $sql = "SELECT COUNT(powerstate) as count, powerstate FROM power WHERE id = '" . mysqli_real_escape_string($conn, $row['loginpower']) . "' GROUP BY powerstate";
    $result = mysqli_query($conn, $sql);
    $power = mysqli_fetch_assoc($result);
    
    if (!$power || $power['count'] == 0 || $power['powerstate'] == 0) {
        echo "6";
        exit;
    }

    $_SESSION['zengscode'] = "";
    
    // Update login information
    $sql = "UPDATE login SET 
            loginlasttime = loginthistime,
            loginlastip = loginthisip,
            loginthistime = NOW(),
            loginthisip = '" . mysqli_real_escape_string($conn, getIp()) . "',
            logincount = logincount + 1
            WHERE id = '" . mysqli_real_escape_string($conn, $row['id']) . "'";
    mysqli_query($conn, $sql);
    
    // Set session variables

    addSession('loginid', $row['id']);
    addSession('loginuser', $row['loginuser']);
    addSession('loginname', $row['loginname']);
    addSession('loginpower', $row['loginpower']);


    echo "7";
    exit;
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link href="css/loginlayout.css" type="text/css" rel="stylesheet" />
<title><?php echo $webname; ?> - 网站后台管理</title>
<script language="javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="js/loginjs.js"></script>
<style type="text/css">
/* 修复输入框变形问题 */
#loginuser, #loginpwd, #logincode {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    width: 180px;
    height: 28px;
    line-height: 28px;
    padding: 0 10px;
    outline: none; /* 防止点击时出现浏览器默认的蓝色边框 */
    box-sizing: border-box;
    font-size: 14px;
}

#logincode {
    width: 100px;
}

.loginuser, .loginpwd, .logincode {
    height: 40px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
}

/* 不再使用背景图像 */
.loginuser, .loginpwd, .logincode {
    background: none;
}

/* 确保输入框在获取焦点时不变形 */
#loginuser:focus, #loginpwd:focus, #logincode:focus {
    box-shadow: 0 0 3px #226dc7;
    border-color: #226dc7;
}

/* 调整标签样式 */
.loginuser label, .loginpwd label, .logincode label {
    width: 80px;
    text-align: right;
    margin-right: 10px;
    font-size: 14px;
}

/* 调整验证码区域 */
#showlogincode {
    margin-left: 10px;
    position: relative;
    z-index: 1000; /* 设置高z-index值,确保显示在最顶层 */
}

/* 确保验证码图片也在最顶层 */
#showlogincode img {
    position: relative;
    z-index: 1000;
}

/* 调整登录按钮位置 */
#loginbtn {
    background: url(../images/login_user_submit.gif) 0 0 no-repeat;
    border: none;
    width: 111px;
    height: 122px;
    text-indent: -9999px;
    cursor: pointer;
    position: absolute;
    top: 120px;
    left: 410px; /* 原来是380px,向右移动 */
}
</style>
</head>
<body>
<div id="container">
    <form id="loginform" name="loginform" method="post">
        <div class="loginuser"><label for="loginuser">用户帐号:</label><input type="text" id="loginuser" name="loginuser" maxlength="50" autocomplete="off" placeholder="输入用户帐号" /></div>
        <div class="loginpwd"><label for="loginpwd">用户密码:</label><input type="password" id="loginpwd" name="loginpwd" maxlength="50" autocomplete="off" placeholder="输入用户密码" /></div>
        <div class="logincode"><label for="logincode">验 证 码:</label><input type="text" id="logincode" name="logincode" maxlength="5" autocomplete="off" placeholder="输入验证码"/><span id="showlogincode"></span></div>
        <div><input type="submit" id="loginbtn" name="loginbtn" value="登陆" /></div>
        <div id="formmsg"></div>
    </form>
    <div id="copyright">Copyright © Mietubl All Rights Reserved</div>
</div>
</body>
</html>