<?php
session_start();
include "../db.php";

if (isset($_POST['start'])) {
    $start = mysqli_real_escape_string($con, $_POST['start']);
    $AndWhere = '';

    if (!empty($_POST['FirstFilterValue'])) {
        $AndWhere .= "AND uname='" . mysqli_real_escape_string($con, $_POST['FirstFilterValue']) . "' ";
    }
    if (!empty($_POST['ThirdFilterValue'])) {
        $AndWhere .= "AND referal_code ='" . mysqli_real_escape_string($con, $_POST['ThirdFilterValue']) . "' ";
    }
    if (!empty($_POST['noValue'])) {
        $AndWhere .= "AND ucontact ='" . mysqli_real_escape_string($con, $_POST['noValue']) . "' ";
    }
    if (!empty($_POST['emailValue'])) {
        $AndWhere .= "AND uemail ='" . mysqli_real_escape_string($con, $_POST['emailValue']) . "' ";
    }
    if (!empty($_POST['StateValue'])) {
        $AndWhere .= "AND state='" . mysqli_real_escape_string($con, $_POST['StateValue']) . "' ";
    }
    if (!empty($_POST['DistValue'])) {
        $AndWhere .= "AND dist='" . mysqli_real_escape_string($con, $_POST['DistValue']) . "' ";
    }
    if (!empty($_POST['SecondFilterValue'])) {
        $fran_sql = mysqli_query($con, "SELECT uref_code FROM users WHERE utype = 'Associate' AND uname = '{$_POST['SecondFilterValue']}' ");
        if($fran_row = mysqli_fetch_assoc($fran_sql)){
            $AndWhere .= "AND admin_ref = '{$fran_row['uref_code']}' ";
        }
    }
    if (!empty($_POST['thirdValue'])) {
        $fran_sql = mysqli_query($con, "SELECT uref_code FROM users WHERE utype = 'Sub Associate' AND uname = '{$_POST['thirdValue']}' ");
        if($fran_row = mysqli_fetch_assoc($fran_sql)){
            $AndWhere .= "AND admin_ref = '{$fran_row['uref_code']}' ";
        }
    }
    if (!empty($_POST['courseValue']) && !empty($_POST['batchValue'])) {
        // Fetch all pClient values for the selected course
        $product_sql = mysqli_query($con, "SELECT DISTINCT pClient FROM product WHERE pBatch = '{$_POST['batchValue']}' AND product = '".mysqli_real_escape_string($con, $_POST['courseValue'])."'");

        $clientIds = [];
        while ($row = mysqli_fetch_assoc($product_sql)) {
            $clientIds[] = "'" . mysqli_real_escape_string($con, $row['pClient']) . "'";
        }

        // If clients were found, build the AND condition
        if (!empty($clientIds)) {
            $clientList = implode(',', $clientIds);
            $AndWhere .= " AND uid IN ($clientList)";
        } else {
            // Optional: prevent matching any record if course has no clients
            $AndWhere .= " AND 0"; // This ensures no results
        }
    } elseif (!empty($_POST['courseValue'])) {
        // Fetch all pClient values for the selected course
        $product_sql = mysqli_query($con, "SELECT DISTINCT pClient FROM product WHERE product = '".mysqli_real_escape_string($con, $_POST['courseValue'])."'");

        $clientIds = [];
        while ($row = mysqli_fetch_assoc($product_sql)) {
            $clientIds[] = "'" . mysqli_real_escape_string($con, $row['pClient']) . "'";
        }

        // If clients were found, build the AND condition
        if (!empty($clientIds)) {
            $clientList = implode(',', $clientIds);
            $AndWhere .= " AND uid IN ($clientList)";
        } else {
            // Optional: prevent matching any record if course has no clients
            $AndWhere .= " AND 0"; // This ensures no results
        }
    }

    $sql = "SELECT * FROM users WHERE utype = 'Student' AND udisplay != 'disable' $AndWhere GROUP BY uname ORDER BY uid DESC LIMIT $start, 10";
    $res = mysqli_query($con, $sql);
        if (mysqli_num_rows($res) === 0) {
            header('Content-Type: text/plain');
            echo '__NO_MORE_DATA__';
            exit;
        } else {
        $c = $start + 1;

        while ($rows = mysqli_fetch_assoc($res)) {
            $franName = "";
            $m_sql = "SELECT * FROM users WHERE uref_code = '" . mysqli_real_escape_string($con, $rows['admin_ref']) . "'";
            $m_run = mysqli_query($con, $m_sql);
            $m_rows = mysqli_fetch_assoc($m_run);
            if($m_rows["utype"] == 'Sub Associate'){
                $f_sql = mysqli_query($con, "SELECT * FROM users WHERE uref_code = '$m_rows[admin_ref]' ");
                if($f_row = mysqli_fetch_assoc($f_sql)){
                    $franName = $f_row["uname"];
                    $subFranName = $m_rows["uname"];
                }
            }elseif($m_rows["utype"] == 'Associate'){
                $franName = $m_rows["uname"];
                $subFranName = '';
            }

            $state_sql = mysqli_query($con, "SELECT * FROM state WHERE id = '" . mysqli_real_escape_string($con, $rows['state']) . "'");
            $state_name = mysqli_fetch_assoc($state_sql)["name"] ?? '';

            $dist_sql = mysqli_query($con, "SELECT * FROM dist WHERE id = '" . mysqli_real_escape_string($con, $rows['dist']) . "'");
            $dist_name = mysqli_fetch_assoc($dist_sql)["distName"] ?? '';

?>
<li class='clearfix' style='float: none;' id="client<?php echo $rows["uid"]?>">
    <div class="single-dis-admin mb-2">
        <div class='row align-items-center'>
            <div class='col-md-5 col-12'>
                <a style='color:orange;font-size:17px;cursor:pointer; text-decoration:none;' class='viewDetails'
                    data-toggle='modal' data-target='#studentDetailsModal' data-name='<?php echo $rows["uname"];?>'
                    data-state='<?php echo $state_name;?>' data-dist='<?php echo $dist_name;?>'
                    data-pin='<?php echo $rows["pin"];?>' data-userid='<?php echo $rows["uphone"];?>'
                    data-pass='<?php echo $rows["upass"];?>' data-address='<?php echo $rows["saddress"];?>'
                    data-classs='<?php echo $class_name;?>' data-date='<?php echo $rows["ucreated"];?>'>
                    <i class='fa fa-user' aria-hidden='true'></i> <b><?php echo $rows["uname"];?></b> [
                    <?php echo $rows["referal_code"];?> ]
                </a>
                <br>
                <a href='tel:<?php echo $rows["ucontact"];?>' class='small text-dark text-decoration-none'
                    title='Click here to Call'> <i class='fa fa-phone fa-rotate-90'></i> <?php echo $rows["ucontact"];?>
                </a>
                &nbsp;
                <?php if(!empty($franName)){?>
                <b><i class="fa fa-handshake" aria-hidden="true"></i> </b><?php echo $franName;?>
                <?php } if(!empty($subFranName)){
                    ?>
                ( <b><i class="fa fa-user-tie"></i> </b><?php echo $subFranName;?> )
                <?php }?>
            </div>

            <div class='col-md-7 col-12'>
                <div class="d-flex justify-content-between align-items-center">
                    <?php
                    if($rows["uStatus"] == 1){
                    ?>
                    <a href='view-product.php?client_id=<?php echo $rows["uid"];?>' class='btn btn-success btn-sm'
                        title='Click to Edit'><i class="fa fa-chalkboard"></i> Courses
                    </a>
                    <a href='workbill-student.php?student_id=<?php echo $rows["uid"];?>' class='btn btn-success btn-sm'
                        title='Click to Edit'><i class="fab fa-google-wallet" aria-hidden="true"></i> Work Bill
                    </a>
                    <a href='student-bill.php?client_id=<?php echo $rows["uid"];?>' class='btn btn-success btn-sm'
                        title='Click to Edit'><i class="fas fa-receipt"></i> Student Fees
                    </a>
                    <a href='student-payout.php?client_id=<?php echo $rows["uid"];?>' class='btn btn-success btn-sm'
                        title='Click to Edit'><i class="fa fa-money-bill"></i> Pay Out
                    </a>
                    <?php } ?>
                    <a href='uplodDocuments.php?user=<?php echo $rows["uid"];?>&show_list'
                        class='btn btn-primary btn-sm' title='Click to Edit'>Document
                    </a>
                    <a href='view-client.php?view_id=<?php echo $rows["uid"];?>' class='btn btn-success btn-sm'
                        title='Click to Edit'><i class='fa fa-eye' aria-hidden='true'></i>
                    </a>
                    <a href='view-client.php?edit_id=<?php echo $rows["uid"];?>' class='btn btn-success btn-sm'
                        title='Click to Edit'><i class='fa fa-edit' aria-hidden='true'></i>
                    </a>
                    <!--<a href='view-client.php?del_id=<?php echo $rows["uid"];?>' class='delete btn btn-danger btn-sm'
                        title='Click to Delete'><i class='fa fa-trash' aria-hidden='true'></i>
                    </a>-->
                    <!-- Status Switch Container -->
                    <div class="form-check form-switch status-switch" data-user-id="<?php echo $rows['uid']; ?>">
                        <input class="form-check-input" type="checkbox" role="switch"
                            id="switch_<?php echo $rows['uid']; ?>">
                        <label class="form-check-label" for="switch_<?php echo $rows['uid']; ?>">Loading...</label>
                    </div>

                </div>
            </div>
        </div>
    </div>
</li>


<?php
            $c++;
        }
        // mysqli_close($con);
    }
}
?>

<script>
function initializeStatusSwitches() {
    $('.status-switch').each(function() {
        const container = $(this);
        const userId = container.data('user-id');
        const inputSwitch = container.find('input');
        const label = container.find('label');

        // Fetch current status
        $.post('fetch_status.php', {
            userId
        }, function(response) {
            try {
                const data = JSON.parse(response);
                const status = parseInt(data.uStatus, 10) || 0;

                inputSwitch.prop('checked', status === 1);
                label.text(status === 1 ? 'Active' : 'Inactive');
                inputSwitch.attr('title', 'Click to ' + (status === 1 ? 'Inactive' : 'Active'));
            } catch (e) {
                console.error('Status fetch error:', e);
                label.text('Error');
            }
        });

        // Handle switch change
        inputSwitch.on('change', function() {
            const newStatus = $(this).is(':checked') ? 1 : 0;

            $.post('update_status.php', {
                userId,
                uStatus: newStatus
            }, function(response) {
                try {
                    const res = JSON.parse(response);
                    if (res.status === 'success') {
                        label.text(newStatus === 1 ? 'Active' : 'Inactive');
                        inputSwitch.attr('title', 'Click to ' + (newStatus === 1 ? 'Inactive' :
                            'Active'));
                    } else {
                        alert(res.message || 'Update failed');
                        inputSwitch.prop('checked', !newStatus);
                    }
                } catch (e) {
                    console.error('Update parse error:', e);
                    alert('Error updating status');
                    inputSwitch.prop('checked', !newStatus);
                }
            }).fail(function() {
                alert('Update request failed');
                inputSwitch.prop('checked', !newStatus);
            });
        });
    });
}
</script>


<script>
$(document).ready(function() {
    $('.viewDetails').on('click', function(e) {
        e.preventDefault(); // Prevent default anchor tag action

        var name = $(this).data('name');
        $('#modalName').text(name);

        var state = $(this).data('state');
        $('#modalState').text(state);

        var dist = $(this).data('dist');
        $('#modalDist').text(dist);

        var pin = $(this).data('pin');
        $('#modalPin').text(pin);

        var userid = $(this).data('userid');
        $('#modalId').text(userid);

        var pass = $(this).data('pass');
        $('#modalPass').text(pass);

        var classs = $(this).data('classs');
        $('#modalClasss').text(classs);

        var qualification = $(this).data('qualification');
        $('#modalqualification').text(qualification);

        var address = $(this).data('address');
        $('#modalAddress').text(address);

        var date = $(this).data('date');
        $('#modalDate').text(date);

        $('#studentDetailsModal').modal('show'); // Open the modal
    });

});
</script>